CryptGetDefaultOIDFunctionAddress 函数 (wincrypt.h)
CryptGetDefaultOIDFunctionAddress 函数加载包含默认函数地址的 DLL。 它还可以在初始化的函数集中返回第一个或下一个安装的默认 对象标识符 (OID) 函数的地址,并加载包含该函数地址的 DLL。
语法
BOOL CryptGetDefaultOIDFunctionAddress(
[in] HCRYPTOIDFUNCSET hFuncSet,
[in] DWORD dwEncodingType,
[in, optional] LPCWSTR pwszDll,
[in] DWORD dwFlags,
[out] void **ppvFuncAddr,
[in, out] HCRYPTOIDFUNCADDR *phFuncAddr
);
参数
[in] hFuncSet
以前从调用 CryptInitOIDFunctionSet 获取的函数集句柄。
[in] dwEncodingType
要匹配的编码类型。 目前,仅使用X509_ASN_ENCODING和PKCS_7_ASN_ENCODING;但是,将来可能会添加其他编码类型。 若要匹配当前两种编码类型,请使用:
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING
[in, optional] pwszDll
要加载的 DLL 的名称。 通常,DLL 名称是从 CryptGetDefaultOIDDllList 返回的列表中获取的。 如果 pwszDll 为 NULL,则对已安装的默认函数列表执行搜索。
[in] dwFlags
保留以供将来使用,必须为零。
[out] ppvFuncAddr
指向返回函数地址的指针。 如果函数失败,则会在 ppvFuncAddr 中返回 NULL。
[in, out] phFuncAddr
仅当 pwszDll 为 NULL 时使用。 首次调用函数时,*phFuncAddr 必须为 NULL 才能获取第一个已安装的函数。
如果此函数成功,则 *phFuncAddr 设置为函数句柄。 函数句柄的 引用计数 递增。
首次调用函数后, phFuncAddr 设置为上一次调用返回的指针。 此输入指针始终通过此函数调用 CryptFreeOIDFunctionAddress 在函数中释放。 即使main函数返回错误,也始终调用释放指针。
非 NULLphFuncAddr 必须通过调用 CryptFreeOIDFunctionAddress 或作为输入传回此函数或作为 CryptGetOIDFunctionAddress 的输入来释放。
如果 pwszDll 不为 NULL,则忽略此参数的值,并且不会释放非 NULL 指针。
返回值
如果函数成功,则函数) 返回非零 (TRUE 。
如果函数失败,它将返回零 (FALSE) 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | wincrypt.h |
Library | Crypt32.lib |
DLL | Crypt32.dll |