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;
139 WINPR_API BOOL CredMarshalCredentialA(CRED_MARSHAL_TYPE CredType, PVOID Credential,
140 LPSTR* MarshaledCredential);
141 WINPR_API BOOL CredMarshalCredentialW(CRED_MARSHAL_TYPE CredType, PVOID Credential,
142 LPWSTR* MarshaledCredential);
145#define CredMarshalCredential CredMarshalCredentialW
147#define CredMarshalCredential CredMarshalCredentialA
150WINPR_API BOOL CredUnmarshalCredentialW(LPCWSTR cred, PCRED_MARSHAL_TYPE CredType,
153WINPR_API BOOL CredUnmarshalCredentialA(LPCSTR cred, PCRED_MARSHAL_TYPE CredType,
157#define CredUnmarshalCredential CredUnmarshalCredentialW
159#define CredUnmarshalCredential CredUnmarshalCredentialA
162WINPR_API BOOL CredIsMarshaledCredentialA(LPCSTR MarshaledCredential);
163WINPR_API BOOL CredIsMarshaledCredentialW(LPCWSTR MarshaledCredential);
164WINPR_API VOID CredFree(PVOID Buffer);