【发布时间】:2022-12-13 08:08:48
【问题描述】:
BCRYPT_ALG_HANDLE hAlg = nullptr;
DWORD HashObjectSize = 0;
ULONG CopyByte = NULL;
status = BCryptGetProperty
(
hAlg,
BCRYPT_OBJECT_LENGTH,
(PUCHAR)&HashObjectSize, //unsigned long =?= unsigned char*
sizeof(PUCHAR),
&CopyByte,
NULL
);
这段代码没有错误,但是如果我将 c 样式转换为 static_cast 我得到错误
Invalid conversionDWORD 是无符号长整数
PUCHAR 是一个无符号字符*
为什么我可以用 c 风格的转换来转换这个变量,但不能用
static_cast(PUCHAR)&HashObjectSize
【问题讨论】: