PFN_CERT_DLL_OPEN_STORE_PROV_FUNC
コールバックシグネチャ
BOOL PFN_CERT_DLL_OPEN_STORE_PROV_FUNC(
LPSTR lpszStoreProvider,
CERT_QUERY_ENCODING_TYPE dwEncodingType,
HCRYPTPROV_LEGACY hCryptProv,
CERT_OPEN_STORE_FLAGS dwFlags,
void* pvPara,
HCERTSTORE hCertStore,
CERT_STORE_PROV_INFO* pStoreProvInfo
);パラメーター
| フィールド | 型 | 説明 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| lpszStoreProvider | LPSTR | ストアプロバイダーの種類を格納した、null で終わる ANSI 文字列へのポインターです。 次の値は、定義済みのストアの種類を表します。ストアプロバイダーの種類によって、pvPara パラメーターの内容と、dwFlags パラメーターの上位ワードの用途および意味が決まります。追加のストアプロバイダーは、 CryptInstallOIDFunctionAddress 関数または CryptRegisterOIDFunction 関数を使用してインストールまたは登録できます。ストアプロバイダーの追加について詳しくは、 Extending CertOpenStore Functionality を参照してください。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
| dwEncodingType | CERT_QUERY_ENCODING_TYPE | 証明書エンコード種類とメッセージエンコード種類を指定します。エンコードが使用されるのは、CertSaveStore 関数の dwSaveAs パラメーターに CERT_STORE_SAVE_AS_PKCS7 が含まれる場合のみです。それ以外の場合、dwEncodingType パラメーターは使用されません。 このパラメーターが適用されるのは、lpszStoreProvider パラメーターに CERT_STORE_PROV_MSG、CERT_STORE_PROV_PKCS7、または CERT_STORE_PROV_FILENAME のプロバイダー種類が指定されている場合のみです。その他のプロバイダー種類では、このパラメーターは使用されないため、0 を設定してください。 このパラメーターには、次の値の 1 つ以上を組み合わせて指定できます。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
| hCryptProv | HCRYPTPROV_LEGACY | 暗号化プロバイダーへのハンドルです。このパラメーターには NULL を指定できます。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| dwFlags | CERT_OPEN_STORE_FLAGS | これらの値は、上位ワードと下位ワードの値をビット単位の OR 演算で組み合わせたものです。 dwFlags の下位ワード部分は、開かれる証明書ストアのさまざまな一般的特性を制御します。この部分はすべてのストアプロバイダー種類で使用できます。dwFlags の下位ワード部分には、次のいずれかの値を指定できます。
CERT_STORE_PROV_SYSTEM、CERT_STORE_PROV_SYSTEM_REGISTRY、CERT_STORE_PROV_PHYSICAL の各プロバイダー種類では、システムストアのレジストリ上の場所を指定するために、dwFlags の上位ワードとして次の値を使用します。 CERT_SYSTEM_STORE_CURRENT_SERVICECERT_SYSTEM_STORE_CURRENT_USERCERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICYCERT_SYSTEM_STORE_LOCAL_MACHINECERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISECERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICYCERT_SYSTEM_STORE_SERVICESCERT_SYSTEM_STORE_USERS既定では、システムストアの場所は、定義済みレジストリキー HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、または HKEY_USERS を基準として開かれます。詳しくは、 System Store Locations を参照してください。 次の上位ワードのフラグは、この既定の動作を上書きします。
CERT_STORE_PROV_REGISTRY プロバイダーは、次の上位ワードのフラグを使用します。
CERT_STORE_PROV_FILE および CERT_STORE_PROV_FILENAME のプロバイダー種類は、次の上位ワードのフラグを使用します。
CERT_STORE_PROV_LDAP プロバイダー種類は、次の上位ワードのフラグを使用します。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
| pvPara | void* | この関数に追加情報を渡すことができる 32 ビット値です。このパラメーターの内容は、lpszStoreProvider の値やその他のパラメーターによって異なります。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| hCertStore | HCERTSTORE | 開かれたメモリ内のストアのハンドルであり、 CertAddSerializedElementToStore など、ストアに関連する他の API の呼び出しに使用できます。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| pStoreProvInfo | CERT_STORE_PROV_INFO* | 更新対象の CERT_STORE_PROV_INFO 構造体へのポインターです。このデータ構造は呼び出し前にゼロで初期化され、cbSize が設定されています。 CERT_STORE_PROV_INFO 構造体の cStoreProvFunc メンバーは、実装されているコールバック関数の数であり、最後に設定する必要があります。cStoreProvFunc が設定された後は、 CertAddEncodedCertificateToStore などの以降のストア呼び出しにおいて、対応するプロバイダーのコールバック関数が呼び出されます。 |
公式ドキュメント
CertDllOpenStoreProv 関数はストアプロバイダーによって実装され、ストアを開くために使用されます。この関数は CertOpenStore 関数によって呼び出されます。
戻り値
成功した場合は TRUE、それ以外の場合は FALSE。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)