]> git.proxmox.com Git - cargo.git/blob - vendor/advapi32-sys-0.2.0/src/lib.rs
New upstream version 0.22.0
[cargo.git] / vendor / advapi32-sys-0.2.0 / src / lib.rs
1 // Copyright © 2015, Peter Atashian
2 // Licensed under the MIT License <LICENSE.md>
3 //! FFI bindings to advapi32.
4 #![cfg(windows)]
5 extern crate winapi;
6 use winapi::*;
7 extern "system" {
8 pub fn AbortSystemShutdownA(lpMachineName: LPCSTR) -> BOOL;
9 pub fn AbortSystemShutdownW(lpMachineName: LPWSTR) -> BOOL;
10 // pub fn AccessCheck();
11 // pub fn AccessCheckAndAuditAlarmA();
12 // pub fn AccessCheckAndAuditAlarmW();
13 // pub fn AccessCheckByType();
14 // pub fn AccessCheckByTypeAndAuditAlarmA();
15 // pub fn AccessCheckByTypeAndAuditAlarmW();
16 // pub fn AccessCheckByTypeResultList();
17 // pub fn AccessCheckByTypeResultListAndAuditAlarmA();
18 // pub fn AccessCheckByTypeResultListAndAuditAlarmByHandleA();
19 // pub fn AccessCheckByTypeResultListAndAuditAlarmByHandleW();
20 // pub fn AccessCheckByTypeResultListAndAuditAlarmW();
21 // pub fn AddAccessAllowedAce();
22 // pub fn AddAccessAllowedAceEx();
23 // pub fn AddAccessAllowedObjectAce();
24 // pub fn AddAccessDeniedAce();
25 // pub fn AddAccessDeniedAceEx();
26 // pub fn AddAccessDeniedObjectAce();
27 // pub fn AddAce();
28 // pub fn AddAuditAccessAce();
29 // pub fn AddAuditAccessAceEx();
30 // pub fn AddAuditAccessObjectAce();
31 // pub fn AddConditionalAce();
32 // pub fn AddMandatoryAce();
33 // pub fn AddUsersToEncryptedFile();
34 // pub fn AddUsersToEncryptedFileEx();
35 // pub fn AdjustTokenGroups();
36 pub fn AdjustTokenPrivileges(
37 TokenHandle: HANDLE, DisableAllPrivileges: BOOL, NewState: PTOKEN_PRIVILEGES,
38 BufferLength: DWORD, PreviousState: PTOKEN_PRIVILEGES, ReturnLength: PDWORD,
39 ) -> BOOL;
40 // pub fn AllocateAndInitializeSid();
41 pub fn AllocateLocallyUniqueId(Luid: PLUID) -> BOOL;
42 pub fn AreAllAccessesGranted(GrantedAccess: DWORD, DesiredAccess: DWORD) -> BOOL;
43 pub fn AreAnyAccessesGranted(GrantedAccess: DWORD, DesiredAccess: DWORD) -> BOOL;
44 // pub fn AuditComputeEffectivePolicyBySid();
45 // pub fn AuditComputeEffectivePolicyByToken();
46 // pub fn AuditEnumerateCategories();
47 // pub fn AuditEnumeratePerUserPolicy();
48 // pub fn AuditEnumerateSubCategories();
49 pub fn AuditFree(Buffer: PVOID);
50 // pub fn AuditLookupCategoryGuidFromCategoryId();
51 // pub fn AuditLookupCategoryIdFromCategoryGuid();
52 // pub fn AuditLookupCategoryNameA();
53 // pub fn AuditLookupCategoryNameW();
54 // pub fn AuditLookupSubCategoryNameA();
55 // pub fn AuditLookupSubCategoryNameW();
56 // pub fn AuditQueryGlobalSaclA();
57 // pub fn AuditQueryGlobalSaclW();
58 // pub fn AuditQueryPerUserPolicy();
59 // pub fn AuditQuerySecurity();
60 // pub fn AuditQuerySystemPolicy();
61 // pub fn AuditSetGlobalSaclA();
62 // pub fn AuditSetGlobalSaclW();
63 // pub fn AuditSetPerUserPolicy();
64 // pub fn AuditSetSecurity();
65 // pub fn AuditSetSystemPolicy();
66 // pub fn BackupEventLogA();
67 // pub fn BackupEventLogW();
68 // pub fn BaseRegCloseKey();
69 // pub fn BaseRegCreateKey();
70 // pub fn BaseRegDeleteKeyEx();
71 // pub fn BaseRegDeleteValue();
72 // pub fn BaseRegFlushKey();
73 // pub fn BaseRegGetVersion();
74 // pub fn BaseRegLoadKey();
75 // pub fn BaseRegOpenKey();
76 // pub fn BaseRegRestoreKey();
77 // pub fn BaseRegSaveKeyEx();
78 // pub fn BaseRegSetKeySecurity();
79 // pub fn BaseRegSetValue();
80 // pub fn BaseRegUnLoadKey();
81 // pub fn BuildExplicitAccessWithNameA();
82 // pub fn BuildExplicitAccessWithNameW();
83 // pub fn BuildImpersonateExplicitAccessWithNameA();
84 // pub fn BuildImpersonateExplicitAccessWithNameW();
85 // pub fn BuildImpersonateTrusteeA();
86 // pub fn BuildImpersonateTrusteeW();
87 // pub fn BuildSecurityDescriptorA();
88 // pub fn BuildSecurityDescriptorW();
89 // pub fn BuildTrusteeWithNameA();
90 // pub fn BuildTrusteeWithNameW();
91 // pub fn BuildTrusteeWithObjectsAndNameA();
92 // pub fn BuildTrusteeWithObjectsAndNameW();
93 // pub fn BuildTrusteeWithObjectsAndSidA();
94 // pub fn BuildTrusteeWithObjectsAndSidW();
95 // pub fn BuildTrusteeWithSidA();
96 // pub fn BuildTrusteeWithSidW();
97 // pub fn CancelOverlappedAccess();
98 // pub fn ChangeServiceConfig2A();
99 // pub fn ChangeServiceConfig2W();
100 // pub fn ChangeServiceConfigA();
101 // pub fn ChangeServiceConfigW();
102 // pub fn CheckForHiberboot();
103 // pub fn CheckTokenMembership();
104 // pub fn ClearEventLogA();
105 // pub fn ClearEventLogW();
106 // pub fn CloseCodeAuthzLevel();
107 // pub fn CloseEncryptedFileRaw();
108 // pub fn CloseEventLog();
109 pub fn CloseServiceHandle(hSCObject: SC_HANDLE) -> BOOL;
110 // pub fn CloseThreadWaitChainSession();
111 // pub fn CloseTrace();
112 // pub fn CommandLineFromMsiDescriptor();
113 // pub fn ComputeAccessTokenFromCodeAuthzLevel();
114 pub fn ControlService(
115 hService: SC_HANDLE, dwControl: DWORD, lpServiceStatus: LPSERVICE_STATUS,
116 ) -> BOOL;
117 // pub fn ControlServiceExA();
118 // pub fn ControlServiceExW();
119 // pub fn ControlTraceA();
120 // pub fn ControlTraceW();
121 // pub fn ConvertAccessToSecurityDescriptorA();
122 // pub fn ConvertAccessToSecurityDescriptorW();
123 // pub fn ConvertSDToStringSDDomainW();
124 // pub fn ConvertSDToStringSDRootDomainA();
125 // pub fn ConvertSDToStringSDRootDomainW();
126 // pub fn ConvertSecurityDescriptorToAccessA();
127 // pub fn ConvertSecurityDescriptorToAccessNamedA();
128 // pub fn ConvertSecurityDescriptorToAccessNamedW();
129 // pub fn ConvertSecurityDescriptorToAccessW();
130 // pub fn ConvertSecurityDescriptorToStringSecurityDescriptorA();
131 // pub fn ConvertSecurityDescriptorToStringSecurityDescriptorW();
132 // pub fn ConvertSidToStringSidA();
133 // pub fn ConvertSidToStringSidW();
134 // pub fn ConvertStringSDToSDDomainA();
135 // pub fn ConvertStringSDToSDDomainW();
136 // pub fn ConvertStringSDToSDRootDomainA();
137 // pub fn ConvertStringSDToSDRootDomainW();
138 // pub fn ConvertStringSecurityDescriptorToSecurityDescriptorA();
139 // pub fn ConvertStringSecurityDescriptorToSecurityDescriptorW();
140 // pub fn ConvertStringSidToSidA();
141 // pub fn ConvertStringSidToSidW();
142 // pub fn ConvertToAutoInheritPrivateObjectSecurity();
143 // pub fn CopySid();
144 // pub fn CreateCodeAuthzLevel();
145 // pub fn CreatePrivateObjectSecurity();
146 // pub fn CreatePrivateObjectSecurityEx();
147 // pub fn CreatePrivateObjectSecurityWithMultipleInheritance();
148 // pub fn CreateProcessAsUserA();
149 // pub fn CreateProcessAsUserW();
150 // pub fn CreateProcessWithLogonW();
151 // pub fn CreateProcessWithTokenW();
152 // pub fn CreateRestrictedToken();
153 pub fn CreateServiceA(
154 hSCManager: SC_HANDLE, lpServiceName: LPCSTR, lpDisplayName: LPCSTR,
155 dwDesiredAccess: DWORD, dwServiceType: DWORD, dwStartType: DWORD, dwErrorControl: DWORD,
156 lpBinaryPathName: LPCSTR, lpLoadOrderGroup: LPCSTR, lpdwTagId: LPDWORD,
157 lpDependencies: LPCSTR, lpServiceStartName: LPCSTR, lpPassword: LPCSTR,
158 ) -> SC_HANDLE;
159 pub fn CreateServiceW(
160 hSCManager: SC_HANDLE, lpServiceName: LPCWSTR, lpDisplayName: LPCWSTR,
161 dwDesiredAccess: DWORD, dwServiceType: DWORD, dwStartType: DWORD, dwErrorControl: DWORD,
162 lpBinaryPathName: LPCWSTR, lpLoadOrderGroup: LPCWSTR, lpdwTagId: LPDWORD,
163 lpDependencies: LPCWSTR, lpServiceStartName: LPCWSTR, lpPassword: LPCWSTR,
164 ) -> SC_HANDLE;
165 // pub fn CreateTraceInstanceId();
166 // pub fn CreateWellKnownSid();
167 pub fn CredDeleteA(TargetName: LPCSTR, Type: DWORD, Flags: DWORD) -> BOOL;
168 pub fn CredDeleteW(TargetName: LPCWSTR, Type: DWORD, Flags: DWORD) -> BOOL;
169 // pub fn CredEnumerateA();
170 // pub fn CredEnumerateW();
171 // pub fn CredFindBestCredentialA();
172 // pub fn CredFindBestCredentialW();
173 pub fn CredFree(Buffer: PVOID);
174 // pub fn CredGetSessionTypes();
175 // pub fn CredGetTargetInfoA();
176 // pub fn CredGetTargetInfoW();
177 // pub fn CredIsMarshaledCredentialA();
178 // pub fn CredIsMarshaledCredentialW();
179 // pub fn CredIsProtectedA();
180 // pub fn CredIsProtectedW();
181 // pub fn CredMarshalCredentialA();
182 // pub fn CredMarshalCredentialW();
183 // pub fn CredProtectA();
184 // pub fn CredProtectW();
185 pub fn CredReadA(
186 TargetName: LPCSTR, Type: DWORD, Flags: DWORD, Credential: *mut PCREDENTIALA,
187 ) -> BOOL;
188 // pub fn CredReadDomainCredentialsA();
189 // pub fn CredReadDomainCredentialsW();
190 pub fn CredReadW(
191 TargetName: LPCWSTR, Type: DWORD, Flags: DWORD, Credential: *mut PCREDENTIALW,
192 ) -> BOOL;
193 // pub fn CredRenameA();
194 // pub fn CredRenameW();
195 // pub fn CredUnmarshalCredentialA();
196 // pub fn CredUnmarshalCredentialW();
197 // pub fn CredUnprotectA();
198 // pub fn CredUnprotectW();
199 pub fn CredWriteA(Credential: PCREDENTIALA, Flags: DWORD) -> BOOL;
200 // pub fn CredWriteDomainCredentialsA();
201 // pub fn CredWriteDomainCredentialsW();
202 pub fn CredWriteW(Credential: PCREDENTIALW, Flags: DWORD) -> BOOL;
203 pub fn CryptAcquireContextA(
204 phProv: *mut HCRYPTPROV, szContainer: LPCSTR, szProvider: LPCSTR, dwProvType: DWORD,
205 dwFlags: DWORD,
206 ) -> BOOL;
207 pub fn CryptAcquireContextW(
208 phProv: *mut HCRYPTPROV, szContainer: LPCWSTR, szProvider: LPCWSTR, dwProvType: DWORD,
209 dwFlags: DWORD,
210 ) -> BOOL;
211 pub fn CryptContextAddRef(hProv: HCRYPTPROV, pdwReserved: *mut DWORD, dwFlags: DWORD) -> BOOL;
212 pub fn CryptCreateHash(
213 hProv: HCRYPTPROV, Algid: ALG_ID, hKey: HCRYPTKEY, dwFlags: DWORD, phHash: *mut HCRYPTHASH,
214 ) -> BOOL;
215 pub fn CryptDecrypt(
216 hKey: HCRYPTKEY, hHash: HCRYPTHASH, Final: BOOL, dwFlags: DWORD, pbData: *mut BYTE,
217 pdwDataLen: *mut DWORD,
218 ) -> BOOL;
219 pub fn CryptDeriveKey(
220 hProv: HCRYPTPROV, Algid: ALG_ID, hBaseData: HCRYPTHASH, dwFlags: DWORD,
221 phKey: *mut HCRYPTKEY,
222 ) -> BOOL;
223 pub fn CryptDestroyHash(hHash: HCRYPTHASH) -> BOOL;
224 pub fn CryptDestroyKey(hKey: HCRYPTKEY) -> BOOL;
225 pub fn CryptDuplicateHash(
226 hHash: HCRYPTHASH, pdwReserved: *mut DWORD, dwFlags: DWORD, phHash: *mut HCRYPTHASH,
227 ) -> BOOL;
228 pub fn CryptDuplicateKey(
229 hKey: HCRYPTKEY, pdwReserved: *mut DWORD, dwFlags: DWORD, phKey: *mut HCRYPTKEY,
230 ) -> BOOL;
231 pub fn CryptEncrypt(
232 hKey: HCRYPTKEY, hHash: HCRYPTHASH, Final: BOOL, dwFlags: DWORD, pbData: *mut BYTE,
233 pdwDataLen: *mut DWORD, dwBufLen: DWORD,
234 ) -> BOOL;
235 pub fn CryptEnumProviderTypesA(
236 dwIndex: DWORD, pdwReserved: *mut DWORD, dwFlags: DWORD, pdwProvType: *mut DWORD,
237 szTypeName: LPSTR, pcbTypeName: *mut DWORD,
238 ) -> BOOL;
239 pub fn CryptEnumProviderTypesW(
240 dwIndex: DWORD, pdwReserved: *mut DWORD, dwFlags: DWORD, pdwProvType: *mut DWORD,
241 szTypeName: LPWSTR, pcbTypeName: *mut DWORD,
242 ) -> BOOL;
243 pub fn CryptEnumProvidersA(
244 dwIndex: DWORD, pdwReserved: *mut DWORD, dwFlags: DWORD, pdwProvType: *mut DWORD,
245 szProvName: LPSTR, pcbProvName: *mut DWORD,
246 ) -> BOOL;
247 pub fn CryptEnumProvidersW(
248 dwIndex: DWORD, pdwReserved: *mut DWORD, dwFlags: DWORD, pdwProvType: *mut DWORD,
249 szProvName: LPWSTR, pcbProvName: *mut DWORD,
250 ) -> BOOL;
251 pub fn CryptExportKey(
252 hKey: HCRYPTKEY, hExpKey: HCRYPTKEY, dwBlobType: DWORD, dwFlags: DWORD, pbData: *mut BYTE,
253 pdwDataLen: *mut DWORD,
254 ) -> BOOL;
255 pub fn CryptGenKey(
256 hProv: HCRYPTPROV, Algid: ALG_ID, dwFlags: DWORD, phKey: *mut HCRYPTKEY,
257 ) -> BOOL;
258 pub fn CryptGenRandom(hProv: HCRYPTPROV, dwLen: DWORD, pbBuffer: *mut BYTE) -> BOOL;
259 pub fn CryptGetDefaultProviderA(
260 dwProvType: DWORD, pdwReserved: *mut DWORD, dwFlags: DWORD, pszProvName: LPSTR,
261 pcbProvName: *mut DWORD,
262 ) -> BOOL;
263 pub fn CryptGetDefaultProviderW(
264 dwProvType: DWORD, pdwReserved: *mut DWORD, dwFlags: DWORD, pszProvName: LPWSTR,
265 pcbProvName: *mut DWORD,
266 ) -> BOOL;
267 pub fn CryptGetHashParam(
268 hHash: HCRYPTHASH, dwParam: DWORD, pbData: *mut BYTE, pdwDataLen: *mut DWORD,
269 dwFlags: DWORD,
270 ) -> BOOL;
271 pub fn CryptGetKeyParam(
272 hKey: HCRYPTKEY, dwParam: DWORD, pbData: *mut BYTE, pdwDataLen: *mut DWORD, dwFlags: DWORD,
273 ) -> BOOL;
274 pub fn CryptGetProvParam(
275 hProv: HCRYPTPROV, dwParam: DWORD, pbData: *mut BYTE, pdwDataLen: *mut DWORD,
276 dwFlags: DWORD,
277 ) -> BOOL;
278 pub fn CryptGetUserKey(hProv: HCRYPTPROV, dwKeySpec: DWORD, phUserKey: *mut HCRYPTKEY) -> BOOL;
279 pub fn CryptHashData(
280 hHash: HCRYPTHASH, pbData: *const BYTE, dwDataLen: DWORD, dwFlags: DWORD,
281 ) -> BOOL;
282 pub fn CryptHashSessionKey(hHash: HCRYPTHASH, hKey: HCRYPTKEY, dwFlags: DWORD) -> BOOL;
283 pub fn CryptImportKey(
284 hProv: HCRYPTPROV, pbData: *const BYTE, dwDataLen: DWORD, hPubKey: HCRYPTKEY,
285 dwFlags: DWORD, phKey: *mut HCRYPTKEY,
286 ) -> BOOL;
287 pub fn CryptReleaseContext(hProv: HCRYPTPROV, dwFlags: DWORD) -> BOOL;
288 pub fn CryptSetHashParam(
289 hHash: HCRYPTHASH, dwParam: DWORD, pbData: *const BYTE, dwFlags: DWORD,
290 ) -> BOOL;
291 pub fn CryptSetKeyParam(
292 hKey: HCRYPTKEY, dwParam: DWORD, pbData: *const BYTE, dwFlags: DWORD,
293 ) -> BOOL;
294 pub fn CryptSetProvParam(
295 hProv: HCRYPTPROV, dwParam: DWORD, pbData: *const BYTE, dwFlags: DWORD,
296 ) -> BOOL;
297 pub fn CryptSetProviderA(pszProvName: LPCSTR, dwProvType: DWORD) -> BOOL;
298 pub fn CryptSetProviderExA(
299 pszProvName: LPCSTR, dwProvType: DWORD, pdwReserved: *mut DWORD, dwFlags: DWORD,
300 ) -> BOOL;
301 pub fn CryptSetProviderExW(
302 pszProvName: LPCWSTR, dwProvType: DWORD, pdwReserved: *mut DWORD, dwFlags: DWORD,
303 ) -> BOOL;
304 pub fn CryptSetProviderW(pszProvName: LPCWSTR, dwProvType: DWORD) -> BOOL;
305 pub fn CryptSignHashA(
306 hHash: HCRYPTHASH, dwKeySpec: DWORD, szDescription: LPCSTR, dwFlags: DWORD,
307 pbSignature: *mut BYTE, pdwSigLen: *mut DWORD,
308 ) -> BOOL;
309 pub fn CryptSignHashW(
310 hHash: HCRYPTHASH, dwKeySpec: DWORD, szDescription: LPCWSTR, dwFlags: DWORD,
311 pbSignature: *mut BYTE, pdwSigLen: *mut DWORD,
312 ) -> BOOL;
313 pub fn CryptVerifySignatureA(
314 hHash: HCRYPTHASH, pbSignature: *const BYTE, dwSigLen: DWORD, hPubKey: HCRYPTKEY,
315 szDescription: LPCSTR, dwFlags: DWORD,
316 ) -> BOOL;
317 pub fn CryptVerifySignatureW(
318 hHash: HCRYPTHASH, pbSignature: *const BYTE, dwSigLen: DWORD, hPubKey: HCRYPTKEY,
319 szDescription: LPCWSTR, dwFlags: DWORD,
320 ) -> BOOL;
321 // pub fn DecryptFileA();
322 // pub fn DecryptFileW();
323 // pub fn DeleteAce();
324 pub fn DeleteService(hService: SC_HANDLE) -> BOOL;
325 // pub fn DeregisterEventSource();
326 // pub fn DestroyPrivateObjectSecurity();
327 // pub fn DuplicateEncryptionInfoFile();
328 // pub fn DuplicateToken();
329 // pub fn DuplicateTokenEx();
330 // pub fn ElfBackupEventLogFileA();
331 // pub fn ElfBackupEventLogFileW();
332 // pub fn ElfChangeNotify();
333 // pub fn ElfClearEventLogFileA();
334 // pub fn ElfClearEventLogFileW();
335 // pub fn ElfCloseEventLog();
336 // pub fn ElfDeregisterEventSource();
337 // pub fn ElfFlushEventLog();
338 // pub fn ElfNumberOfRecords();
339 // pub fn ElfOldestRecord();
340 // pub fn ElfOpenBackupEventLogA();
341 // pub fn ElfOpenBackupEventLogW();
342 // pub fn ElfOpenEventLogA();
343 // pub fn ElfOpenEventLogW();
344 // pub fn ElfReadEventLogA();
345 // pub fn ElfReadEventLogW();
346 // pub fn ElfRegisterEventSourceA();
347 // pub fn ElfRegisterEventSourceW();
348 // pub fn ElfReportEventA();
349 // pub fn ElfReportEventAndSourceW();
350 // pub fn ElfReportEventW();
351 // pub fn EnableTrace();
352 // pub fn EnableTraceEx();
353 // pub fn EnableTraceEx2();
354 // pub fn EncryptFileA();
355 // pub fn EncryptFileW();
356 // pub fn EncryptedFileKeyInfo();
357 // pub fn EncryptionDisable();
358 // pub fn EnumDependentServicesA();
359 // pub fn EnumDependentServicesW();
360 // pub fn EnumDynamicTimeZoneInformation();
361 // pub fn EnumServiceGroupW();
362 // pub fn EnumServicesStatusA();
363 // pub fn EnumServicesStatusExA();
364 // pub fn EnumServicesStatusExW();
365 // pub fn EnumServicesStatusW();
366 // pub fn EnumerateTraceGuids();
367 // pub fn EnumerateTraceGuidsEx();
368 // pub fn EqualDomainSid();
369 // pub fn EqualPrefixSid();
370 // pub fn EqualSid();
371 // pub fn EtwLogSysConfigExtension();
372 // pub fn EventAccessControl();
373 // pub fn EventAccessQuery();
374 // pub fn EventAccessRemove();
375 // pub fn EventActivityIdControl();
376 // pub fn EventEnabled();
377 // pub fn EventProviderEnabled();
378 // pub fn EventRegister();
379 // pub fn EventSetInformation();
380 // pub fn EventUnregister();
381 // pub fn EventWrite();
382 // pub fn EventWriteEndScenario();
383 // pub fn EventWriteEx();
384 // pub fn EventWriteStartScenario();
385 // pub fn EventWriteString();
386 // pub fn EventWriteTransfer();
387 // pub fn FileEncryptionStatusA();
388 // pub fn FileEncryptionStatusW();
389 // pub fn FindFirstFreeAce();
390 // pub fn FlushEfsCache();
391 // pub fn FlushTraceA();
392 // pub fn FlushTraceW();
393 // pub fn FreeEncryptedFileKeyInfo();
394 // pub fn FreeEncryptedFileMetadata();
395 // pub fn FreeEncryptionCertificateHashList();
396 // pub fn FreeInheritedFromArray();
397 // pub fn FreeSid();
398 // pub fn GetAccessPermissionsForObjectA();
399 // pub fn GetAccessPermissionsForObjectW();
400 // pub fn GetAce();
401 // pub fn GetAclInformation();
402 // pub fn GetAuditedPermissionsFromAclA();
403 // pub fn GetAuditedPermissionsFromAclW();
404 pub fn GetCurrentHwProfileA(lpHwProfileInfo: LPHW_PROFILE_INFOA) -> BOOL;
405 pub fn GetCurrentHwProfileW(lpHwProfileInfo: LPHW_PROFILE_INFOW) -> BOOL;
406 // pub fn GetDynamicTimeZoneInformationEffectiveYears();
407 // pub fn GetEffectiveRightsFromAclA();
408 // pub fn GetEffectiveRightsFromAclW();
409 // pub fn GetEncryptedFileMetadata();
410 // pub fn GetEventLogInformation();
411 // pub fn GetExplicitEntriesFromAclA();
412 // pub fn GetExplicitEntriesFromAclW();
413 // pub fn GetFileSecurityA();
414 // pub fn GetFileSecurityW();
415 // pub fn GetInformationCodeAuthzLevelW();
416 // pub fn GetInformationCodeAuthzPolicyW();
417 // pub fn GetInheritanceSourceA();
418 // pub fn GetInheritanceSourceW();
419 // pub fn GetKernelObjectSecurity();
420 // pub fn GetLengthSid();
421 // pub fn GetLocalManagedApplicationData();
422 // pub fn GetLocalManagedApplications();
423 // pub fn GetManagedApplicationCategories();
424 // pub fn GetManagedApplications();
425 // pub fn GetMultipleTrusteeA();
426 // pub fn GetMultipleTrusteeOperationA();
427 // pub fn GetMultipleTrusteeOperationW();
428 // pub fn GetMultipleTrusteeW();
429 // pub fn GetNamedSecurityInfoA();
430 // pub fn GetNamedSecurityInfoExA();
431 // pub fn GetNamedSecurityInfoExW();
432 // pub fn GetNamedSecurityInfoW();
433 // pub fn GetNumberOfEventLogRecords();
434 // pub fn GetOldestEventLogRecord();
435 // pub fn GetOverlappedAccessResults();
436 // pub fn GetPrivateObjectSecurity();
437 // pub fn GetSecurityDescriptorControl();
438 // pub fn GetSecurityDescriptorDacl();
439 // pub fn GetSecurityDescriptorGroup();
440 // pub fn GetSecurityDescriptorLength();
441 // pub fn GetSecurityDescriptorOwner();
442 // pub fn GetSecurityDescriptorRMControl();
443 // pub fn GetSecurityDescriptorSacl();
444 // pub fn GetSecurityInfo();
445 // pub fn GetSecurityInfoExA();
446 // pub fn GetSecurityInfoExW();
447 // pub fn GetServiceDisplayNameA();
448 // pub fn GetServiceDisplayNameW();
449 // pub fn GetServiceKeyNameA();
450 // pub fn GetServiceKeyNameW();
451 // pub fn GetSidIdentifierAuthority();
452 // pub fn GetSidLengthRequired();
453 // pub fn GetSidSubAuthority();
454 // pub fn GetSidSubAuthorityCount();
455 // pub fn GetStringConditionFromBinary();
456 // pub fn GetThreadWaitChain();
457 // pub fn GetTokenInformation();
458 // pub fn GetTraceEnableFlags();
459 // pub fn GetTraceEnableLevel();
460 // pub fn GetTraceLoggerHandle();
461 // pub fn GetTrusteeFormA();
462 // pub fn GetTrusteeFormW();
463 // pub fn GetTrusteeNameA();
464 // pub fn GetTrusteeNameW();
465 // pub fn GetTrusteeTypeA();
466 // pub fn GetTrusteeTypeW();
467 pub fn GetUserNameA(lpBuffer: LPSTR, pcbBuffer: LPDWORD) -> BOOL;
468 pub fn GetUserNameW(lpBuffer: LPWSTR, pcbBuffer: LPDWORD) -> BOOL;
469 // pub fn GetWindowsAccountDomainSid();
470 // pub fn I_ScSetServiceBitsA();
471 // pub fn I_ScSetServiceBitsW();
472 // pub fn IdentifyCodeAuthzLevelW();
473 // pub fn ImpersonateAnonymousToken();
474 // pub fn ImpersonateLoggedOnUser();
475 // pub fn ImpersonateNamedPipeClient();
476 // pub fn ImpersonateSelf();
477 // pub fn InitializeAcl();
478 // pub fn InitializeSecurityDescriptor();
479 // pub fn InitializeSid();
480 // pub fn InitiateShutdownA();
481 // pub fn InitiateShutdownW();
482 // pub fn InitiateSystemShutdownA();
483 // pub fn InitiateSystemShutdownExA();
484 // pub fn InitiateSystemShutdownExW();
485 // pub fn InitiateSystemShutdownW();
486 // pub fn InstallApplication();
487 // pub fn IsTextUnicode();
488 // pub fn IsTokenRestricted();
489 // pub fn IsTokenUntrusted();
490 // pub fn IsValidAcl();
491 // pub fn IsValidRelativeSecurityDescriptor();
492 // pub fn IsValidSecurityDescriptor();
493 // pub fn IsValidSid();
494 // pub fn IsWellKnownSid();
495 // pub fn LockServiceDatabase();
496 // pub fn LogonUserA();
497 // pub fn LogonUserExA();
498 // pub fn LogonUserExExW();
499 // pub fn LogonUserExW();
500 // pub fn LogonUserW();
501 // pub fn LookupAccountNameA();
502 // pub fn LookupAccountNameW();
503 // pub fn LookupAccountSidA();
504 // pub fn LookupAccountSidW();
505 // pub fn LookupPrivilegeDisplayNameA();
506 // pub fn LookupPrivilegeDisplayNameW();
507 pub fn LookupPrivilegeNameA(
508 lpSystemName: LPCSTR, lpLuid: PLUID, lpName: LPSTR, cchName: LPDWORD,
509 ) -> BOOL;
510 pub fn LookupPrivilegeNameW(
511 lpSystemName: LPCWSTR, lpLuid: PLUID, lpName: LPWSTR, cchName: LPDWORD,
512 ) -> BOOL;
513 pub fn LookupPrivilegeValueA(
514 lpSystemName: LPCSTR, lpName: LPCSTR, lpLuid: PLUID,
515 ) -> BOOL;
516 pub fn LookupPrivilegeValueW(
517 lpSystemName: LPCWSTR, lpName: LPCWSTR, lpLuid: PLUID,
518 ) -> BOOL;
519 // pub fn LookupSecurityDescriptorPartsA();
520 // pub fn LookupSecurityDescriptorPartsW();
521 // pub fn LsaAddAccountRights();
522 // pub fn LsaAddPrivilegesToAccount();
523 // pub fn LsaClearAuditLog();
524 // pub fn LsaClose();
525 // pub fn LsaCreateAccount();
526 // pub fn LsaCreateSecret();
527 // pub fn LsaCreateTrustedDomain();
528 // pub fn LsaCreateTrustedDomainEx();
529 // pub fn LsaDelete();
530 // pub fn LsaDeleteTrustedDomain();
531 // pub fn LsaEnumerateAccountRights();
532 // pub fn LsaEnumerateAccounts();
533 // pub fn LsaEnumerateAccountsWithUserRight();
534 // pub fn LsaEnumeratePrivileges();
535 // pub fn LsaEnumeratePrivilegesOfAccount();
536 // pub fn LsaEnumerateTrustedDomains();
537 // pub fn LsaEnumerateTrustedDomainsEx();
538 // pub fn LsaFreeMemory();
539 // pub fn LsaGetAppliedCAPIDs();
540 // pub fn LsaGetQuotasForAccount();
541 // pub fn LsaGetRemoteUserName();
542 // pub fn LsaGetSystemAccessAccount();
543 // pub fn LsaGetUserName();
544 // pub fn LsaICLookupNames();
545 // pub fn LsaICLookupNamesWithCreds();
546 // pub fn LsaICLookupSids();
547 // pub fn LsaICLookupSidsWithCreds();
548 // pub fn LsaLookupNames();
549 // pub fn LsaLookupNames2();
550 // pub fn LsaLookupPrivilegeDisplayName();
551 // pub fn LsaLookupPrivilegeName();
552 // pub fn LsaLookupPrivilegeValue();
553 // pub fn LsaLookupSids();
554 // pub fn LsaLookupSids2();
555 // pub fn LsaManageSidNameMapping();
556 // pub fn LsaNtStatusToWinError();
557 // pub fn LsaOpenAccount();
558 // pub fn LsaOpenPolicy();
559 // pub fn LsaOpenPolicySce();
560 // pub fn LsaOpenSecret();
561 // pub fn LsaOpenTrustedDomain();
562 // pub fn LsaOpenTrustedDomainByName();
563 // pub fn LsaQueryCAPs();
564 // pub fn LsaQueryDomainInformationPolicy();
565 // pub fn LsaQueryForestTrustInformation();
566 // pub fn LsaQueryInfoTrustedDomain();
567 // pub fn LsaQueryInformationPolicy();
568 // pub fn LsaQuerySecret();
569 // pub fn LsaQuerySecurityObject();
570 // pub fn LsaQueryTrustedDomainInfo();
571 // pub fn LsaQueryTrustedDomainInfoByName();
572 // pub fn LsaRemoveAccountRights();
573 // pub fn LsaRemovePrivilegesFromAccount();
574 // pub fn LsaRetrievePrivateData();
575 // pub fn LsaSetCAPs();
576 // pub fn LsaSetDomainInformationPolicy();
577 // pub fn LsaSetForestTrustInformation();
578 // pub fn LsaSetInformationPolicy();
579 // pub fn LsaSetInformationTrustedDomain();
580 // pub fn LsaSetQuotasForAccount();
581 // pub fn LsaSetSecret();
582 // pub fn LsaSetSecurityObject();
583 // pub fn LsaSetSystemAccessAccount();
584 // pub fn LsaSetTrustedDomainInfoByName();
585 // pub fn LsaSetTrustedDomainInformation();
586 // pub fn LsaStorePrivateData();
587 // pub fn MIDL_user_free_Ext();
588 // pub fn MSChapSrvChangePassword();
589 // pub fn MSChapSrvChangePassword2();
590 // pub fn MakeAbsoluteSD();
591 // pub fn MakeAbsoluteSD2();
592 // pub fn MakeSelfRelativeSD();
593 // pub fn MapGenericMask();
594 // pub fn NotifyBootConfigStatus();
595 // pub fn NotifyChangeEventLog();
596 // pub fn NotifyServiceStatusChange();
597 // pub fn NotifyServiceStatusChangeA();
598 // pub fn NotifyServiceStatusChangeW();
599 // pub fn ObjectCloseAuditAlarmA();
600 // pub fn ObjectCloseAuditAlarmW();
601 // pub fn ObjectDeleteAuditAlarmA();
602 // pub fn ObjectDeleteAuditAlarmW();
603 // pub fn ObjectOpenAuditAlarmA();
604 // pub fn ObjectOpenAuditAlarmW();
605 // pub fn ObjectPrivilegeAuditAlarmA();
606 // pub fn ObjectPrivilegeAuditAlarmW();
607 // pub fn OpenBackupEventLogA();
608 // pub fn OpenBackupEventLogW();
609 // pub fn OpenEncryptedFileRawA();
610 // pub fn OpenEncryptedFileRawW();
611 // pub fn OpenEventLogA();
612 // pub fn OpenEventLogW();
613 pub fn OpenProcessToken(
614 ProcessHandle: HANDLE, DesiredAccess: DWORD, TokenHandle: PHANDLE,
615 ) -> BOOL;
616 pub fn OpenSCManagerA(
617 lpMachineName: LPCSTR, lpDatabaseName: LPCSTR, dwDesiredAccess: DWORD,
618 ) -> SC_HANDLE;
619 pub fn OpenSCManagerW(
620 lpMachineName: LPCWSTR, lpDatabaseName: LPCWSTR, dwDesiredAccess: DWORD,
621 ) -> SC_HANDLE;
622 pub fn OpenServiceA(
623 hSCManager: SC_HANDLE, lpServiceName: LPCSTR, dwDesiredAccess: DWORD,
624 ) -> SC_HANDLE;
625 pub fn OpenServiceW(
626 hSCManager: SC_HANDLE, lpServiceName: LPCWSTR, dwDesiredAccess: DWORD,
627 ) -> SC_HANDLE;
628 // pub fn OpenThreadToken();
629 // pub fn OpenThreadWaitChainSession();
630 // pub fn OpenTraceA();
631 // pub fn OpenTraceW();
632 // pub fn OperationEnd();
633 // pub fn OperationStart();
634 // pub fn PerfAddCounters();
635 // pub fn PerfCloseQueryHandle();
636 // pub fn PerfCreateInstance();
637 // pub fn PerfDecrementULongCounterValue();
638 // pub fn PerfDecrementULongLongCounterValue();
639 // pub fn PerfDeleteCounters();
640 // pub fn PerfDeleteInstance();
641 // pub fn PerfEnumerateCounterSet();
642 // pub fn PerfEnumerateCounterSetInstances();
643 // pub fn PerfIncrementULongCounterValue();
644 // pub fn PerfIncrementULongLongCounterValue();
645 // pub fn PerfOpenQueryHandle();
646 // pub fn PerfQueryCounterData();
647 // pub fn PerfQueryCounterInfo();
648 // pub fn PerfQueryCounterSetRegistrationInfo();
649 // pub fn PerfQueryInstance();
650 // pub fn PerfRegCloseKey();
651 // pub fn PerfRegEnumKey();
652 // pub fn PerfRegEnumValue();
653 // pub fn PerfRegQueryInfoKey();
654 // pub fn PerfRegQueryValue();
655 // pub fn PerfRegSetValue();
656 // pub fn PerfSetCounterRefValue();
657 // pub fn PerfSetCounterSetInfo();
658 // pub fn PerfSetULongCounterValue();
659 // pub fn PerfSetULongLongCounterValue();
660 // pub fn PerfStartProvider();
661 // pub fn PerfStartProviderEx();
662 // pub fn PerfStopProvider();
663 // pub fn PrivilegeCheck();
664 // pub fn PrivilegedServiceAuditAlarmA();
665 // pub fn PrivilegedServiceAuditAlarmW();
666 // pub fn ProcessTrace();
667 // pub fn QueryAllTracesA();
668 // pub fn QueryAllTracesW();
669 // pub fn QueryRecoveryAgentsOnEncryptedFile();
670 // pub fn QuerySecurityAccessMask();
671 // pub fn QueryServiceConfig2A();
672 // pub fn QueryServiceConfig2W();
673 // pub fn QueryServiceConfigA();
674 // pub fn QueryServiceConfigW();
675 // pub fn QueryServiceDynamicInformation();
676 // pub fn QueryServiceLockStatusA();
677 // pub fn QueryServiceLockStatusW();
678 // pub fn QueryServiceObjectSecurity();
679 pub fn QueryServiceStatus(hService: SC_HANDLE, lpServiceStatus: LPSERVICE_STATUS) -> BOOL;
680 pub fn QueryServiceStatusEx(
681 hService: SC_HANDLE, InfoLevel: SC_STATUS_TYPE, lpBuffer: LPBYTE, cbBufSize: DWORD,
682 pcbBytesNeeded: LPDWORD,
683 ) -> BOOL;
684 // pub fn QueryTraceA();
685 // pub fn QueryTraceW();
686 // pub fn QueryUsersOnEncryptedFile();
687 // pub fn ReadEncryptedFileRaw();
688 // pub fn ReadEventLogA();
689 // pub fn ReadEventLogW();
690 pub fn RegCloseKey(hKey: HKEY) -> LONG;
691 pub fn RegConnectRegistryA(lpMachineName: LPCSTR, hKey: HKEY, phkResult: PHKEY) -> LONG;
692 // pub fn RegConnectRegistryExA();
693 // pub fn RegConnectRegistryExW();
694 pub fn RegConnectRegistryW(lpMachineName: LPCWSTR, hKey: HKEY, phkResult: PHKEY) -> LONG;
695 pub fn RegCopyTreeA(hKeySrc: HKEY, lpSubKey: LPCSTR, hKeyDest: HKEY) -> LONG;
696 pub fn RegCopyTreeW(hKeySrc: HKEY, lpSubKey: LPCWSTR, hKeyDest: HKEY) -> LONG;
697 // pub fn RegCreateKeyA();
698 pub fn RegCreateKeyExA(
699 hKey: HKEY, lpSubKey: LPCSTR, Reserved: DWORD, lpClass: LPSTR, dwOptions: DWORD,
700 samDesired: REGSAM, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, phkResult: PHKEY,
701 lpdwDisposition: LPDWORD,
702 ) -> LONG;
703 pub fn RegCreateKeyExW(
704 hKey: HKEY, lpSubKey: LPCWSTR, Reserved: DWORD, lpClass: LPWSTR, dwOptions: DWORD,
705 samDesired: REGSAM, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, phkResult: PHKEY,
706 lpdwDisposition: LPDWORD,
707 ) -> LONG;
708 pub fn RegCreateKeyTransactedA(
709 hKey: HKEY, lpSubKey: LPCSTR, Reserved: DWORD, lpClass: LPSTR, dwOptions: DWORD,
710 samDesired: REGSAM, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, phkResult: PHKEY,
711 lpdwDisposition: LPDWORD, hTransaction: HANDLE, pExtendedParemeter: PVOID,
712 ) -> LONG;
713 pub fn RegCreateKeyTransactedW(
714 hKey: HKEY, lpSubKey: LPCWSTR, Reserved: DWORD, lpClass: LPWSTR, dwOptions: DWORD,
715 samDesired: REGSAM, lpSecurityAttributes: LPSECURITY_ATTRIBUTES, phkResult: PHKEY,
716 lpdwDisposition: LPDWORD, hTransaction: HANDLE, pExtendedParemeter: PVOID,
717 ) -> LONG;
718 // pub fn RegCreateKeyW();
719 pub fn RegDeleteKeyA(hKey: HKEY, lpSubKey: LPCSTR) -> LONG;
720 pub fn RegDeleteKeyExA(
721 hKey: HKEY, lpSubKey: LPCSTR, samDesired: REGSAM, Reserved: DWORD,
722 ) -> LONG;
723 pub fn RegDeleteKeyExW(
724 hKey: HKEY, lpSubKey: LPCWSTR, samDesired: REGSAM, Reserved: DWORD,
725 ) -> LONG;
726 pub fn RegDeleteKeyTransactedA(
727 hKey: HKEY, lpSubKey: LPCSTR, samDesired: REGSAM, Reserved: DWORD,
728 hTransaction: HANDLE, pExtendedParemeter: PVOID,
729 ) -> LONG;
730 pub fn RegDeleteKeyTransactedW(
731 hKey: HKEY, lpSubKey: LPCWSTR, samDesired: REGSAM, Reserved: DWORD,
732 hTransaction: HANDLE, pExtendedParemeter: PVOID,
733 ) -> LONG;
734 pub fn RegDeleteKeyValueA(hKey: HKEY, lpSubKey: LPCSTR, lpValueName: LPCSTR) -> LONG;
735 pub fn RegDeleteKeyValueW(hKey: HKEY, lpSubKey: LPCWSTR, lpValueName: LPCWSTR) -> LONG;
736 pub fn RegDeleteKeyW(hKey: HKEY, lpSubKey: LPCWSTR) -> LONG;
737 pub fn RegDeleteTreeA(hKey: HKEY, lpSubKey: LPCSTR) -> LONG;
738 pub fn RegDeleteTreeW(hKey: HKEY, lpSubKey: LPCWSTR) -> LONG;
739 pub fn RegDeleteValueA(hKey: HKEY, lpValueName: LPCSTR) -> LONG;
740 pub fn RegDeleteValueW(hKey: HKEY, lpValueName: LPCWSTR) -> LONG;
741 pub fn RegDisablePredefinedCache() -> LONG;
742 pub fn RegDisablePredefinedCacheEx() -> LONG;
743 pub fn RegDisableReflectionKey(hBase: HKEY) -> LONG;
744 pub fn RegEnableReflectionKey(hBase: HKEY) -> LONG;
745 // pub fn RegEnumKeyA();
746 pub fn RegEnumKeyExA(
747 hKey: HKEY, dwIndex: DWORD, lpName: LPSTR, lpcName: LPDWORD, lpReserved: LPDWORD,
748 lpClass: LPSTR, lpcClass: LPDWORD, lpftLastWriteTime: PFILETIME,
749 ) -> LONG;
750 pub fn RegEnumKeyExW(
751 hKey: HKEY, dwIndex: DWORD, lpName: LPWSTR, lpcName: LPDWORD, lpReserved: LPDWORD,
752 lpClass: LPWSTR, lpcClass: LPDWORD, lpftLastWriteTime: PFILETIME,
753 ) -> LONG;
754 // pub fn RegEnumKeyW();
755 pub fn RegEnumValueA(
756 hKey: HKEY, dwIndex: DWORD, lpValueName: LPSTR, lpcchValueName: LPDWORD,
757 lpReserved: LPDWORD, lpType: LPDWORD, lpData: LPBYTE, lpcbData: LPDWORD,
758 ) -> LONG;
759 pub fn RegEnumValueW(
760 hKey: HKEY, dwIndex: DWORD, lpValueName: LPWSTR, lpcchValueName: LPDWORD,
761 lpReserved: LPDWORD, lpType: LPDWORD, lpData: LPBYTE, lpcbData: LPDWORD,
762 ) -> LONG;
763 pub fn RegFlushKey(hKey: HKEY) -> LONG;
764 // pub fn RegGetKeySecurity();
765 pub fn RegGetValueA(
766 hkey: HKEY, lpSubKey: LPCSTR, lpValue: LPCSTR, dwFlags: DWORD, pdwType: LPDWORD,
767 pvData: PVOID, pcbData: LPDWORD,
768 ) -> LONG;
769 pub fn RegGetValueW(
770 hkey: HKEY, lpSubKey: LPCWSTR, lpValue: LPCWSTR, dwFlags: DWORD, pdwType: LPDWORD,
771 pvData: PVOID, pcbData: LPDWORD,
772 ) -> LONG;
773 // pub fn RegLoadAppKeyA();
774 // pub fn RegLoadAppKeyW();
775 // pub fn RegLoadKeyA();
776 // pub fn RegLoadKeyW();
777 // pub fn RegLoadMUIStringA();
778 pub fn RegLoadMUIStringW(
779 hKey: HKEY, pszValue: LPCWSTR, pszOutBuf: LPWSTR, cbOutBuf: DWORD, pcbData: LPDWORD,
780 Flags: DWORD, pszDirectory: LPCWSTR,
781 ) -> LONG;
782 pub fn RegNotifyChangeKeyValue(
783 hKey: HKEY, bWatchSubtree: BOOL, dwNotifyFilter: DWORD, hEvent: HANDLE,
784 fAsynchronous: BOOL,
785 ) -> LONG;
786 pub fn RegOpenCurrentUser(samDesired: REGSAM, phkResult: PHKEY) -> LONG;
787 // pub fn RegOpenKeyA();
788 pub fn RegOpenKeyExA(
789 hKey: HKEY, lpSubKey: LPCSTR, ulOptions: DWORD, samDesired: REGSAM, phkResult: PHKEY,
790 ) -> LONG;
791 pub fn RegOpenKeyExW(
792 hKey: HKEY, lpSubKey: LPCWSTR, ulOptions: DWORD, samDesired: REGSAM, phkResult: PHKEY,
793 ) -> LONG;
794 pub fn RegOpenKeyTransactedA(
795 hKey: HKEY, lpSubKey: LPCSTR, ulOptions: DWORD, samDesired: REGSAM, phkResult: PHKEY,
796 hTransaction: HANDLE, pExtendedParemeter: PVOID,
797 ) -> LONG;
798 pub fn RegOpenKeyTransactedW(
799 hKey: HKEY, lpSubKey: LPCWSTR, ulOptions: DWORD, samDesired: REGSAM, phkResult: PHKEY,
800 hTransaction: HANDLE, pExtendedParemeter: PVOID,
801 ) -> LONG;
802 // pub fn RegOpenKeyW();
803 pub fn RegOpenUserClassesRoot(
804 hToken: HANDLE, dwOptions: DWORD, samDesired: REGSAM, phkResult: PHKEY,
805 ) -> LONG;
806 pub fn RegOverridePredefKey(hKey: HKEY, hNewHKey: HKEY) -> LONG;
807 pub fn RegQueryInfoKeyA(
808 hKey: HKEY, lpClass: LPSTR, lpcClass: LPDWORD, lpReserved: LPDWORD, lpcSubKeys: LPDWORD,
809 lpcMaxSubKeyLen: LPDWORD, lpcMaxClassLen: LPDWORD, lpcValues: LPDWORD,
810 lpcMaxValueNameLen: LPDWORD, lpcMaxValueLen: LPDWORD, lpcbSecurityDescriptor: LPDWORD,
811 lpftLastWriteTime: PFILETIME,
812 ) -> LONG;
813 pub fn RegQueryInfoKeyW(
814 hKey: HKEY, lpClass: LPWSTR, lpcClass: LPDWORD, lpReserved: LPDWORD, lpcSubKeys: LPDWORD,
815 lpcMaxSubKeyLen: LPDWORD, lpcMaxClassLen: LPDWORD, lpcValues: LPDWORD,
816 lpcMaxValueNameLen: LPDWORD, lpcMaxValueLen: LPDWORD, lpcbSecurityDescriptor: LPDWORD,
817 lpftLastWriteTime: PFILETIME,
818 ) -> LONG;
819 pub fn RegQueryMultipleValuesA(
820 hKey: HKEY, val_list: PVALENTA, num_vals: DWORD, lpValueBuf: LPSTR, ldwTotsize: LPDWORD,
821 ) -> LONG;
822 pub fn RegQueryMultipleValuesW(
823 hKey: HKEY, val_list: PVALENTW, num_vals: DWORD, lpValueBuf: LPWSTR, ldwTotsize: LPDWORD,
824 ) -> LONG;
825 pub fn RegQueryReflectionKey(hBase: HKEY, bIsReflectionDisabled: PBOOL) -> LONG;
826 pub fn RegQueryValueExA(
827 hKey: HKEY, lpValueName: LPCSTR, lpReserved: LPDWORD, lpType: LPDWORD, lpData: LPBYTE,
828 lpcbData: LPDWORD,
829 ) -> LONG;
830 pub fn RegQueryValueExW(
831 hKey: HKEY, lpValueName: LPCWSTR, lpReserved: LPDWORD, lpType: LPDWORD, lpData: LPBYTE,
832 lpcbData: LPDWORD,
833 ) -> LONG;
834 // pub fn RegQueryValueW();
835 // pub fn RegRenameKey();
836 // pub fn RegReplaceKeyA();
837 // pub fn RegReplaceKeyW();
838 // pub fn RegRestoreKeyA();
839 // pub fn RegRestoreKeyW();
840 // pub fn RegSaveKeyA();
841 // pub fn RegSaveKeyExA();
842 // pub fn RegSaveKeyExW();
843 // pub fn RegSaveKeyW();
844 // pub fn RegSetKeySecurity();
845 pub fn RegSetKeyValueA(
846 hKey: HKEY, lpSubKey: LPCSTR, lpValueName: LPCSTR, dwType: DWORD, lpData: LPCVOID,
847 cbData: DWORD,
848 ) -> LONG;
849 pub fn RegSetValueExA(
850 hKey: HKEY, lpValueName: LPCSTR, Reserved: DWORD, dwType: DWORD, lpData: *const BYTE,
851 cbData: DWORD,
852 ) -> LONG;
853 pub fn RegSetValueExW(
854 hKey: HKEY, lpValueName: LPCWSTR, Reserved: DWORD, dwType: DWORD, lpData: *const BYTE,
855 cbData: DWORD,
856 ) -> LONG;
857 pub fn RegSetKeyValueW(
858 hKey: HKEY, lpSubKey: LPCWSTR, lpValueName: LPCWSTR, dwType: DWORD, lpData: LPCVOID,
859 cbData: DWORD,
860 ) -> LONG;
861 // pub fn RegUnLoadKeyA();
862 // pub fn RegUnLoadKeyW();
863 // pub fn RegisterEventSourceA();
864 // pub fn RegisterEventSourceW();
865 pub fn RegisterServiceCtrlHandlerA(
866 lpServiceName: LPCSTR, lpHandlerProc: LPHANDLER_FUNCTION,
867 ) -> SERVICE_STATUS_HANDLE;
868 pub fn RegisterServiceCtrlHandlerExA(
869 lpServiceName: LPCSTR, lpHandlerProc: LPHANDLER_FUNCTION_EX, lpContext: LPVOID,
870 ) -> SERVICE_STATUS_HANDLE;
871 pub fn RegisterServiceCtrlHandlerExW(
872 lpServiceName: LPCWSTR, lpHandlerProc: LPHANDLER_FUNCTION_EX, lpContext: LPVOID,
873 ) -> SERVICE_STATUS_HANDLE;
874 pub fn RegisterServiceCtrlHandlerW(
875 lpServiceName: LPCWSTR, lpHandlerProc: LPHANDLER_FUNCTION,
876 ) -> SERVICE_STATUS_HANDLE;
877 // pub fn RegisterTraceGuidsA();
878 // pub fn RegisterTraceGuidsW();
879 // pub fn RegisterWaitChainCOMCallback();
880 // pub fn RemoteRegEnumKeyWrapper();
881 // pub fn RemoteRegEnumValueWrapper();
882 // pub fn RemoteRegQueryInfoKeyWrapper();
883 // pub fn RemoteRegQueryValueWrapper();
884 // pub fn RemoveTraceCallback();
885 // pub fn RemoveUsersFromEncryptedFile();
886 // pub fn ReportEventA();
887 // pub fn ReportEventW();
888 // pub fn RevertToSelf();
889 // pub fn SafeBaseRegGetKeySecurity();
890 // pub fn SaferCloseLevel();
891 // pub fn SaferComputeTokenFromLevel();
892 // pub fn SaferCreateLevel();
893 // pub fn SaferGetLevelInformation();
894 // pub fn SaferGetPolicyInformation();
895 // pub fn SaferIdentifyLevel();
896 // pub fn SaferRecordEventLogEntry();
897 // pub fn SaferSetLevelInformation();
898 // pub fn SaferSetPolicyInformation();
899 // pub fn SaferiIsExecutableFileType();
900 // pub fn SetAclInformation();
901 // pub fn SetEncryptedFileMetadata();
902 // pub fn SetEntriesInAccessListA();
903 // pub fn SetEntriesInAccessListW();
904 // pub fn SetEntriesInAclA();
905 // pub fn SetEntriesInAclW();
906 // pub fn SetEntriesInAuditListA();
907 // pub fn SetEntriesInAuditListW();
908 // pub fn SetFileSecurityA();
909 // pub fn SetFileSecurityW();
910 // pub fn SetInformationCodeAuthzLevelW();
911 // pub fn SetInformationCodeAuthzPolicyW();
912 // pub fn SetKernelObjectSecurity();
913 // pub fn SetNamedSecurityInfoA();
914 // pub fn SetNamedSecurityInfoExA();
915 // pub fn SetNamedSecurityInfoExW();
916 // pub fn SetNamedSecurityInfoW();
917 // pub fn SetPrivateObjectSecurity();
918 // pub fn SetPrivateObjectSecurityEx();
919 // pub fn SetSecurityAccessMask();
920 // pub fn SetSecurityDescriptorControl();
921 // pub fn SetSecurityDescriptorDacl();
922 // pub fn SetSecurityDescriptorGroup();
923 // pub fn SetSecurityDescriptorOwner();
924 // pub fn SetSecurityDescriptorRMControl();
925 // pub fn SetSecurityDescriptorSacl();
926 // pub fn SetSecurityInfo();
927 // pub fn SetSecurityInfoExA();
928 // pub fn SetSecurityInfoExW();
929 // pub fn SetServiceBits();
930 // pub fn SetServiceObjectSecurity();
931 pub fn SetServiceStatus(
932 hServiceStatus: SERVICE_STATUS_HANDLE, lpServiceStatus: LPSERVICE_STATUS,
933 ) -> BOOL;
934 // pub fn SetThreadToken();
935 // pub fn SetTokenInformation();
936 // pub fn SetTraceCallback();
937 // pub fn SetUserFileEncryptionKey();
938 // pub fn SetUserFileEncryptionKeyEx();
939 // pub fn StartServiceA();
940 pub fn StartServiceCtrlDispatcherA(lpServiceStartTable: *const SERVICE_TABLE_ENTRYA) -> BOOL;
941 pub fn StartServiceCtrlDispatcherW(lpServiceStartTable: *const SERVICE_TABLE_ENTRYW) -> BOOL;
942 // pub fn StartServiceW();
943 // pub fn StartTraceA();
944 // pub fn StartTraceW();
945 // pub fn StopTraceA();
946 // pub fn StopTraceW();
947 // pub fn SystemFunction001();
948 // pub fn SystemFunction002();
949 // pub fn SystemFunction003();
950 // pub fn SystemFunction004();
951 // pub fn SystemFunction005();
952 // pub fn SystemFunction006();
953 // pub fn SystemFunction007();
954 // pub fn SystemFunction008();
955 // pub fn SystemFunction009();
956 // pub fn SystemFunction010();
957 // pub fn SystemFunction011();
958 // pub fn SystemFunction012();
959 // pub fn SystemFunction013();
960 // pub fn SystemFunction014();
961 // pub fn SystemFunction015();
962 // pub fn SystemFunction016();
963 // pub fn SystemFunction017();
964 // pub fn SystemFunction018();
965 // pub fn SystemFunction019();
966 // pub fn SystemFunction020();
967 // pub fn SystemFunction021();
968 // pub fn SystemFunction022();
969 // pub fn SystemFunction023();
970 // pub fn SystemFunction024();
971 // pub fn SystemFunction025();
972 // pub fn SystemFunction026();
973 // pub fn SystemFunction027();
974 // pub fn SystemFunction028();
975 // pub fn SystemFunction029();
976 // pub fn SystemFunction030();
977 // pub fn SystemFunction031();
978 // pub fn SystemFunction032();
979 // pub fn SystemFunction033();
980 // pub fn SystemFunction034();
981 // pub fn SystemFunction036();
982 // pub fn SystemFunction040();
983 // pub fn SystemFunction041();
984 // pub fn TraceEvent();
985 // pub fn TraceEventInstance();
986 // pub fn TraceMessage();
987 // pub fn TraceMessageVa();
988 // pub fn TraceQueryInformation();
989 // pub fn TraceSetInformation();
990 // pub fn TreeResetNamedSecurityInfoA();
991 // pub fn TreeResetNamedSecurityInfoW();
992 // pub fn TreeSetNamedSecurityInfoA();
993 // pub fn TreeSetNamedSecurityInfoW();
994 // pub fn TrusteeAccessToObjectA();
995 // pub fn TrusteeAccessToObjectW();
996 // pub fn UninstallApplication();
997 // pub fn UnlockServiceDatabase();
998 // pub fn UnregisterTraceGuids();
999 // pub fn UpdateTraceA();
1000 // pub fn UpdateTraceW();
1001 // pub fn UsePinForEncryptedFilesA();
1002 // pub fn UsePinForEncryptedFilesW();
1003 // pub fn WaitServiceState();
1004 // pub fn WriteEncryptedFileRaw();
1005 }