credEnumerateA 函式 (wincred.h)

CredEnumerate 函式會列舉用戶認證集中的認證。 使用的認證集是與目前令牌登入會話相關聯的認證集。 令牌不得停用使用者的 SID。

語法

BOOL CredEnumerateA(
  [in]  LPCSTR       Filter,
  [in]  DWORD        Flags,
  [out] DWORD        *Count,
  [out] PCREDENTIALA **Credential
);

參數

[in] Filter

Null 終止字串的指標,其中包含傳回之認證的篩選。 只會傳回符合篩選條件的 TargetName 認證。 篩選條件會指定名稱前置詞,後面接著星號。 例如,篩選 「FRED*」 會傳回 TargetName 開頭為字串 「FRED」 的所有認證。

如果指定 NULL ,則會傳回所有認證。

[in] Flags

此參數的值可以是下列與位 OR 運算結合的零或多個值。

意義
CRED_ENUMERATE_ALL_CREDENTIALS
0x1
此函式會列舉用戶認證集中的所有認證。 每個認證的目標名稱會以 「namespace:attribute=target」 格式傳回。 如果設定此旗標且 Filter 參數不是 NULL,則函式會失敗並傳回 ERROR_INVALID_FLAGS

Windows Server 2003 和 Windows XP: 不支援此旗標。

[out] Count

在 Credentials 陣列中傳回的認證計數。

[out] Credential

認證指標陣列的指標。 傳回的認證是單一配置的區塊。 緩衝區內包含的任何指標都是這個單一配置區塊中位置的指標。 呼叫 CredFree,必須釋放單一傳回的緩衝區。

傳回值

函式會在成功時傳回 TRUE ,並在失敗時傳回 FALSE 。 您可以呼叫 GetLastError 函式,以取得更具體的狀態代碼。 可以傳回下列狀態代碼。

傳回碼/值 Description
ERROR_NOT_FOUND
1168 (0x490)
沒有符合指定 篩選條件的認證。
ERROR_NO_SUCH_LOGON_SESSION
1312 (0x520)
登入會話不存在,或沒有與此登入會話相關聯的認證集。 網路登錄會話沒有相關聯的認證集。
ERROR_INVALID_FLAGS
1004 (0x3EC)
Flags 參數指定無效的旗標,或為 Flags 參數指定CRED_ENUMERATE_ALL_CREDENTIALS且 Filter 參數不是 NULL

備註

注意

wincred.h 標頭會將 CredEnumerate 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 wincred.h
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

CredFree

GetLastError