CryptEnumKeyIdentifierProperties 関数 (wincrypt.h)

大事な この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。
 
CryptEnumKeyIdentifierProperties 関数は、キー識別子とそのプロパティを列挙します。 この関数はループ内では呼び出されません。 代わりに、最後のキー識別子プロパティが列挙されるか、コールバック関数が FALSE を返すまで内部的にループします。 dwPropId が 0 の場合、またはキー識別子のプロパティが dwPropId と一致する場合は、コールバック関数が呼び出されます。

構文

BOOL CryptEnumKeyIdentifierProperties(
  [in, optional] const CRYPT_HASH_BLOB     *pKeyIdentifier,
  [in]           DWORD                     dwPropId,
  [in]           DWORD                     dwFlags,
  [in, optional] LPCWSTR                   pwszComputerName,
  [in]           void                      *pvReserved,
  [in, optional] void                      *pvArg,
  [in]           PFN_CRYPT_ENUM_KEYID_PROP pfnEnum
);

パラメーター

[in, optional] pKeyIdentifier

キー識別子を含む CRYPT_HASH_BLOB 構造体へのポインター。

pKeyIdentifierNULL の場合、関数はすべてのキー識別子を列挙します。

pKeyIdentifierNULL でない場合、コールバック関数 pfnEnum は指定されたキー識別子に対してのみ呼び出されます。

[in] dwPropId

一覧表示するプロパティ識別子を示します。

dwPropId が 0 に設定されている場合、この関数はすべてのプロパティを使用してコールバック関数を呼び出します。

dwPropId が 0 ではなく、pKeyIdentifierNULL の場合、コールバック関数は、指定されたプロパティを持つキー識別子に対してのみ呼び出されます (pfnEnumcProp パラメーターを 1 に設定します)。 プロパティを持たないすべてのキー識別子はスキップされます。

任意の証明書プロパティ識別子を使用できます。

[in] dwFlags

既定では、CurrentUser のキー識別子の一覧が検索されます。 CRYPT_KEYID_MACHINE_FLAGが設定されている場合は、LocalMachine ( pwszComputerNameNULL の場合) またはリモート コンピューター ( pwszComputerNameNULL でない場合) のキー識別子の一覧が検索されます。 詳細については、「 pwszComputerName」を参照してください。

[in, optional] pwszComputerName

検索するリモート コンピューターの名前へのポインター。 CRYPT_KEYID_MACHINE_FLAGが dwFlags で設定されている場合、リモート コンピューターはキー識別子の一覧を検索します。 ローカル コンピューターがリモート コンピューターではなく検索される場合、 pwszComputerNameNULL に設定されます。

[in] pvReserved

将来使用するために予約されており、 NULL である必要があります。

[in, optional] pvArg

コールバック関数に渡されるデータへのポインター。 型は void で、アプリケーションが構造体または引数を宣言、定義、初期化して情報を保持できるようにします。

[in] pfnEnum

入力パラメーターに一致するキー識別子エントリごとに実行される、アプリケーション定義のコールバック関数へのポインター。 コールバック関数のパラメーターの詳細については、「 CRYPT_ENUM_KEYID_PROP」を参照してください。

戻り値

CryptEnumKeyIdentifierProperties 関数は、最後のキー識別子が列挙されるか、コールバック関数が FALSE を返すまで、CRYPT_ENUM_KEYID_PROPコールバック関数を繰り返し呼び出します。

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

関数が失敗した場合は、0 (FALSE) を返します。 拡張エラー情報については、 GetLastError を呼び出します。

列挙を続行するために、関数は TRUE を返します。

列挙を停止するために、関数は FALSE を 返し、最後のエラー コードを設定します。

解説

キー識別子は、 証明書コンテキストと同じプロパティを持つことができます。

この関数を使用する例については、「 サンプル C プログラム: キー識別子の操作」を参照してください。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー wincrypt.h
Library Crypt32.lib
[DLL] Crypt32.dll

関連項目

基本暗号化関数

CryptGetKeyIdentifierProperty

CryptSetKeyIdentifierProperty