CryptGetOIDFunctionAddress 函式 (wincrypt.h)
CryptGetOIDFunctionAddress函式會搜尋已註冊和已安裝函式的清單,以取得編碼類型和物件識別碼, (OID) 相符專案。 如果找到相符專案,則包含函式的 DLL 會視需要載入。 如果找到相符專案,也會傳回函式位址的指標和函式控制碼的指標。 函式控制碼上的 參考計數 會遞增。
語法
BOOL CryptGetOIDFunctionAddress(
[in] HCRYPTOIDFUNCSET hFuncSet,
[in] DWORD dwEncodingType,
[in] LPCSTR pszOID,
[in] DWORD dwFlags,
[out] void **ppvFuncAddr,
[out] HCRYPTOIDFUNCADDR *phFuncAddr
);
參數
[in] hFuncSet
先前從 CryptInitOIDFunctionSet 函式呼叫取得的函式集控制碼。
[in] dwEncodingType
指定要比對的編碼類型。 目前只會使用X509_ASN_ENCODING和PKCS_7_ASN_ENCODING;不過,未來可以新增其他編碼類型。 若要符合目前的編碼類型,請使用:
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING
對於不使用編碼類型的函式,請將此參數設定為零。
[in] pszOID
如果 OID 的高序字不是零, pszOID 是 OID 字串的指標,例如 「2.5.29.1」 或 ASCII 字串,例如 「file」。 如果 OID 的高序字是零,低序字會指定要當做物件識別碼使用的數值識別碼。 這會導致 OID 對應至已安裝或註冊至相同 OID 的函式。
[in] dwFlags
此參數可以是下列值。
值 | 意義 |
---|---|
|
只搜尋已安裝的函式清單。 |
[out] ppvFuncAddr
函式位址指標的指標。 如果找到相符專案, ppvFuncAddr 會指向函式位址。
[out] phFuncAddr
如果找到相符專案, phFuncAddr 會指向函式控制碼。 控制碼的 參考計數 會遞增。 當您完成使用控制碼時,請呼叫 CryptFreeOIDFunctionAddress 函式來釋放控制碼。
傳回值
如果函式成功且找到相符專案,則函式會傳回非零 (TRUE) 。
如果函式失敗或找不到相符專案,它會傳回零 (FALSE) 。 如需擴充錯誤資訊,請呼叫 GetLastError。
備註
您可以呼叫 CryptGetOIDFunctionAddress ,並將 pszOID 引數設定為 CMSG_DEFAULT_INSTALLABLE_FUNC_OID ,以取得下列回呼函式的預設可安裝函式。
若要擷取預設函式,請將 dwEncodingType 設定為下列編碼類型的位 OR 組合。
CRYPT_ASN_ENCODINGX509_ASN_ENCODING
規格需求
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |
程式庫 | Crypt32.lib |
Dll | Crypt32.dll |