Headers diff for credui.dll between 6.0.6002.18005-Windows 6.0 and 6.1.7601.18276-Windows 7.0 versions



 wincred.h (6.0.6002.18005-Windows 6.0)   wincred.h (6.1.7601.18276-Windows 7.0) 
//depot/vbl_srv_wcsmain/ds/published/inc/wincred.w#4 - integrate change 66730 (t ext)
/*++ BUILD Version: 0001 // Increment this if a change has global effects /*++ BUILD Version: 0001 // Increment this if a change has global effects
Copyright (c) 2000 Microsoft Corporation Copyright (c) 2000 Microsoft Corporation
Module Name: Module Name:
wincred.h wincred.h
Abstract: Abstract:
skipping to change at line 146 skipping to change at line 145
(_Status) == HRESULT_FROM_NT( STATUS_LOGON_FAILURE ) || \ (_Status) == HRESULT_FROM_NT( STATUS_LOGON_FAILURE ) || \
(_Status) == ERROR_ACCESS_DENIED || \ (_Status) == ERROR_ACCESS_DENIED || \
(_Status) == __HRESULT_FROM_WIN32( ERROR_ACCESS_DENIED ) || \ (_Status) == __HRESULT_FROM_WIN32( ERROR_ACCESS_DENIED ) || \
(_Status) == STATUS_ACCESS_DENIED || \ (_Status) == STATUS_ACCESS_DENIED || \
(_Status) == HRESULT_FROM_NT( STATUS_ACCESS_DENIED ) || \ (_Status) == HRESULT_FROM_NT( STATUS_ACCESS_DENIED ) || \
(_Status) == ERROR_INVALID_PASSWORD || \ (_Status) == ERROR_INVALID_PASSWORD || \
(_Status) == __HRESULT_FROM_WIN32( ERROR_INVALID_PASSWORD ) || \ (_Status) == __HRESULT_FROM_WIN32( ERROR_INVALID_PASSWORD ) || \
(_Status) == STATUS_WRONG_PASSWORD || \ (_Status) == STATUS_WRONG_PASSWORD || \
(_Status) == HRESULT_FROM_NT( STATUS_WRONG_PASSWORD ) || \ (_Status) == HRESULT_FROM_NT( STATUS_WRONG_PASSWORD ) || \
(_Status) == SEC_E_NO_CREDENTIALS || \ (_Status) == SEC_E_NO_CREDENTIALS || \
(_Status) == SEC_E_LOGON_DENIED \ (_Status) == SEC_E_LOGON_DENIED || \
) (_Status) == SEC_E_NO_CONTEXT || \
(_Status) == STATUS_NO_SECURITY_CONTEXT )
#define CREDUIP_IS_DOWNGRADE_ERROR( _Status ) ( \ #define CREDUIP_IS_DOWNGRADE_ERROR( _Status ) ( \
(_Status) == ERROR_DOWNGRADE_DETECTED || \ (_Status) == ERROR_DOWNGRADE_DETECTED || \
(_Status) == __HRESULT_FROM_WIN32( ERROR_DOWNGRADE_DETECTED ) || \ (_Status) == __HRESULT_FROM_WIN32( ERROR_DOWNGRADE_DETECTED ) || \
(_Status) == STATUS_DOWNGRADE_DETECTED || \ (_Status) == STATUS_DOWNGRADE_DETECTED || \
(_Status) == HRESULT_FROM_NT( STATUS_DOWNGRADE_DETECTED ) \ (_Status) == HRESULT_FROM_NT( STATUS_DOWNGRADE_DETECTED ) \
) )
#define CREDUIP_IS_EXPIRED_ERROR( _Status ) ( \ #define CREDUIP_IS_EXPIRED_ERROR( _Status ) ( \
(_Status) == ERROR_PASSWORD_EXPIRED || \ (_Status) == ERROR_PASSWORD_EXPIRED || \
skipping to change at line 287 skipping to change at line 287
#define CRED_TARGETNAME_DOMAIN_NAMESPACE_LENGTH (sizeof(CRED_TARGETNAME_DOMAIN_N AMESPACE_A)-1) #define CRED_TARGETNAME_DOMAIN_NAMESPACE_LENGTH (sizeof(CRED_TARGETNAME_DOMAIN_N AMESPACE_A)-1)
#define CRED_UNIVERSAL_WILDCARD_W L'*' #define CRED_UNIVERSAL_WILDCARD_W L'*'
#define CRED_UNIVERSAL_WILDCARD_A '*' #define CRED_UNIVERSAL_WILDCARD_A '*'
#define CRED_TARGETNAME_LEGACYGENERIC_NAMESPACE_W L"LegacyGeneric" #define CRED_TARGETNAME_LEGACYGENERIC_NAMESPACE_W L"LegacyGeneric"
#define CRED_TARGETNAME_LEGACYGENERIC_NAMESPACE_A "LegacyGeneric" #define CRED_TARGETNAME_LEGACYGENERIC_NAMESPACE_A "LegacyGeneric"
#define CRED_TARGETNAME_LEGACYGENERIC_NAMESPACE_LENGTH (sizeof(CRED_TARGETNAME_L EGACYGENERIC_NAMESPACE_A)-1) #define CRED_TARGETNAME_LEGACYGENERIC_NAMESPACE_LENGTH (sizeof(CRED_TARGETNAME_L EGACYGENERIC_NAMESPACE_A)-1)
#define CRED_TARGETNAME_NAMESPACE_SEPERATOR_W L':' #define CRED_TARGETNAME_NAMESPACE_SEPERATOR_W L':'
#define CRED_TARGETNAME_NAMESPACE_SEPERATOR_A ':' #define CRED_TARGETNAME_NAMESPACE_SEPERATOR_A ':'
#define CRED_TARGETNAME_ATTRIBUTE_SEPERATOR_W L'=' #define CRED_TARGETNAME_ATTRIBUTE_SEPERATOR_W L'='
#define CRED_TARGETNAME_ATTRIBUTE_SEPERATOR_A '=' #define CRED_TARGETNAME_ATTRIBUTE_SEPERATOR_A '='
#define CRED_TARGETNAME_DOMAIN_EXTENDED_USERNAME_SEPARATOR_W L'|'
#define CRED_TARGETNAME_DOMAIN_EXTENDED_USERNAME_SEPARATOR_A '|'
#define CRED_TARGETNAME_ATTRIBUTE_TARGET_W L"target" #define CRED_TARGETNAME_ATTRIBUTE_TARGET_W L"target"
#define CRED_TARGETNAME_ATTRIBUTE_TARGET_A "target" #define CRED_TARGETNAME_ATTRIBUTE_TARGET_A "target"
#define CRED_TARGETNAME_ATTRIBUTE_TARGET_LENGTH (sizeof(CRED_TARGETNAME_ATTRIBUT E_TARGET_A)-1) #define CRED_TARGETNAME_ATTRIBUTE_TARGET_LENGTH (sizeof(CRED_TARGETNAME_ATTRIBUT E_TARGET_A)-1)
#define CRED_TARGETNAME_ATTRIBUTE_NAME_W L"name" #define CRED_TARGETNAME_ATTRIBUTE_NAME_W L"name"
#define CRED_TARGETNAME_ATTRIBUTE_NAME_A "name" #define CRED_TARGETNAME_ATTRIBUTE_NAME_A "name"
#define CRED_TARGETNAME_ATTRIBUTE_NAME_LENGTH (sizeof(CRED_TARGETNAME_ATTRIBUTE_ NAME_A)-1) #define CRED_TARGETNAME_ATTRIBUTE_NAME_LENGTH (sizeof(CRED_TARGETNAME_ATTRIBUTE_ NAME_A)-1)
#define CRED_TARGETNAME_ATTRIBUTE_BATCH_W L"batch" #define CRED_TARGETNAME_ATTRIBUTE_BATCH_W L"batch"
#define CRED_TARGETNAME_ATTRIBUTE_BATCH_A "batch" #define CRED_TARGETNAME_ATTRIBUTE_BATCH_A "batch"
#define CRED_TARGETNAME_ATTRIBUTE_BATCH_LENGTH (sizeof(CRED_TARGETNAME_ATTRIBUTE _BATCH_A)-1) #define CRED_TARGETNAME_ATTRIBUTE_BATCH_LENGTH (sizeof(CRED_TARGETNAME_ATTRIBUTE _BATCH_A)-1)
#define CRED_TARGETNAME_ATTRIBUTE_INTERACTIVE_W L"interactive" #define CRED_TARGETNAME_ATTRIBUTE_INTERACTIVE_W L"interactive"
skipping to change at line 365 skipping to change at line 367
#define CredRemoveLogonTypeFromFlags(Flags) (Flags) &= ~CRED_LOGON _TYPES_MASK #define CredRemoveLogonTypeFromFlags(Flags) (Flags) &= ~CRED_LOGON _TYPES_MASK
// //
// Values of the Credential Flags field. // Values of the Credential Flags field.
// //
#define CRED_FLAGS_PASSWORD_FOR_CERT 0x0001 #define CRED_FLAGS_PASSWORD_FOR_CERT 0x0001
#define CRED_FLAGS_PROMPT_NOW 0x0002 #define CRED_FLAGS_PROMPT_NOW 0x0002
#define CRED_FLAGS_USERNAME_TARGET 0x0004 #define CRED_FLAGS_USERNAME_TARGET 0x0004
#define CRED_FLAGS_OWF_CRED_BLOB 0x0008 #define CRED_FLAGS_OWF_CRED_BLOB 0x0008
#define CRED_FLAGS_REQUIRE_CONFIRMATION 0x0010 #define CRED_FLAGS_REQUIRE_CONFIRMATION 0x0010
#define CRED_FLAGS_VALID_FLAGS 0xF01F // Mask of all valid flags
//
// Valid only for return and only with CredReadDomainCredentials().
// Indicates credential was returned due to wildcard match
// of targetname with credential.
//
#define CRED_FLAGS_WILDCARD_MATCH 0x0020
#define CRED_FLAGS_VALID_FLAGS 0xF03F // Mask of all valid flags
//
// Bit mask for only those flags which can be passed to the credman
// APIs.
//
#define CRED_FLAGS_VALID_INPUT_FLAGS 0xF01F
// //
// Values of the Credential Type field. // Values of the Credential Type field.
// //
#define CRED_TYPE_GENERIC 1 #define CRED_TYPE_GENERIC 1
#define CRED_TYPE_DOMAIN_PASSWORD 2 #define CRED_TYPE_DOMAIN_PASSWORD 2
#define CRED_TYPE_DOMAIN_CERTIFICATE 3 #define CRED_TYPE_DOMAIN_CERTIFICATE 3
#define CRED_TYPE_DOMAIN_VISIBLE_PASSWORD 4 #define CRED_TYPE_DOMAIN_VISIBLE_PASSWORD 4
#define CRED_TYPE_GENERIC_CERTIFICATE 5 #define CRED_TYPE_GENERIC_CERTIFICATE 5
#define CRED_TYPE_MAXIMUM 6 // Maximum supported cred type #define CRED_TYPE_DOMAIN_EXTENDED 6
#define CRED_TYPE_MAXIMUM 7 // Maximum supported cred type
#define CRED_TYPE_MAXIMUM_EX (CRED_TYPE_MAXIMUM+1000) // Allow new application s to run on old OSes #define CRED_TYPE_MAXIMUM_EX (CRED_TYPE_MAXIMUM+1000) // Allow new application s to run on old OSes
// //
// Maximum size of the CredBlob field (in bytes) // Maximum size of the CredBlob field (in bytes)
// //
#define CRED_MAX_CREDENTIAL_BLOB_SIZE 512
#define CRED_MAX_CREDENTIAL_BLOB_SIZE (5*512)
// //
// Values of the Credential Persist field // Values of the Credential Persist field
// //
#define CRED_PERSIST_NONE 0 #define CRED_PERSIST_NONE 0
#define CRED_PERSIST_SESSION 1 #define CRED_PERSIST_SESSION 1
#define CRED_PERSIST_LOCAL_MACHINE 2 #define CRED_PERSIST_LOCAL_MACHINE 2
#define CRED_PERSIST_ENTERPRISE 3 #define CRED_PERSIST_ENTERPRISE 3
// //
skipping to change at line 567 skipping to change at line 586
LPBYTE pbBlob; LPBYTE pbBlob;
} BINARY_BLOB_CREDENTIAL_INFO, *PBINARY_BLOB_CREDENTIAL_INFO; } BINARY_BLOB_CREDENTIAL_INFO, *PBINARY_BLOB_CREDENTIAL_INFO;
// //
// Credential type for credential marshaling routines // Credential type for credential marshaling routines
// //
typedef enum _CRED_MARSHAL_TYPE { typedef enum _CRED_MARSHAL_TYPE {
CertCredential = 1, CertCredential = 1,
UsernameTargetCredential, UsernameTargetCredential,
BinaryBlobCredential BinaryBlobCredential,
UsernameForPackedCredentials, // internal only, reserved
} CRED_MARSHAL_TYPE, *PCRED_MARSHAL_TYPE; } CRED_MARSHAL_TYPE, *PCRED_MARSHAL_TYPE;
// //
// Protection type for credential providers secret protection routines // Protection type for credential providers secret protection routines
// //
typedef enum _CRED_PROTECTION_TYPE { typedef enum _CRED_PROTECTION_TYPE {
CredUnprotected, CredUnprotected,
CredUserProtection, CredUserProtection,
CredTrustedProtection CredTrustedProtection
skipping to change at line 591 skipping to change at line 611
// Values for authentication buffers packing // Values for authentication buffers packing
// //
#define CRED_PACK_PROTECTED_CREDENTIALS 0x1 #define CRED_PACK_PROTECTED_CREDENTIALS 0x1
#define CRED_PACK_WOW_BUFFER 0x2 #define CRED_PACK_WOW_BUFFER 0x2
#define CRED_PACK_GENERIC_CREDENTIALS 0x4 #define CRED_PACK_GENERIC_CREDENTIALS 0x4
// //
// Credential UI info // Credential UI info
// //
#define _CREDUI_INFO_DEFINED
typedef struct _CREDUI_INFOA typedef struct _CREDUI_INFOA
{ {
DWORD cbSize; DWORD cbSize;
HWND hwndParent; HWND hwndParent;
PCSTR pszMessageText; PCSTR pszMessageText;
PCSTR pszCaptionText; PCSTR pszCaptionText;
HBITMAP hbmBanner; HBITMAP hbmBanner;
} CREDUI_INFOA, *PCREDUI_INFOA; } CREDUI_INFOA, *PCREDUI_INFOA;
typedef struct _CREDUI_INFOW typedef struct _CREDUI_INFOW
skipping to change at line 627 skipping to change at line 649
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Values // Values
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// String length limits: // String length limits:
#define CREDUI_MAX_MESSAGE_LENGTH 32767 #define CREDUI_MAX_MESSAGE_LENGTH 32767
#define CREDUI_MAX_CAPTION_LENGTH 128 #define CREDUI_MAX_CAPTION_LENGTH 128
#define CREDUI_MAX_GENERIC_TARGET_LENGTH CRED_MAX_GENERIC_TARGET_NAME_LENGTH #define CREDUI_MAX_GENERIC_TARGET_LENGTH CRED_MAX_GENERIC_TARGET_NAME_LENGTH
#define CREDUI_MAX_DOMAIN_TARGET_LENGTH CRED_MAX_DOMAIN_TARGET_NAME_LENGTH #define CREDUI_MAX_DOMAIN_TARGET_LENGTH CRED_MAX_DOMAIN_TARGET_NAME_LENGTH
//
// Username can be in <domain>\<user> or <user>@<domain>
// Length in characters, not including NULL termination.
//
#define CREDUI_MAX_USERNAME_LENGTH CRED_MAX_USERNAME_LENGTH #define CREDUI_MAX_USERNAME_LENGTH CRED_MAX_USERNAME_LENGTH
#define CREDUI_MAX_PASSWORD_LENGTH (CRED_MAX_CREDENTIAL_BLOB_SIZE / 2) #define CREDUI_MAX_PASSWORD_LENGTH (512 / 2)
//
// Packed credential returned by SspiEncodeAuthIdentityAsStrings().
// Length in characters, not including NULL termination.
//
#define CREDUI_MAX_PACKED_CREDENTIALS_LENGTH ((MAXUSHORT / 2) - 2)
// maximum length in bytes for binary credential blobs
#define CREDUI_MAX_CREDENTIALS_BLOB_SIZE (MAXUSHORT)
// //
// Flags for CredUIPromptForCredentials and/or CredUICmdLinePromptForCredentials // Flags for CredUIPromptForCredentials and/or CredUICmdLinePromptForCredentials
// //
#define CREDUI_FLAGS_INCORRECT_PASSWORD 0x00001 // indicates the usernam e is valid, but password is not #define CREDUI_FLAGS_INCORRECT_PASSWORD 0x00001 // indicates the usernam e is valid, but password is not
#define CREDUI_FLAGS_DO_NOT_PERSIST 0x00002 // Do not show "Save" ch eckbox, and do not persist credentials #define CREDUI_FLAGS_DO_NOT_PERSIST 0x00002 // Do not show "Save" ch eckbox, and do not persist credentials
#define CREDUI_FLAGS_REQUEST_ADMINISTRATOR 0x00004 // Populate list box wit h admin accounts #define CREDUI_FLAGS_REQUEST_ADMINISTRATOR 0x00004 // Populate list box wit h admin accounts
#define CREDUI_FLAGS_EXCLUDE_CERTIFICATES 0x00008 // do not include certif icates in the drop list #define CREDUI_FLAGS_EXCLUDE_CERTIFICATES 0x00008 // do not include certif icates in the drop list
#define CREDUI_FLAGS_REQUIRE_CERTIFICATE 0x00010 #define CREDUI_FLAGS_REQUIRE_CERTIFICATE 0x00010
skipping to change at line 684 skipping to change at line 723
// //
// Flags for CredUIPromptForWindowsCredentials and CPUS_CREDUI Usage Scenarios // Flags for CredUIPromptForWindowsCredentials and CPUS_CREDUI Usage Scenarios
// //
#define CREDUIWIN_GENERIC 0x00000001 // Plain text username/p assword is being requested #define CREDUIWIN_GENERIC 0x00000001 // Plain text username/p assword is being requested
#define CREDUIWIN_CHECKBOX 0x00000002 // Show the Save Credent ial checkbox #define CREDUIWIN_CHECKBOX 0x00000002 // Show the Save Credent ial checkbox
#define CREDUIWIN_AUTHPACKAGE_ONLY 0x00000010 // Only Cred Providers t hat support the input auth package should enumerate #define CREDUIWIN_AUTHPACKAGE_ONLY 0x00000010 // Only Cred Providers t hat support the input auth package should enumerate
#define CREDUIWIN_IN_CRED_ONLY 0x00000020 // Only the incoming cre d for the specific auth package should be enumerated #define CREDUIWIN_IN_CRED_ONLY 0x00000020 // Only the incoming cre d for the specific auth package should be enumerated
#define CREDUIWIN_ENUMERATE_ADMINS 0x00000100 // Cred Providers should enumerate administrators only #define CREDUIWIN_ENUMERATE_ADMINS 0x00000100 // Cred Providers should enumerate administrators only
#define CREDUIWIN_ENUMERATE_CURRENT_USER 0x00000200 // Only the incoming cre d for the specific auth package should be enumerated #define CREDUIWIN_ENUMERATE_CURRENT_USER 0x00000200 // Only the incoming cre d for the specific auth package should be enumerated
#define CREDUIWIN_SECURE_PROMPT 0x00001000 // The Credui prompt sho uld be displayed on the secure desktop
#define CREDUIWIN_PACK_32_WOW 0x10000000 // Tell the credential p rovider it should be packing its Auth Blob 32 bit even though it is running 64 n ative #define CREDUIWIN_PACK_32_WOW 0x10000000 // Tell the credential p rovider it should be packing its Auth Blob 32 bit even though it is running 64 n ative
#define CREDUIWIN_VALID_FLAGS ( \ #define CREDUIWIN_VALID_FLAGS ( \
CREDUIWIN_GENERIC | \ CREDUIWIN_GENERIC | \
CREDUIWIN_CHECKBOX | \ CREDUIWIN_CHECKBOX | \
CREDUIWIN_AUTHPACKAGE_ONLY | \ CREDUIWIN_AUTHPACKAGE_ONLY | \
CREDUIWIN_IN_CRED_ONLY | \ CREDUIWIN_IN_CRED_ONLY | \
CREDUIWIN_ENUMERATE_ADMINS | \ CREDUIWIN_ENUMERATE_ADMINS | \
CREDUIWIN_ENUMERATE_CURRENT_USER | \ CREDUIWIN_ENUMERATE_CURRENT_USER | \
CREDUIWIN_SECURE_PROMPT | \
CREDUIWIN_PACK_32_WOW ) CREDUIWIN_PACK_32_WOW )
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Functions // Functions
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// Values of flags to CredWrite and CredWriteDomainCredentials // Values of flags to CredWrite and CredWriteDomainCredentials
// //
skipping to change at line 1090 skipping to change at line 1131
#define CredProtect CredProtectA #define CredProtect CredProtectA
#endif //UNICODE #endif //UNICODE
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
CredUnprotectW( CredUnprotectW(
__in BOOL fAsSelf, __in BOOL fAsSelf,
__in_ecount(cchProtectedCredentials) LPWSTR pszProtectedCredentials, __in_ecount(cchProtectedCredentials) LPWSTR pszProtectedCredentials,
__in DWORD cchProtectedCredentials, __in DWORD cchProtectedCredentials,
__out_ecount(*pcchMaxChars) LPWSTR pszCredentials, __out_ecount_opt(*pcchMaxChars) LPWSTR pszCredentials,
__inout DWORD* pcchMaxChars __inout DWORD* pcchMaxChars
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
CredUnprotectA( CredUnprotectA(
__in BOOL fAsSelf, __in BOOL fAsSelf,
__in_ecount(cchProtectedCredentials) LPSTR pszProtectedCredentials, __in_ecount(cchProtectedCredentials) LPSTR pszProtectedCredentials,
__in DWORD cchProtectedCredentials, __in DWORD cchProtectedCredentials,
__out_ecount(*pcchMaxChars) LPSTR pszCredentials, __out_ecount_opt(*pcchMaxChars) LPSTR pszCredentials,
__inout DWORD* pcchMaxChars __inout DWORD* pcchMaxChars
); );
#ifdef UNICODE #ifdef UNICODE
#define CredUnprotect CredUnprotectW #define CredUnprotect CredUnprotectW
#else #else
#define CredUnprotect CredUnprotectA #define CredUnprotect CredUnprotectA
#endif //UNICODE #endif //UNICODE
WINADVAPI WINADVAPI
 End of changes. 14 change blocks. 
10 lines changed or deleted 51 lines changed or added

This html diff was produced by rfcdiff 1.41.