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 |
程式庫 | Crypt32.lib |
Dll | Crypt32.dll |