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 設定為零,此函式會呼叫具有所有屬性的回調函式。
如果 dwPropId 不是零,而且 pKeyIdentifier 為 NULL,則只會針對具有指定屬性的密鑰標識元呼叫回呼函式, (將 pfnEnum 的 cProp 參數設定為一個) 。 會略過所有沒有 屬性的金鑰標識碼。
您可以使用任何憑證屬性識別碼。
[in] dwFlags
根據預設,會搜尋 CurrentUser 的金鑰標識碼清單。 如果已設定CRYPT_KEYID_MACHINE_FLAG,如果 pwszComputerName 為 NULL) 或 (搜尋 pwszComputerName 不是 NULL) ,則 LocalMachine (的密鑰標識符清單。 如需詳細資訊,請參閱 pwszComputerName。
[in, optional] pwszComputerName
要搜尋之遠端電腦名稱的指標。 如果在 dwFlags 中設定CRYPT_KEYID_MACHINE_FLAG,遠端電腦就會搜尋密鑰標識碼清單。 如果要搜尋本機計算機,而不是遠端計算機, pwszComputerName 會設定為 NULL。
[in] pvReserved
保留供日後使用,且必須為 NULL。
[in, optional] pvArg
要傳遞至回調函式之數據的指標。 此類型是一個 void,可讓應用程式宣告、定義和初始化結構或自變數,以保存任何資訊。
[in] pfnEnum
應用程式定義回呼函式的指標,針對符合輸入參數的每個索引鍵標識碼項目執行。 如需回呼函式參數的詳細資訊,請參閱 CRYPT_ENUM_KEYID_PROP。
傳回值
CryptEnumKeyIdentifierProperties 函式會重複呼叫CRYPT_ENUM_KEYID_PROP回呼函式,直到列舉最後一個密鑰標識碼或回呼函式傳回 FALSE 為止。
如果main函式成功,函式會傳回非零 (TRUE) 。
如果函式失敗,它會傳回零 (FALSE) 。 如需擴充的錯誤資訊,請呼叫 GetLastError。
若要繼續列舉,函式會傳回 TRUE。
若要停止列舉,函式會傳回 FALSE ,並設定最後一個錯誤碼。
備註
密鑰標識碼可以有與 憑證內容相同的屬性。
範例
如需使用此函式的範例,請參閱 範例 C 程式:使用密鑰標識碼。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |
程式庫 | Crypt32.lib |
Dll | Crypt32.dll |