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 參數的類型和內容。 您可以使用任何憑證屬性識別碼。
[in] dwFlags
您可以使用下列旗標。 它們可以與位 OR 運算結合。
[in] pwszComputerName
要搜尋之遠端電腦名稱的指標。 如果已設定CRYPT_KEYID_MACHINE_FLAG旗標,請搜尋遠端計算機中的金鑰標識碼清單。 如果要搜尋本機計算機,而不是遠端計算機,請將 pwszComputerName 設定為 NULL。
[in] pvReserved
保留供日後使用,且必須是 NULL。
[out] pvData
緩衝區的指標,用來接收 由 dwPropId 決定的數據。 pvData 結構中的欄位所指向的專案遵循 結構。 因此, 包含在 azureData 中的大小可能會超過 結構的大小。
如果 dwPropId 是 CERT_KEY_PROV_INFO_PROP_ID,pvData 會指向包含密鑰標識碼屬性的CRYPT_KEY_PROV_INFO結構。
如果未CERT_KEY_PROV_INFO_PROP_ID dwPropId,pvData 會指向包含索引鍵標識碼屬性的位元組陣列。
若要取得此資訊的大小以供記憶體配置之用,當未設定CRYPT_KEYID_ALLOC_FLAG時,此參數可以是 NULL 。 如需詳細資訊,請參閱 擷取未知長度的數據。
設定CRYPT_KEYID_ALLOC_FLAG時, pvData 是即將更新之緩衝區的指標位址。 因為記憶體已配置,而且其指標會儲存在 *pvData, 所以 pvData 不得為 NULL。
[in, out] pcbData
DWORD 的指標,其中包含 pvData 參數所指向之緩衝區的大小,以位元組為單位。 當函式傳回時, DWORD 會包含儲存在緩衝區中的位元元組數目。 由CRYPT_KEY_PROV_INFO結構所指向之變數中包含的大小可以指出大於CRYPT_KEY_PROV_INFO結構的大小,因為結構可以包含輔助數據的指標。 此大小是結構和所有輔助數據所需的大小總和。
設定CRYPT_KEYID_ALLOC_FLAG時, CRYPT_KEYID_ALLOC_FLAG會 更新的 DWORD 指標是其位址。
傳回值
如果函式成功,函式會傳回非零 (TRUE) 。
如果函式失敗,它會傳回零 (FALSE) 。 如需擴充錯誤資訊,請呼叫 GetLastError。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |
程式庫 | Crypt32.lib |
Dll | Crypt32.dll |