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
エンコード型を使用しない関数の場合は、このパラメーターを 0 に設定します。
[in] pszOID
OID の上位ワードが 0 以外の場合、 pszOID は"2.5.29.1" などの OID 文字列または "file" などの ASCII 文字列へのポインターです。 OID の上位ワードが 0 の場合、下位ワードはオブジェクト識別子として使用される数値識別子を指定します。 この結果の OID は、同じ OID にインストールまたは登録された関数にマップされます。
[in] dwFlags
このパラメーターには、次の値を指定できます。
値 | 説明 |
---|---|
|
インストールされている関数の一覧のみを検索します。 |
[out] ppvFuncAddr
関数アドレスへのポインターへのポインター。 一致が見つかった場合、 ppvFuncAddr は関数アドレスを指します。
[out] phFuncAddr
一致が見つかった場合、 phFuncAddr は関数ハンドルを指します。 ハンドルの 参照カウント がインクリメントされます。 ハンドルの使用が完了したら、 CryptFreeOIDFunctionAddress 関数を呼び出してハンドルを解放します。
戻り値
関数が成功し、一致が見つかった場合、関数は 0 以外 (TRUE) を返します。
関数が失敗した場合、または一致するものが見つからない場合は、0 (FALSE) を返します。 拡張エラー情報については、 GetLastError を呼び出します。
解説
pszOID 引数を CMSG_DEFAULT_INSTALLABLE_FUNC_OID に設定して CryptGetOIDFunctionAddress を呼び出して、次のコールバック関数の既定のインストール可能関数を取得できます。
既定の関数を取得するには、 dwEncodingType を次のエンコード型のビットごとの OR の組み合わせに設定します。
CRYPT_ASN_ENCODINGX509_ASN_ENCODING
要件
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |