CryptEnumKeyIdentifierProperties 関数 (wincrypt.h)
構文
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 構造体へのポインター。
pKeyIdentifier が NULL の場合、関数はすべてのキー識別子を列挙します。
pKeyIdentifier が NULL でない場合、コールバック関数 pfnEnum は指定されたキー識別子に対してのみ呼び出されます。
[in] dwPropId
一覧表示するプロパティ識別子を示します。
dwPropId が 0 に設定されている場合、この関数はすべてのプロパティを使用してコールバック関数を呼び出します。
dwPropId が 0 ではなく、pKeyIdentifier が NULL の場合、コールバック関数は、指定されたプロパティを持つキー識別子に対してのみ呼び出されます (pfnEnum の cProp パラメーターを 1 に設定します)。 プロパティを持たないすべてのキー識別子はスキップされます。
任意の証明書プロパティ識別子を使用できます。
[in] dwFlags
既定では、CurrentUser のキー識別子の一覧が検索されます。 CRYPT_KEYID_MACHINE_FLAGが設定されている場合は、LocalMachine ( pwszComputerName が NULL の場合) またはリモート コンピューター ( pwszComputerName が NULL でない場合) のキー識別子の一覧が検索されます。 詳細については、「 pwszComputerName」を参照してください。
[in, optional] pwszComputerName
検索するリモート コンピューターの名前へのポインター。 CRYPT_KEYID_MACHINE_FLAGが dwFlags で設定されている場合、リモート コンピューターはキー識別子の一覧を検索します。 ローカル コンピューターがリモート コンピューターではなく検索される場合、 pwszComputerName は NULL に設定されます。
[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 |