[New - Windows NT]
[New - Windows 95, OEM Service Release 2]
CryptSetProvParam功能允许应用程序自定义CSP的操作。
BOOL CRYPTFUNC CryptSetProvParam(
HCRYPTPROV【pbBuffer】, | |
DWORD【dwParam】, | |
BYTE *【pbData】, | |
DWORD【dwFlags中】 | |
); |
参数
【pbBuffer】
[in] CSP的句柄,用于设置参数。
【dwParam】
[in]要设置的参数号。
当此参数设置为PP_CLIENT_HWND时,【pbData】缓冲区应包含一个DWORD值,指定供应商直接与用户交互时使用的窗口句柄。设置此参数时,应用程序应调用【之前】调用CryptAcquireContext功能【之前】.这是必要的,因为许多CSP将在CryptAcquireContext功能期间显示用户界面。请注意,没有显示用户界面的CSP将忽略此参数的值。
【pbData】
[in]参数数据缓冲区。在调用CryptSetProvParam之前将参数数据放在此缓冲区中。此数据的形式将根据参数编号而有所不同。
【dwFlags中】
[in]标志值。此参数保留供将来使用,并且应始终为零。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要检索扩展错误信息,请使用GetLastError功能。
下表列出了GetLastError功能最常返回的错误代码。由“NTE”开头的错误代码由您使用的特定CSP生成。
错误 | 描述 |
ERROR_INVALID_HANDLE | 其中一个参数指定一个无效句柄。 |
ERROR_BUSY | CSP上下文正在被另一个进程使用。 |
ERROR_INVALID_PARAMETER | 其中一个参数包含无效值。这通常是一个非法的指针。 |
NTE_BAD_FLAGS | 【dwFlags中】参数为非零值,或【pbData】缓冲区包含无效值。 |
NTE_BAD_TYPE | 【dwParam】参数指定一个未知参数。 |
NTE_BAD_UID | 创建【的hKeyru-Latn】密钥时指定的CSP上下文无法找到。 |
NTE_FAIL | 该函数以某种意想不到的方式失败。 |
也可以看看