CryptGetKeyIdentifierProperty 関数 (wincrypt.h)
構文
BOOL CryptGetKeyIdentifierProperty(
[in] const CRYPT_HASH_BLOB *pKeyIdentifier,
[in] DWORD dwPropId,
[in] DWORD dwFlags,
[in] LPCWSTR pwszComputerName,
[in] void *pvReserved,
[out] void *pvData,
[in, out] DWORD *pcbData
);
パラメーター
[in] pKeyIdentifier
キー識別子を含む CRYPT_HASH_BLOB へのポインター。
[in] dwPropId
取得するプロパティを識別します。 dwPropId の値によって、pvData パラメーターの種類と内容が決まります。 任意の証明書プロパティ ID を使用できます。
[in] dwFlags
次のフラグを使用できます。 これらは、ビットごとの OR 演算と組み合わせることができます。
[in] pwszComputerName
検索するリモート コンピューターの名前へのポインター。 CRYPT_KEYID_MACHINE_FLAG フラグが設定されている場合は、リモート コンピューターでキー識別子の一覧を検索します。 ローカル コンピューターがリモート コンピューターではなく検索される場合は、 pwszComputerName を NULL に設定 します。
[in] pvReserved
将来使用するために予約されており、 NULL である必要があります。
[out] pvData
dwPropId によって決定されたデータを受け取るバッファーへのポインター。 pvData 構造体内のフィールドが指す要素は、 構造体に従います。 したがって、 pcbData に含まれるサイズが構造体のサイズを超える可能性があります。
dwPropId がCERT_KEY_PROV_INFO_PROP_ID場合、pvData はキー識別子の プロパティを含むCRYPT_KEY_PROV_INFO構造体を指します。
dwPropId がCERT_KEY_PROV_INFO_PROP_IDされていない場合、pvData はキー識別子の プロパティを含むバイト配列を指します。
メモリ割り当てのためにこの情報のサイズを取得するには、CRYPT_KEYID_ALLOC_FLAGが設定されていない場合、このパラメーターを NULL にすることができます 。 詳細については、「 不明な長さのデータの取得」を参照してください。
CRYPT_KEYID_ALLOC_FLAGが設定されている場合、 pvData は更新されるバッファーへのポインターのアドレスです。 メモリが割り当てられ、そのポインターが *pvData に格納されるため、 pvData を NULL にすることはできません。
[in, out] pcbData
pvData パラメーターによって指されるバッファーのサイズ (バイト単位) を含む DWORD へのポインター。 関数が戻ると、 DWORD にはバッファーに格納されているバイト数が含まれます。 pcbData が指す変数に含まれるサイズは、構造体に補助データへのポインターを含めることができるため、CRYPT_KEY_PROV_INFO構造体よりも大きいサイズを示す可能性があります。 このサイズは、構造体とすべての補助データで必要なサイズの合計です。
CRYPT_KEYID_ALLOC_FLAGが設定されている場合、 pcbData は更新される DWORD へのポインターのアドレスです。
戻り値
関数が成功した場合、関数は 0 以外 (TRUE) を返します。
関数が失敗した場合は、0 (FALSE) を返します。 拡張エラー情報については、 GetLastError を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |