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

このパラメーターには、次の値を指定できます。

説明
CRYPT_GET_INSTALLED_OID_FUNC_FLAG
インストールされている関数の一覧のみを検索します。

[out] ppvFuncAddr

関数アドレスへのポインターへのポインター。 一致が見つかった場合、 ppvFuncAddr は関数アドレスを指します。

[out] phFuncAddr

一致が見つかった場合、 phFuncAddr は関数ハンドルを指します。 ハンドルの 参照カウント がインクリメントされます。 ハンドルの使用が完了したら、 CryptFreeOIDFunctionAddress 関数を呼び出してハンドルを解放します。

メモ 既定では、登録済み関数リストとインストール済み関数リストの両方が検索されます。 インストールされている関数の一覧のみを検索するには、CRYPT_GET_INSTALLED_OID_FUNC_FLAGを設定します。 このフラグは、置き換えたプレインストールされた関数のアドレスを取得するために、登録済み関数によって設定されます。 たとえば、登録済み関数は新しい特殊なケースを処理し、プレインストールされた関数を呼び出して残りのケースを処理する場合があります。
 

戻り値

関数が成功し、一致が見つかった場合、関数は 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

関連項目

OID サポート関数