次の方法で共有


PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE コールバック関数 (wincrypt.h)

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE関数は、プロバイダーを初期化します。 この関数は、カスタム プロバイダーの一部として実装する必要があります。

構文

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE PfnCryptObjectLocatorProviderInitialize;

BOOL PfnCryptObjectLocatorProviderInitialize(
  [in]  PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH pfnFlush,
  [in]  LPVOID pContext,
  [out] DWORD *pdwExpectedObjectCount,
  [out] PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE *ppFuncTable,
  [out] void **ppPluginContext
)
{...}

パラメーター

[in] pfnFlush

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH関数の実装へのポインター。

[in] pContext

プロバイダーと オブジェクトに関する情報を含むプロバイダー定義オブジェクトへのポインター。

[out] pdwExpectedObjectCount

プロバイダーが検索する一意のオブジェクトの数を指定します。 この値は、オブジェクトを格納するために割り当てるメモリの量を呼び出し元に指示します。 既定値の 10,000 オブジェクトを指定するには、この値を 0 に設定します。

[out] ppFuncTable

プロバイダーによって実装される関数へのポインターを含むCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE構造体。 テーブル内のポインターを NULL にすることはできません。 呼び出し元はこの構造体を解放しません。 プロバイダーは、ヒープに割り当てられないテーブルを返す必要があります。

[out] ppPluginContext

このプロバイダーによって定義された省略可能なバッファーへのポインター。 バッファーは呼び出し元によって変更されません。 プロバイダーは、データを使用して、実行するアクションを決定したり、追加情報を維持したりするのに役立ちます。 この値は NULL に設定できます。

戻り値

関数が成功した場合は、0 以外 (TRUE) を返します。

関数が失敗した場合は、0 (FALSE) を返し、 SetLastError 関数で適切なエラーを指定します。 ほとんどのエラーは変更されずに Schannel 経由で渡されますが、この動作は保証されません。 一部のエラーは、他のエラーにマップされる場合があります。

注釈

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE関数は現在、Secure Channel (Schannel) セキュリティ サービス プロバイダー (SSP) によってのみ呼び出されています。 Cryptography API (CAPI) は、Windows 8 以降で AcquireCredentialsHandle 関数の pszPrincipal パラメーターにセキュリティ プリンシパルの名前を指定した場合に、カスタム プロバイダーを内部的に呼び出します。

この関数を実装するときは、 CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE 関数テーブルに、プロバイダーによって実装される次の関数へのポインターを入力することを忘れないでください。

プロバイダーを Windows レジストリに登録するには、 CryptRegisterDefaultOIDFunction を呼び出す必要があります。

要件

要件
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wincrypt.h

こちらもご覧ください

CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE

PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH