CredEnumerateA function (wincred.h) - Win32 apps By GrantMeStrength Archived: 2026-04-05 21:18:30 UTC The CredEnumerate function enumerates the credentials from the user's credential set. The credential set used is the one associated with the logon session of the current token. The token must not have the user's SID disabled. BOOL CredEnumerateA( [in] LPCSTR Filter, [in] DWORD Flags, [out] DWORD *Count, [out] PCREDENTIALA **Credential ); [in] Filter Pointer to a null-terminated string that contains the filter for the returned credentials. Only credentials with a TargetName matching the filter will be returned. The filter specifies a name prefix followed by an asterisk. For instance, the filter "FRED*" will return all credentials with a TargetName beginning with the string "FRED". If NULL is specified, all credentials will be returned. [in] Flags The value of this parameter can be zero or more of the following values combined with a bitwise-OR operation. Value Meaning CRED_ENUMERATE_ALL_CREDENTIALS 0x1 This function enumerates all of the credentials in the user's credential set. The target name of each credential is returned in the "namespace:attribute=target" format. If this flag is set and the Filter parameter is not NULL, the function fails and returns ERROR_INVALID_FLAGS. Windows Server 2003 and Windows XP:  This flag is not supported. [out] Count Count of the credentials returned in the Credentials array. [out] Credential https://docs.microsoft.com/en-us/windows/win32/api/wincred/nf-wincred-credenumeratea Page 1 of 3 Pointer to an array of pointers to credentials. The returned credential is a single allocated block. Any pointers contained within the buffer are pointers to locations within this single allocated block. The single returned buffer must be freed by calling CredFree. The function returns TRUE on success and FALSE on failure. The GetLastError function can be called to get a more specific status code. The following status codes can be returned. Return code/value Description ERROR_NOT_FOUND 1168 (0x490) No credential exists matching the specified Filter. ERROR_NO_SUCH_LOGON_SESSION 1312 (0x520) The logon session does not exist or there is no credential set associated with this logon session. Network logon sessions do not have an associated credential set. ERROR_INVALID_FLAGS 1004 (0x3EC) A flag that is not valid was specified for the Flags parameter, or CRED_ENUMERATE_ALL_CREDENTIALS is specified for the Flags parameter and the Filter parameter is not NULL. Note The wincred.h header defines CredEnumerate as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes. Requirement Value Minimum supported client Windows XP [desktop apps only] Minimum supported server Windows Server 2003 [desktop apps only] Target Platform Windows Header wincred.h Library Advapi32.lib DLL Advapi32.dll CredFree GetLastError https://docs.microsoft.com/en-us/windows/win32/api/wincred/nf-wincred-credenumeratea Page 2 of 3 Source: https://docs.microsoft.com/en-us/windows/win32/api/wincred/nf-wincred-credenumeratea https://docs.microsoft.com/en-us/windows/win32/api/wincred/nf-wincred-credenumeratea Page 3 of 3