22#include <winpr/winpr.h>
29#include <winpr/wtypes.h>
31#define CERT_HASH_LENGTH 20
41 UsernameTargetCredential,
43 UsernameForPackedCredentials,
51 UCHAR rgbHashOfCert[CERT_HASH_LENGTH];
77 DWORD CredentialBlobSize;
78 LPBYTE CredentialBlob;
93 DWORD CredentialBlobSize;
94 LPBYTE CredentialBlob;
105 LPSTR NetbiosServerName;
107 LPSTR NetbiosDomainName;
119 LPWSTR NetbiosServerName;
120 LPWSTR DnsServerName;
121 LPWSTR NetbiosDomainName;
122 LPWSTR DnsDomainName;
134 CredTrustedProtection,
135 CredForSystemProtection
136 } CRED_PROTECTION_TYPE,
137 *PCRED_PROTECTION_TYPE;
140 WINPR_API BOOL CredMarshalCredentialA(CRED_MARSHAL_TYPE CredType, PVOID Credential,
141 LPSTR* MarshaledCredential);
144 WINPR_API BOOL CredMarshalCredentialW(CRED_MARSHAL_TYPE CredType, PVOID Credential,
145 LPWSTR* MarshaledCredential);
148#define CredMarshalCredential CredMarshalCredentialW
150#define CredMarshalCredential CredMarshalCredentialA
154 WINPR_API BOOL CredUnmarshalCredentialW(LPCWSTR cred, PCRED_MARSHAL_TYPE CredType,
158 WINPR_API BOOL CredUnmarshalCredentialA(LPCSTR cred, PCRED_MARSHAL_TYPE CredType,
162#define CredUnmarshalCredential CredUnmarshalCredentialW
164#define CredUnmarshalCredential CredUnmarshalCredentialA
168 WINPR_API BOOL CredIsMarshaledCredentialA(LPCSTR MarshaledCredential);
171 WINPR_API BOOL CredIsMarshaledCredentialW(LPCWSTR MarshaledCredential);
172 WINPR_API VOID CredFree(PVOID Buffer);