我目前正在尝试拨打this函数调用。这是宣言:
const void* WINAPI CertCreateContext(
__in DWORD dwContextType,
__in DWORD dwEncodingType,
__in const BYTE *pbEncoded,
__in DWORD cbEncoded,
__in DWORD dwFlags,
__in_opt PCERT_CREATE_CONTEXT_PARA pCreatePara
);
如您所见,第三个输入参数调用const BYTE *,它表示您尝试创建的编码证书。如何在c ++中定义这样的变量?
答案 0 :(得分:8)
你不需要。函数参数是指向const BYTE的指针,这意味着该函数不会更改它指向的字节。一个简单的例子:
void f( const BYTE * p ) {
// stuff
}
BYTE b = 42;
BYTE a[] = { 1, 2, 3 };
f( & b );
f( a );
您当然需要#include声明BYTE类型的标头。
答案 1 :(得分:0)
您只需声明一个BYTE*
,编译器会自动将非const
转换为const
。
答案 2 :(得分:0)
pbEncoded是指向包含要复制的现有编码上下文内容的缓冲区的指针。
答案 3 :(得分:0)
传递给BYTE的常规指针。 const
表示在函数内部不会修改指向对象。