winapi_ui_automation/um/
davclnt.rs1use shared::minwindef::{BOOL, DWORD, LPDWORD, PBYTE, PULONG, ULONG};
8use um::winnt::{HANDLE, LPCWSTR, LPWSTR, PVOID, PWSTR};
9pub type OPAQUE_HANDLE = DWORD;
10STRUCT!{struct DAV_CALLBACK_AUTH_BLOB {
11 pBuffer: PVOID,
12 ulSize: ULONG,
13 ulType: ULONG,
14}}
15pub type PDAV_CALLBACK_AUTH_BLOB = *mut DAV_CALLBACK_AUTH_BLOB;
16STRUCT!{struct DAV_CALLBACK_AUTH_UNP {
17 pszUserName: LPWSTR,
18 ulUserNameLength: ULONG,
19 pszPassword: LPWSTR,
20 ulPasswordLength: ULONG,
21}}
22pub type PDAV_CALLBACK_AUTH_UNP = *mut DAV_CALLBACK_AUTH_UNP;
23STRUCT!{struct DAV_CALLBACK_CRED {
24 AuthBlob: DAV_CALLBACK_AUTH_BLOB,
25 UNPBlob: DAV_CALLBACK_AUTH_UNP,
26 bAuthBlobValid: BOOL,
27 bSave: BOOL,
28}}
29pub type PDAV_CALLBACK_CRED = *mut DAV_CALLBACK_CRED;
30pub const DAV_AUTHN_SCHEME_BASIC: DWORD = 0x00000001;
31pub const DAV_AUTHN_SCHEME_NTLM: DWORD = 0x00000002;
32pub const DAV_AUTHN_SCHEME_PASSPORT: DWORD = 0x00000004;
33pub const DAV_AUTHN_SCHEME_DIGEST: DWORD = 0x00000008;
34pub const DAV_AUTHN_SCHEME_NEGOTIATE: DWORD = 0x00000010;
35pub const DAV_AUTHN_SCHEME_CERT: DWORD = 0x00010000;
36pub const DAV_AUTHN_SCHEME_FBA: DWORD = 0x00100000;
37ENUM!{enum AUTHNEXTSTEP {
38 DefaultBehavior,
39 RetryRequest,
40 CancelRequest,
41}}
42FN!{stdcall PFNDAVAUTHCALLBACK_FREECRED(
43 pbuffer: PVOID,
44) -> DWORD}
45FN!{stdcall PFNDAVAUTHCALLBACK(
46 lpwzServerName: LPWSTR,
47 lpwzRemoteName: LPWSTR,
48 dwAuthScheme: DWORD,
49 dwFlags: DWORD,
50 pCallbackCred: PDAV_CALLBACK_CRED,
51 NextStep: *mut AUTHNEXTSTEP,
52 pFreeCred: *mut PFNDAVAUTHCALLBACK_FREECRED,
53) -> DWORD}
54extern "system" {
55 pub fn DavAddConnection(
56 ConnectionHandle: *mut HANDLE,
57 RemoteName: LPCWSTR,
58 UserName: LPCWSTR,
59 Password: LPCWSTR,
60 ClientCert: PBYTE,
61 CertSize: DWORD,
62 ) -> DWORD;
63 pub fn DavDeleteConnection(
64 ConnectionHandle: HANDLE,
65 ) -> DWORD;
66 pub fn DavGetUNCFromHTTPPath(
67 HttpPath: LPCWSTR,
68 UncPath: LPWSTR,
69 lpSize: LPDWORD,
70 ) -> DWORD;
71 pub fn DavGetHTTPFromUNCPath(
72 UncPath: LPCWSTR,
73 HttpPath: LPWSTR,
74 lpSize: LPDWORD,
75 ) -> DWORD;
76 pub fn DavGetTheLockOwnerOfTheFile(
77 FileName: LPCWSTR,
78 LockOwnerName: PWSTR,
79 LockOwnerNameLengthInBytes: PULONG,
80 ) -> DWORD;
81 pub fn DavGetExtendedError(
82 hFile: HANDLE,
83 ExtError: *mut DWORD,
84 ExtErrorString: LPWSTR,
85 cChSize: *mut DWORD,
86 ) -> DWORD;
87 pub fn DavFlushFile(
88 hFile: HANDLE,
89 ) -> DWORD;
90 pub fn DavInvalidateCache(
91 URLName: LPWSTR,
92 ) -> DWORD;
93 pub fn DavCancelConnectionsToServer(
94 URLName: LPWSTR,
95 fForce: BOOL,
96 ) -> DWORD;
97 pub fn DavRegisterAuthCallback(
98 CallBack: PFNDAVAUTHCALLBACK,
99 Version: ULONG,
100 ) -> OPAQUE_HANDLE;
101 pub fn DavUnregisterAuthCallback(
102 hCallback: OPAQUE_HANDLE,
103 );
104}