comparison fuhtark_test/include/winapi/wincred.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef _WINCRED_H_
7 #define _WINCRED_H_
8
9 #define WINADVAPI DECLSPEC_IMPORT
10
11 #ifndef CREDUIAPI
12 #ifndef _CREDUI_
13 #define CREDUIAPI DECLSPEC_IMPORT
14 #else
15 #define CREDUIAPI
16 #endif
17 #endif
18
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22
23 #ifndef __SECHANDLE_DEFINED__
24 #define __SECHANDLE_DEFINED__
25
26 typedef struct _SecHandle {
27 ULONG_PTR dwLower;
28 ULONG_PTR dwUpper;
29 } SecHandle,*PSecHandle;
30 #endif
31
32 typedef PSecHandle PCtxtHandle;
33
34 #ifndef _WINBASE_
35 #ifndef _FILETIME_
36 #define _FILETIME_
37
38 typedef struct _FILETIME {
39 DWORD dwLowDateTime;
40 DWORD dwHighDateTime;
41 } FILETIME;
42
43 typedef struct _FILETIME *PFILETIME;
44 typedef struct _FILETIME *LPFILETIME;
45 #endif
46 #endif
47
48 #ifndef _NTDEF_
49 typedef LONG NTSTATUS,*PNTSTATUS;
50 #endif
51
52 #define STATUS_LOGON_FAILURE ((NTSTATUS)0xC000006DL)
53 #define STATUS_WRONG_PASSWORD ((NTSTATUS)0xC000006AL)
54 #define STATUS_PASSWORD_EXPIRED ((NTSTATUS)0xC0000071L)
55 #define STATUS_PASSWORD_MUST_CHANGE ((NTSTATUS)0xC0000224L)
56 #define STATUS_ACCESS_DENIED ((NTSTATUS)0xC0000022L)
57 #define STATUS_DOWNGRADE_DETECTED ((NTSTATUS)0xC0000388L)
58 #define STATUS_AUTHENTICATION_FIREWALL_FAILED ((NTSTATUS)0xC0000413L)
59 #define STATUS_ACCOUNT_DISABLED ((NTSTATUS)0xC0000072L)
60 #define STATUS_ACCOUNT_RESTRICTION ((NTSTATUS)0xC000006EL)
61 #define STATUS_ACCOUNT_LOCKED_OUT ((NTSTATUS)0xC0000234L)
62 #define STATUS_ACCOUNT_EXPIRED ((NTSTATUS)0xC0000193L)
63 #define STATUS_LOGON_TYPE_NOT_GRANTED ((NTSTATUS)0xC000015BL)
64
65 #define NERR_BASE 2100
66 #define NERR_PasswordExpired (NERR_BASE+142)
67
68 #define CREDUIP_IS_USER_PASSWORD_ERROR(_Status) ((_Status)==ERROR_LOGON_FAILURE || (_Status)==HRESULT_FROM_WIN32(ERROR_LOGON_FAILURE) || (_Status)==STATUS_LOGON_FAILURE || (_Status)==HRESULT_FROM_NT(STATUS_LOGON_FAILURE) || (_Status)==ERROR_ACCESS_DENIED || (_Status)==HRESULT_FROM_WIN32(ERROR_ACCESS_DENIED) || (_Status)==STATUS_ACCESS_DENIED || (_Status)==HRESULT_FROM_NT(STATUS_ACCESS_DENIED) || (_Status)==ERROR_INVALID_PASSWORD || (_Status)==HRESULT_FROM_WIN32(ERROR_INVALID_PASSWORD) || (_Status)==STATUS_WRONG_PASSWORD || (_Status)==HRESULT_FROM_NT(STATUS_WRONG_PASSWORD) || (_Status)==SEC_E_NO_CREDENTIALS || (_Status)==SEC_E_LOGON_DENIED)
69 #define CREDUIP_IS_DOWNGRADE_ERROR(_Status) ((_Status)==ERROR_DOWNGRADE_DETECTED || (_Status)==HRESULT_FROM_WIN32(ERROR_DOWNGRADE_DETECTED) || (_Status)==STATUS_DOWNGRADE_DETECTED || (_Status)==HRESULT_FROM_NT(STATUS_DOWNGRADE_DETECTED))
70 #define CREDUIP_IS_EXPIRED_ERROR(_Status) ((_Status)==ERROR_PASSWORD_EXPIRED || (_Status)==HRESULT_FROM_WIN32(ERROR_PASSWORD_EXPIRED) || (_Status)==STATUS_PASSWORD_EXPIRED || (_Status)==HRESULT_FROM_NT(STATUS_PASSWORD_EXPIRED) || (_Status)==ERROR_PASSWORD_MUST_CHANGE || (_Status)==HRESULT_FROM_WIN32(ERROR_PASSWORD_MUST_CHANGE) || (_Status)==STATUS_PASSWORD_MUST_CHANGE || (_Status)==HRESULT_FROM_NT(STATUS_PASSWORD_MUST_CHANGE) || (_Status)==NERR_PasswordExpired || (_Status)==HRESULT_FROM_WIN32(NERR_PasswordExpired))
71 #define CREDUI_IS_AUTHENTICATION_ERROR(_Status) (CREDUIP_IS_USER_PASSWORD_ERROR(_Status) || CREDUIP_IS_DOWNGRADE_ERROR(_Status) || CREDUIP_IS_EXPIRED_ERROR(_Status))
72 #define CREDUI_NO_PROMPT_AUTHENTICATION_ERROR(_Status) ((_Status)==ERROR_AUTHENTICATION_FIREWALL_FAILED || (_Status)==HRESULT_FROM_WIN32(ERROR_AUTHENTICATION_FIREWALL_FAILED) || (_Status)==STATUS_AUTHENTICATION_FIREWALL_FAILED || (_Status)==HRESULT_FROM_NT(STATUS_AUTHENTICATION_FIREWALL_FAILED) || (_Status)==ERROR_ACCOUNT_DISABLED || (_Status)==HRESULT_FROM_WIN32(ERROR_ACCOUNT_DISABLED) || (_Status)==STATUS_ACCOUNT_DISABLED || (_Status)==HRESULT_FROM_NT(STATUS_ACCOUNT_DISABLED) || (_Status)==ERROR_ACCOUNT_RESTRICTION || (_Status)==HRESULT_FROM_WIN32(ERROR_ACCOUNT_RESTRICTION) || (_Status)==STATUS_ACCOUNT_RESTRICTION || (_Status)==HRESULT_FROM_NT(STATUS_ACCOUNT_RESTRICTION) || (_Status)==ERROR_ACCOUNT_LOCKED_OUT || (_Status)==HRESULT_FROM_WIN32(ERROR_ACCOUNT_LOCKED_OUT) || (_Status)==STATUS_ACCOUNT_LOCKED_OUT || (_Status)==HRESULT_FROM_NT(STATUS_ACCOUNT_LOCKED_OUT) || (_Status)==ERROR_ACCOUNT_EXPIRED || (_Status)==HRESULT_FROM_WIN32(ERROR_ACCOUNT_EXPIRED) || (_Status)==STATUS_ACCOUNT_EXPIRED || (_Status)==HRESULT_FROM_NT(STATUS_ACCOUNT_EXPIRED) || (_Status)==ERROR_LOGON_TYPE_NOT_GRANTED || (_Status)==HRESULT_FROM_WIN32(ERROR_LOGON_TYPE_NOT_GRANTED) || (_Status)==STATUS_LOGON_TYPE_NOT_GRANTED || (_Status)==HRESULT_FROM_NT(STATUS_LOGON_TYPE_NOT_GRANTED))
73
74 #define CRED_MAX_STRING_LENGTH 256
75 #define CRED_MAX_USERNAME_LENGTH (256+1+256)
76 #define CRED_MAX_GENERIC_TARGET_NAME_LENGTH 32767
77 #define CRED_MAX_DOMAIN_TARGET_NAME_LENGTH (256+1+80)
78 #define CRED_MAX_VALUE_SIZE 256
79 #define CRED_MAX_ATTRIBUTES 64
80
81 typedef struct _CREDENTIAL_ATTRIBUTEA {
82 LPSTR Keyword;
83 DWORD Flags;
84 DWORD ValueSize;
85 LPBYTE Value;
86 } CREDENTIAL_ATTRIBUTEA,*PCREDENTIAL_ATTRIBUTEA;
87
88 typedef struct _CREDENTIAL_ATTRIBUTEW {
89 LPWSTR Keyword;
90 DWORD Flags;
91 DWORD ValueSize;
92 LPBYTE Value;
93 } CREDENTIAL_ATTRIBUTEW,*PCREDENTIAL_ATTRIBUTEW;
94
95 #ifdef UNICODE
96 typedef CREDENTIAL_ATTRIBUTEW CREDENTIAL_ATTRIBUTE;
97 typedef PCREDENTIAL_ATTRIBUTEW PCREDENTIAL_ATTRIBUTE;
98 #else
99 typedef CREDENTIAL_ATTRIBUTEA CREDENTIAL_ATTRIBUTE;
100 typedef PCREDENTIAL_ATTRIBUTEA PCREDENTIAL_ATTRIBUTE;
101 #endif
102
103 #define CRED_SESSION_WILDCARD_NAME_W L"*Session"
104 #define CRED_SESSION_WILDCARD_NAME_A "*Session"
105 #define CRED_SESSION_WILDCARD_NAME_LENGTH (sizeof(CRED_SESSION_WILDCARD_NAME_A)-1)
106
107 #ifdef UNICODE
108 #define CRED_SESSION_WILDCARD_NAME CRED_SESSION_WILDCARD_NAME_W
109 #else
110 #define CRED_SESSION_WILDCARD_NAME CRED_SESSION_WILDCARD_NAME_A
111 #endif
112
113 #define CRED_FLAGS_PASSWORD_FOR_CERT 0x0001
114 #define CRED_FLAGS_PROMPT_NOW 0x0002
115 #define CRED_FLAGS_USERNAME_TARGET 0x0004
116 #define CRED_FLAGS_OWF_CRED_BLOB 0x0008
117 #define CRED_FLAGS_VALID_FLAGS 0x000F
118
119 #define CRED_TYPE_GENERIC 1
120 #define CRED_TYPE_DOMAIN_PASSWORD 2
121 #define CRED_TYPE_DOMAIN_CERTIFICATE 3
122 #define CRED_TYPE_DOMAIN_VISIBLE_PASSWORD 4
123 #define CRED_TYPE_MAXIMUM 5
124 #define CRED_TYPE_MAXIMUM_EX (CRED_TYPE_MAXIMUM+1000)
125
126 #define CRED_MAX_CREDENTIAL_BLOB_SIZE 512
127
128 #define CRED_PERSIST_NONE 0
129 #define CRED_PERSIST_SESSION 1
130 #define CRED_PERSIST_LOCAL_MACHINE 2
131 #define CRED_PERSIST_ENTERPRISE 3
132
133 typedef struct _CREDENTIALA {
134 DWORD Flags;
135 DWORD Type;
136 LPSTR TargetName;
137 LPSTR Comment;
138 FILETIME LastWritten;
139 DWORD CredentialBlobSize;
140 LPBYTE CredentialBlob;
141 DWORD Persist;
142 DWORD AttributeCount;
143 PCREDENTIAL_ATTRIBUTEA Attributes;
144 LPSTR TargetAlias;
145 LPSTR UserName;
146 } CREDENTIALA,*PCREDENTIALA;
147
148 typedef struct _CREDENTIALW {
149 DWORD Flags;
150 DWORD Type;
151 LPWSTR TargetName;
152 LPWSTR Comment;
153 FILETIME LastWritten;
154 DWORD CredentialBlobSize;
155 LPBYTE CredentialBlob;
156 DWORD Persist;
157 DWORD AttributeCount;
158 PCREDENTIAL_ATTRIBUTEW Attributes;
159 LPWSTR TargetAlias;
160 LPWSTR UserName;
161 } CREDENTIALW,*PCREDENTIALW;
162
163 #ifdef UNICODE
164 typedef CREDENTIALW CREDENTIAL;
165 typedef PCREDENTIALW PCREDENTIAL;
166 #else
167 typedef CREDENTIALA CREDENTIAL;
168 typedef PCREDENTIALA PCREDENTIAL;
169 #endif
170
171 #define CRED_TI_SERVER_FORMAT_UNKNOWN 0x0001
172 #define CRED_TI_DOMAIN_FORMAT_UNKNOWN 0x0002
173 #define CRED_TI_ONLY_PASSWORD_REQUIRED 0x0004
174 #define CRED_TI_USERNAME_TARGET 0x0008
175 #define CRED_TI_CREATE_EXPLICIT_CRED 0x0010
176 #define CRED_TI_WORKGROUP_MEMBER 0x0020
177 #define CRED_TI_VALID_FLAGS 0x003F
178
179 typedef struct _CREDENTIAL_TARGET_INFORMATIONA {
180 LPSTR TargetName;
181 LPSTR NetbiosServerName;
182 LPSTR DnsServerName;
183 LPSTR NetbiosDomainName;
184 LPSTR DnsDomainName;
185 LPSTR DnsTreeName;
186 LPSTR PackageName;
187 ULONG Flags;
188 DWORD CredTypeCount;
189 LPDWORD CredTypes;
190 } CREDENTIAL_TARGET_INFORMATIONA,*PCREDENTIAL_TARGET_INFORMATIONA;
191
192 typedef struct _CREDENTIAL_TARGET_INFORMATIONW {
193 LPWSTR TargetName;
194 LPWSTR NetbiosServerName;
195 LPWSTR DnsServerName;
196 LPWSTR NetbiosDomainName;
197 LPWSTR DnsDomainName;
198 LPWSTR DnsTreeName;
199 LPWSTR PackageName;
200 ULONG Flags;
201 DWORD CredTypeCount;
202 LPDWORD CredTypes;
203 } CREDENTIAL_TARGET_INFORMATIONW,*PCREDENTIAL_TARGET_INFORMATIONW;
204
205 #ifdef UNICODE
206 typedef CREDENTIAL_TARGET_INFORMATIONW CREDENTIAL_TARGET_INFORMATION;
207 typedef PCREDENTIAL_TARGET_INFORMATIONW PCREDENTIAL_TARGET_INFORMATION;
208 #else
209 typedef CREDENTIAL_TARGET_INFORMATIONA CREDENTIAL_TARGET_INFORMATION;
210 typedef PCREDENTIAL_TARGET_INFORMATIONA PCREDENTIAL_TARGET_INFORMATION;
211 #endif
212
213 #define CERT_HASH_LENGTH 20
214
215 typedef struct _CERT_CREDENTIAL_INFO {
216 ULONG cbSize;
217 UCHAR rgbHashOfCert[CERT_HASH_LENGTH];
218 } CERT_CREDENTIAL_INFO,*PCERT_CREDENTIAL_INFO;
219
220 typedef struct _USERNAME_TARGET_CREDENTIAL_INFO {
221 LPWSTR UserName;
222 } USERNAME_TARGET_CREDENTIAL_INFO,*PUSERNAME_TARGET_CREDENTIAL_INFO;
223
224 typedef enum _CRED_MARSHAL_TYPE {
225 CertCredential = 1,UsernameTargetCredential
226 } CRED_MARSHAL_TYPE,*PCRED_MARSHAL_TYPE;
227
228 typedef struct _CREDUI_INFOA {
229 DWORD cbSize;
230 HWND hwndParent;
231 PCSTR pszMessageText;
232 PCSTR pszCaptionText;
233 HBITMAP hbmBanner;
234 } CREDUI_INFOA,*PCREDUI_INFOA;
235
236 typedef struct _CREDUI_INFOW {
237 DWORD cbSize;
238 HWND hwndParent;
239 PCWSTR pszMessageText;
240 PCWSTR pszCaptionText;
241 HBITMAP hbmBanner;
242 } CREDUI_INFOW,*PCREDUI_INFOW;
243
244 #ifdef UNICODE
245 typedef CREDUI_INFOW CREDUI_INFO;
246 typedef PCREDUI_INFOW PCREDUI_INFO;
247 #else
248 typedef CREDUI_INFOA CREDUI_INFO;
249 typedef PCREDUI_INFOA PCREDUI_INFO;
250 #endif
251
252 #define CREDUI_MAX_MESSAGE_LENGTH 32767
253 #define CREDUI_MAX_CAPTION_LENGTH 128
254 #define CREDUI_MAX_GENERIC_TARGET_LENGTH CRED_MAX_GENERIC_TARGET_NAME_LENGTH
255 #define CREDUI_MAX_DOMAIN_TARGET_LENGTH CRED_MAX_DOMAIN_TARGET_NAME_LENGTH
256 #define CREDUI_MAX_USERNAME_LENGTH CRED_MAX_USERNAME_LENGTH
257 #define CREDUI_MAX_PASSWORD_LENGTH (CRED_MAX_CREDENTIAL_BLOB_SIZE / 2)
258
259 #define CREDUI_FLAGS_INCORRECT_PASSWORD 0x00001
260 #define CREDUI_FLAGS_DO_NOT_PERSIST 0x00002
261 #define CREDUI_FLAGS_REQUEST_ADMINISTRATOR 0x00004
262 #define CREDUI_FLAGS_EXCLUDE_CERTIFICATES 0x00008
263 #define CREDUI_FLAGS_REQUIRE_CERTIFICATE 0x00010
264 #define CREDUI_FLAGS_SHOW_SAVE_CHECK_BOX 0x00040
265 #define CREDUI_FLAGS_ALWAYS_SHOW_UI 0x00080
266 #define CREDUI_FLAGS_REQUIRE_SMARTCARD 0x00100
267 #define CREDUI_FLAGS_PASSWORD_ONLY_OK 0x00200
268 #define CREDUI_FLAGS_VALIDATE_USERNAME 0x00400
269 #define CREDUI_FLAGS_COMPLETE_USERNAME 0x00800
270 #define CREDUI_FLAGS_PERSIST 0x01000
271 #define CREDUI_FLAGS_SERVER_CREDENTIAL 0x04000
272 #define CREDUI_FLAGS_EXPECT_CONFIRMATION 0x20000
273 #define CREDUI_FLAGS_GENERIC_CREDENTIALS 0x40000
274 #define CREDUI_FLAGS_USERNAME_TARGET_CREDENTIALS 0x80000
275 #define CREDUI_FLAGS_KEEP_USERNAME 0x100000
276
277 #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)
278
279 #define CRED_PRESERVE_CREDENTIAL_BLOB 0x1
280
281 #ifdef UNICODE
282 #define CredWrite CredWriteW
283 #define CredRead CredReadW
284 #define CredEnumerate CredEnumerateW
285 #define CredWriteDomainCredentials CredWriteDomainCredentialsW
286 #define CredReadDomainCredentials CredReadDomainCredentialsW
287 #define CredDelete CredDeleteW
288 #define CredRename CredRenameW
289 #define CredGetTargetInfo CredGetTargetInfoW
290 #define CredMarshalCredential CredMarshalCredentialW
291 #define CredUnmarshalCredential CredUnmarshalCredentialW
292 #define CredIsMarshaledCredential CredIsMarshaledCredentialW
293 #define CredUIPromptForCredentials CredUIPromptForCredentialsW
294 #define CredUIParseUserName CredUIParseUserNameW
295 #define CredUICmdLinePromptForCredentials CredUICmdLinePromptForCredentialsW
296 #define CredUIConfirmCredentials CredUIConfirmCredentialsW
297 #else
298 #define CredWrite CredWriteA
299 #define CredRead CredReadA
300 #define CredEnumerate CredEnumerateA
301 #define CredWriteDomainCredentials CredWriteDomainCredentialsA
302 #define CredReadDomainCredentials CredReadDomainCredentialsA
303 #define CredDelete CredDeleteA
304 #define CredRename CredRenameA
305 #define CredGetTargetInfo CredGetTargetInfoA
306 #define CredMarshalCredential CredMarshalCredentialA
307 #define CredUnmarshalCredential CredUnmarshalCredentialA
308 #define CredIsMarshaledCredential CredIsMarshaledCredentialA
309 #define CredUIPromptForCredentials CredUIPromptForCredentialsA
310 #define CredUIParseUserName CredUIParseUserNameA
311 #define CredUICmdLinePromptForCredentials CredUICmdLinePromptForCredentialsA
312 #define CredUIConfirmCredentials CredUIConfirmCredentialsA
313 #endif
314
315 WINADVAPI WINBOOL WINAPI CredWriteW(PCREDENTIALW Credential,DWORD Flags);
316 WINADVAPI WINBOOL WINAPI CredWriteA(PCREDENTIALA Credential,DWORD Flags);
317 WINADVAPI WINBOOL WINAPI CredReadW(LPCWSTR TargetName,DWORD Type,DWORD Flags,PCREDENTIALW *Credential);
318 WINADVAPI WINBOOL WINAPI CredReadA(LPCSTR TargetName,DWORD Type,DWORD Flags,PCREDENTIALA *Credential);
319 WINADVAPI WINBOOL WINAPI CredEnumerateW(LPCWSTR Filter,DWORD Flags,DWORD *Count,PCREDENTIALW **Credential);
320 WINADVAPI WINBOOL WINAPI CredEnumerateA(LPCSTR Filter,DWORD Flags,DWORD *Count,PCREDENTIALA **Credential);
321 WINADVAPI WINBOOL WINAPI CredWriteDomainCredentialsW(PCREDENTIAL_TARGET_INFORMATIONW TargetInfo,PCREDENTIALW Credential,DWORD Flags);
322 WINADVAPI WINBOOL WINAPI CredWriteDomainCredentialsA(PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,PCREDENTIALA Credential,DWORD Flags);
323
324 #define CRED_CACHE_TARGET_INFORMATION 0x1
325
326 WINADVAPI WINBOOL WINAPI CredReadDomainCredentialsW(PCREDENTIAL_TARGET_INFORMATIONW TargetInfo,DWORD Flags,DWORD *Count,PCREDENTIALW **Credential);
327 WINADVAPI WINBOOL WINAPI CredReadDomainCredentialsA(PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,DWORD Flags,DWORD *Count,PCREDENTIALA **Credential);
328 WINADVAPI WINBOOL WINAPI CredDeleteW(LPCWSTR TargetName,DWORD Type,DWORD Flags);
329 WINADVAPI WINBOOL WINAPI CredDeleteA(LPCSTR TargetName,DWORD Type,DWORD Flags);
330 WINADVAPI WINBOOL WINAPI CredRenameW(LPCWSTR OldTargetName,LPCWSTR NewTargetName,DWORD Type,DWORD Flags);
331 WINADVAPI WINBOOL WINAPI CredRenameA(LPCSTR OldTargetName,LPCSTR NewTargetName,DWORD Type,DWORD Flags);
332
333 #define CRED_ALLOW_NAME_RESOLUTION 0x1
334
335 WINADVAPI WINBOOL WINAPI CredGetTargetInfoW(LPCWSTR TargetName,DWORD Flags,PCREDENTIAL_TARGET_INFORMATIONW *TargetInfo);
336 WINADVAPI WINBOOL WINAPI CredGetTargetInfoA(LPCSTR TargetName,DWORD Flags,PCREDENTIAL_TARGET_INFORMATIONA *TargetInfo);
337 WINADVAPI WINBOOL WINAPI CredMarshalCredentialW(CRED_MARSHAL_TYPE CredType,PVOID Credential,LPWSTR *MarshaledCredential);
338 WINADVAPI WINBOOL WINAPI CredMarshalCredentialA(CRED_MARSHAL_TYPE CredType,PVOID Credential,LPSTR *MarshaledCredential);
339 WINADVAPI WINBOOL WINAPI CredUnmarshalCredentialW(LPCWSTR MarshaledCredential,PCRED_MARSHAL_TYPE CredType,PVOID *Credential);
340 WINADVAPI WINBOOL WINAPI CredUnmarshalCredentialA(LPCSTR MarshaledCredential,PCRED_MARSHAL_TYPE CredType,PVOID *Credential);
341 WINADVAPI WINBOOL WINAPI CredIsMarshaledCredentialW(LPCWSTR MarshaledCredential);
342 WINADVAPI WINBOOL WINAPI CredIsMarshaledCredentialA(LPCSTR MarshaledCredential);
343 WINADVAPI WINBOOL WINAPI CredGetSessionTypes (DWORD MaximumPersistCount,LPDWORD MaximumPersist);
344 WINADVAPI VOID WINAPI CredFree (PVOID Buffer);
345 CREDUIAPI DWORD WINAPI CredUIPromptForCredentialsW(PCREDUI_INFOW pUiInfo,PCWSTR pszTargetName,PCtxtHandle pContext,DWORD dwAuthError,PWSTR pszUserName,ULONG ulUserNameBufferSize,PWSTR pszPassword,ULONG ulPasswordBufferSize,WINBOOL *save,DWORD dwFlags);
346 CREDUIAPI DWORD WINAPI CredUIPromptForCredentialsA(PCREDUI_INFOA pUiInfo,PCSTR pszTargetName,PCtxtHandle pContext,DWORD dwAuthError,PSTR pszUserName,ULONG ulUserNameBufferSize,PSTR pszPassword,ULONG ulPasswordBufferSize,WINBOOL *save,DWORD dwFlags);
347 CREDUIAPI DWORD WINAPI CredUIParseUserNameW(CONST WCHAR *UserName,WCHAR *user,ULONG userBufferSize,WCHAR *domain,ULONG domainBufferSize);
348 CREDUIAPI DWORD WINAPI CredUIParseUserNameA(CONST CHAR *userName,CHAR *user,ULONG userBufferSize,CHAR *domain,ULONG domainBufferSize);
349 CREDUIAPI DWORD WINAPI CredUICmdLinePromptForCredentialsW(PCWSTR pszTargetName,PCtxtHandle pContext,DWORD dwAuthError,PWSTR UserName,ULONG ulUserBufferSize,PWSTR pszPassword,ULONG ulPasswordBufferSize,PBOOL pfSave,DWORD dwFlags);
350 CREDUIAPI DWORD WINAPI CredUICmdLinePromptForCredentialsA(PCSTR pszTargetName,PCtxtHandle pContext,DWORD dwAuthError,PSTR UserName,ULONG ulUserBufferSize,PSTR pszPassword,ULONG ulPasswordBufferSize,PBOOL pfSave,DWORD dwFlags);
351 CREDUIAPI DWORD WINAPI CredUIConfirmCredentialsW(PCWSTR pszTargetName,WINBOOL bConfirm);
352 CREDUIAPI DWORD WINAPI CredUIConfirmCredentialsA(PCSTR pszTargetName,WINBOOL bConfirm);
353 CREDUIAPI DWORD WINAPI CredUIStoreSSOCredW (PCWSTR pszRealm,PCWSTR pszUsername,PCWSTR pszPassword,WINBOOL bPersist);
354 CREDUIAPI DWORD WINAPI CredUIReadSSOCredW (PCWSTR pszRealm,PWSTR *ppszUsername);
355
356 #ifdef __cplusplus
357 }
358 #endif
359 #endif