Передача двоичного указателя на функцию в windows C
Я пытаюсь инкапсулировать CryptStringToBinary в свою собственную функцию, но мне не удается вернуть указатель.
В Ткод под указателем lpDecoded равен нулю.
Что я уже пробовал:
DWORD Base64Decode(LPCSTR pszEncoded, LPBYTE lpDecode64) { DWORD dwBufLen = 0; // determine size of the encoded buffer CryptStringToBinary(pszEncoded, 0, CRYPT_STRING_BASE64, NULL, &dwBufLen, NULL, NULL); // allocate decoded buffer lpDecode64 = (LPBYTE)malloc(dwBufLen); memset(lpDecode64, 0x00, dwBufLen); // decode the Base64 string CryptStringToBinary(pszEncoded, 0, CRYPT_STRING_BASE64, lpDecode64, &dwBufLen, NULL, NULL); return dwBufLen; } CHAR *lpString64 = 0; LPBYTE lpDecoded = 0; DWORD dwDecodeLen = 0; // decode the Base64 string dwDecodeLen = Base64Decode(lpString64, lpDecoded);