📄 wincred.h
字号:
#define CREDUI_FLAGS_VALIDATE_USERNAME 0x00400
#define CREDUI_FLAGS_COMPLETE_USERNAME 0x00800 //
#define CREDUI_FLAGS_PERSIST 0x01000 // Do not show "Save" checkbox, but persist credentials anyway
#define CREDUI_FLAGS_SERVER_CREDENTIAL 0x04000
#define CREDUI_FLAGS_EXPECT_CONFIRMATION 0x20000 // do not persist unless caller later confirms credential via CredUIConfirmCredential() api
#define CREDUI_FLAGS_GENERIC_CREDENTIALS 0x40000 // Credential is a generic credential
#define CREDUI_FLAGS_USERNAME_TARGET_CREDENTIALS 0x80000 // Credential has a username as the target
#define CREDUI_FLAGS_KEEP_USERNAME 0x100000 // don't allow the user to change the supplied username
//
// Mask of flags valid for CredUIPromptForCredentials
//
#define CREDUI_FLAGS_PROMPT_VALID ( \
CREDUI_FLAGS_INCORRECT_PASSWORD | \
CREDUI_FLAGS_DO_NOT_PERSIST | \
CREDUI_FLAGS_REQUEST_ADMINISTRATOR | \
CREDUI_FLAGS_EXCLUDE_CERTIFICATES | \
CREDUI_FLAGS_REQUIRE_CERTIFICATE | \
CREDUI_FLAGS_SHOW_SAVE_CHECK_BOX | \
CREDUI_FLAGS_ALWAYS_SHOW_UI | \
CREDUI_FLAGS_REQUIRE_SMARTCARD | \
CREDUI_FLAGS_PASSWORD_ONLY_OK | \
CREDUI_FLAGS_VALIDATE_USERNAME | \
CREDUI_FLAGS_COMPLETE_USERNAME | \
CREDUI_FLAGS_PERSIST | \
CREDUI_FLAGS_SERVER_CREDENTIAL | \
CREDUI_FLAGS_EXPECT_CONFIRMATION | \
CREDUI_FLAGS_GENERIC_CREDENTIALS | \
CREDUI_FLAGS_USERNAME_TARGET_CREDENTIALS | \
CREDUI_FLAGS_KEEP_USERNAME )
//-----------------------------------------------------------------------------
// Functions
//-----------------------------------------------------------------------------
//
// Values of flags to CredWrite and CredWriteDomainCredentials
//
#define CRED_PRESERVE_CREDENTIAL_BLOB 0x1
WINADVAPI
BOOL
WINAPI
CredWriteW (
IN PCREDENTIALW Credential,
IN DWORD Flags
);
WINADVAPI
BOOL
WINAPI
CredWriteA (
IN PCREDENTIALA Credential,
IN DWORD Flags
);
#ifdef UNICODE
#define CredWrite CredWriteW
#else
#define CredWrite CredWriteA
#endif // UNICODE
WINADVAPI
BOOL
WINAPI
CredReadW (
IN LPCWSTR TargetName,
IN DWORD Type,
IN DWORD Flags,
OUT PCREDENTIALW *Credential
);
WINADVAPI
BOOL
WINAPI
CredReadA (
IN LPCSTR TargetName,
IN DWORD Type,
IN DWORD Flags,
OUT PCREDENTIALA *Credential
);
#ifdef UNICODE
#define CredRead CredReadW
#else
#define CredRead CredReadA
#endif // UNICODE
WINADVAPI
BOOL
WINAPI
CredEnumerateW (
IN LPCWSTR Filter,
IN DWORD Flags,
OUT DWORD *Count,
OUT PCREDENTIALW **Credential
);
WINADVAPI
BOOL
WINAPI
CredEnumerateA (
IN LPCSTR Filter,
IN DWORD Flags,
OUT DWORD *Count,
OUT PCREDENTIALA **Credential
);
#ifdef UNICODE
#define CredEnumerate CredEnumerateW
#else
#define CredEnumerate CredEnumerateA
#endif // UNICODE
WINADVAPI
BOOL
WINAPI
CredWriteDomainCredentialsW (
IN PCREDENTIAL_TARGET_INFORMATIONW TargetInfo,
IN PCREDENTIALW Credential,
IN DWORD Flags
);
WINADVAPI
BOOL
WINAPI
CredWriteDomainCredentialsA (
IN PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,
IN PCREDENTIALA Credential,
IN DWORD Flags
);
#ifdef UNICODE
#define CredWriteDomainCredentials CredWriteDomainCredentialsW
#else
#define CredWriteDomainCredentials CredWriteDomainCredentialsA
#endif // UNICODE
//
// Values of flags to CredReadDomainCredentials
//
#define CRED_CACHE_TARGET_INFORMATION 0x1
WINADVAPI
BOOL
WINAPI
CredReadDomainCredentialsW (
IN PCREDENTIAL_TARGET_INFORMATIONW TargetInfo,
IN DWORD Flags,
OUT DWORD *Count,
OUT PCREDENTIALW **Credential
);
WINADVAPI
BOOL
WINAPI
CredReadDomainCredentialsA (
IN PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,
IN DWORD Flags,
OUT DWORD *Count,
OUT PCREDENTIALA **Credential
);
#ifdef UNICODE
#define CredReadDomainCredentials CredReadDomainCredentialsW
#else
#define CredReadDomainCredentials CredReadDomainCredentialsA
#endif // UNICODE
WINADVAPI
BOOL
WINAPI
CredDeleteW (
IN LPCWSTR TargetName,
IN DWORD Type,
IN DWORD Flags
);
WINADVAPI
BOOL
WINAPI
CredDeleteA (
IN LPCSTR TargetName,
IN DWORD Type,
IN DWORD Flags
);
#ifdef UNICODE
#define CredDelete CredDeleteW
#else
#define CredDelete CredDeleteA
#endif // UNICODE
WINADVAPI
BOOL
WINAPI
CredRenameW (
IN LPCWSTR OldTargetName,
IN LPCWSTR NewTargetName,
IN DWORD Type,
IN DWORD Flags
);
WINADVAPI
BOOL
WINAPI
CredRenameA (
IN LPCSTR OldTargetName,
IN LPCSTR NewTargetName,
IN DWORD Type,
IN DWORD Flags
);
#ifdef UNICODE
#define CredRename CredRenameW
#else
#define CredRename CredRenameA
#endif // UNICODE
//
// Values of flags to CredGetTargetInfo
//
#define CRED_ALLOW_NAME_RESOLUTION 0x1
WINADVAPI
BOOL
WINAPI
CredGetTargetInfoW (
IN LPCWSTR TargetName,
IN DWORD Flags,
OUT PCREDENTIAL_TARGET_INFORMATIONW *TargetInfo
);
WINADVAPI
BOOL
WINAPI
CredGetTargetInfoA (
IN LPCSTR TargetName,
IN DWORD Flags,
OUT PCREDENTIAL_TARGET_INFORMATIONA *TargetInfo
);
#ifdef UNICODE
#define CredGetTargetInfo CredGetTargetInfoW
#else
#define CredGetTargetInfo CredGetTargetInfoA
#endif // UNICODE
WINADVAPI
BOOL
WINAPI
CredMarshalCredentialW(
IN CRED_MARSHAL_TYPE CredType,
IN PVOID Credential,
OUT LPWSTR *MarshaledCredential
);
WINADVAPI
BOOL
WINAPI
CredMarshalCredentialA(
IN CRED_MARSHAL_TYPE CredType,
IN PVOID Credential,
OUT LPSTR *MarshaledCredential
);
#ifdef UNICODE
#define CredMarshalCredential CredMarshalCredentialW
#else
#define CredMarshalCredential CredMarshalCredentialA
#endif // UNICODE
WINADVAPI
BOOL
WINAPI
CredUnmarshalCredentialW(
IN LPCWSTR MarshaledCredential,
OUT PCRED_MARSHAL_TYPE CredType,
OUT PVOID *Credential
);
WINADVAPI
BOOL
WINAPI
CredUnmarshalCredentialA(
IN LPCSTR MarshaledCredential,
OUT PCRED_MARSHAL_TYPE CredType,
OUT PVOID *Credential
);
#ifdef UNICODE
#define CredUnmarshalCredential CredUnmarshalCredentialW
#else
#define CredUnmarshalCredential CredUnmarshalCredentialA
#endif // UNICODE
WINADVAPI
BOOL
WINAPI
CredIsMarshaledCredentialW(
IN LPCWSTR MarshaledCredential
);
WINADVAPI
BOOL
WINAPI
CredIsMarshaledCredentialA(
IN LPCSTR MarshaledCredential
);
#ifdef UNICODE
#define CredIsMarshaledCredential CredIsMarshaledCredentialW
#else
#define CredIsMarshaledCredential CredIsMarshaledCredentialA
#endif // UNICODE
WINADVAPI
BOOL
WINAPI
CredGetSessionTypes (
IN DWORD MaximumPersistCount,
OUT LPDWORD MaximumPersist
);
WINADVAPI
VOID
WINAPI
CredFree (
IN PVOID Buffer
);
CREDUIAPI
DWORD
WINAPI
CredUIPromptForCredentialsW(
PCREDUI_INFOW pUiInfo,
PCWSTR pszTargetName,
PCtxtHandle pContext,
DWORD dwAuthError,
PWSTR pszUserName,
ULONG ulUserNameBufferSize,
PWSTR pszPassword,
ULONG ulPasswordBufferSize,
BOOL *save,
DWORD dwFlags
);
CREDUIAPI
DWORD
WINAPI
CredUIPromptForCredentialsA(
PCREDUI_INFOA pUiInfo,
PCSTR pszTargetName,
PCtxtHandle pContext,
DWORD dwAuthError,
PSTR pszUserName,
ULONG ulUserNameBufferSize,
PSTR pszPassword,
ULONG ulPasswordBufferSize,
BOOL *save,
DWORD dwFlags
);
#ifdef UNICODE
#define CredUIPromptForCredentials CredUIPromptForCredentialsW
#else
#define CredUIPromptForCredentials CredUIPromptForCredentialsA
#endif
CREDUIAPI
DWORD
WINAPI
CredUIParseUserNameW(
PCWSTR pszUserName,
PWSTR pszUser,
ULONG ulUserBufferSize,
PWSTR pszDomain,
ULONG ulDomainBufferSize
);
CREDUIAPI
DWORD
WINAPI
CredUIParseUserNameA(
PCSTR pszUserName,
PSTR pszUser,
ULONG ulUserBufferSize,
PSTR pszDomain,
ULONG ulDomainBufferSize
);
#ifdef UNICODE
#define CredUIParseUserName CredUIParseUserNameW
#else
#define CredUIParseUserName CredUIParseUserNameA
#endif
CREDUIAPI
DWORD
WINAPI
CredUICmdLinePromptForCredentialsW(
PCWSTR pszTargetName,
PCtxtHandle pContext,
DWORD dwAuthError,
PWSTR UserName,
ULONG ulUserBufferSize,
PWSTR pszPassword,
ULONG ulPasswordBufferSize,
PBOOL pfSave,
DWORD dwFlags
);
CREDUIAPI
DWORD
WINAPI
CredUICmdLinePromptForCredentialsA(
PCSTR pszTargetName,
PCtxtHandle pContext,
DWORD dwAuthError,
PSTR UserName,
ULONG ulUserBufferSize,
PSTR pszPassword,
ULONG ulPasswordBufferSize,
PBOOL pfSave,
DWORD dwFlags
);
#ifdef UNICODE
#define CredUICmdLinePromptForCredentials CredUICmdLinePromptForCredentialsW
#else
#define CredUICmdLinePromptForCredentials CredUICmdLinePromptForCredentialsA
#endif
//
// Call this API with bConfirm set to TRUE to confirm that the credential (previously created
// via CredUIGetCredentials or CredUIPromptForCredentials worked, or with bConfirm set to FALSE
// to indicate it didn't
CREDUIAPI
DWORD
WINAPI
CredUIConfirmCredentialsW(
PCWSTR pszTargetName,
BOOL bConfirm
);
CREDUIAPI
DWORD
WINAPI
CredUIConfirmCredentialsA(
PCSTR pszTargetName,
BOOL bConfirm
);
#ifdef UNICODE
#define CredUIConfirmCredentials CredUIConfirmCredentialsW
#else
#define CredUIConfirmCredentials CredUIConfirmCredentialsA
#endif
#ifdef __cplusplus
}
#endif
#endif // _WINCRED_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -