22#include <winpr/winpr.h>
29#include <winpr/wtypes.h>
31#define CERT_HASH_LENGTH 20
36 UsernameTargetCredential,
38 UsernameForPackedCredentials,
46 UCHAR rgbHashOfCert[CERT_HASH_LENGTH];
72 DWORD CredentialBlobSize;
73 LPBYTE CredentialBlob;
88 DWORD CredentialBlobSize;
89 LPBYTE CredentialBlob;
100 LPSTR NetbiosServerName;
102 LPSTR NetbiosDomainName;
114 LPWSTR NetbiosServerName;
115 LPWSTR DnsServerName;
116 LPWSTR NetbiosDomainName;
117 LPWSTR DnsDomainName;
129 CredTrustedProtection,
130 CredForSystemProtection
131} CRED_PROTECTION_TYPE,
132 *PCRED_PROTECTION_TYPE;
134WINPR_API BOOL CredMarshalCredentialA(CRED_MARSHAL_TYPE CredType, PVOID Credential,
135 LPSTR* MarshaledCredential);
136WINPR_API BOOL CredMarshalCredentialW(CRED_MARSHAL_TYPE CredType, PVOID Credential,
137 LPWSTR* MarshaledCredential);
140#define CredMarshalCredential CredMarshalCredentialW
142#define CredMarshalCredential CredMarshalCredentialA
145WINPR_API BOOL CredUnmarshalCredentialW(LPCWSTR cred, PCRED_MARSHAL_TYPE CredType,
148WINPR_API BOOL CredUnmarshalCredentialA(LPCSTR cred, PCRED_MARSHAL_TYPE CredType,
152#define CredUnmarshalCredential CredUnmarshalCredentialW
154#define CredUnmarshalCredential CredUnmarshalCredentialA
157WINPR_API BOOL CredIsMarshaledCredentialA(LPCSTR MarshaledCredential);
158WINPR_API BOOL CredIsMarshaledCredentialW(LPCWSTR MarshaledCredential);
159WINPR_API VOID CredFree(PVOID Buffer);