]>
git.proxmox.com Git - cargo.git/blob - 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.
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();
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
,
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
,
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();
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
,
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
,
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();
186 TargetName
: LPCSTR
, Type
: DWORD
, Flags
: DWORD
, Credential
: *mut PCREDENTIALA
,
188 // pub fn CredReadDomainCredentialsA();
189 // pub fn CredReadDomainCredentialsW();
191 TargetName
: LPCWSTR
, Type
: DWORD
, Flags
: DWORD
, Credential
: *mut PCREDENTIALW
,
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
,
207 pub fn CryptAcquireContextW(
208 phProv
: *mut HCRYPTPROV
, szContainer
: LPCWSTR
, szProvider
: LPCWSTR
, dwProvType
: DWORD
,
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
,
216 hKey
: HCRYPTKEY
, hHash
: HCRYPTHASH
, Final
: BOOL
, dwFlags
: DWORD
, pbData
: *mut BYTE
,
217 pdwDataLen
: *mut DWORD
,
219 pub fn CryptDeriveKey(
220 hProv
: HCRYPTPROV
, Algid
: ALG_ID
, hBaseData
: HCRYPTHASH
, dwFlags
: DWORD
,
221 phKey
: *mut HCRYPTKEY
,
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
,
228 pub fn CryptDuplicateKey(
229 hKey
: HCRYPTKEY
, pdwReserved
: *mut DWORD
, dwFlags
: DWORD
, phKey
: *mut HCRYPTKEY
,
232 hKey
: HCRYPTKEY
, hHash
: HCRYPTHASH
, Final
: BOOL
, dwFlags
: DWORD
, pbData
: *mut BYTE
,
233 pdwDataLen
: *mut DWORD
, dwBufLen
: DWORD
,
235 pub fn CryptEnumProviderTypesA(
236 dwIndex
: DWORD
, pdwReserved
: *mut DWORD
, dwFlags
: DWORD
, pdwProvType
: *mut DWORD
,
237 szTypeName
: LPSTR
, pcbTypeName
: *mut DWORD
,
239 pub fn CryptEnumProviderTypesW(
240 dwIndex
: DWORD
, pdwReserved
: *mut DWORD
, dwFlags
: DWORD
, pdwProvType
: *mut DWORD
,
241 szTypeName
: LPWSTR
, pcbTypeName
: *mut DWORD
,
243 pub fn CryptEnumProvidersA(
244 dwIndex
: DWORD
, pdwReserved
: *mut DWORD
, dwFlags
: DWORD
, pdwProvType
: *mut DWORD
,
245 szProvName
: LPSTR
, pcbProvName
: *mut DWORD
,
247 pub fn CryptEnumProvidersW(
248 dwIndex
: DWORD
, pdwReserved
: *mut DWORD
, dwFlags
: DWORD
, pdwProvType
: *mut DWORD
,
249 szProvName
: LPWSTR
, pcbProvName
: *mut DWORD
,
251 pub fn CryptExportKey(
252 hKey
: HCRYPTKEY
, hExpKey
: HCRYPTKEY
, dwBlobType
: DWORD
, dwFlags
: DWORD
, pbData
: *mut BYTE
,
253 pdwDataLen
: *mut DWORD
,
256 hProv
: HCRYPTPROV
, Algid
: ALG_ID
, dwFlags
: DWORD
, phKey
: *mut HCRYPTKEY
,
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
,
263 pub fn CryptGetDefaultProviderW(
264 dwProvType
: DWORD
, pdwReserved
: *mut DWORD
, dwFlags
: DWORD
, pszProvName
: LPWSTR
,
265 pcbProvName
: *mut DWORD
,
267 pub fn CryptGetHashParam(
268 hHash
: HCRYPTHASH
, dwParam
: DWORD
, pbData
: *mut BYTE
, pdwDataLen
: *mut DWORD
,
271 pub fn CryptGetKeyParam(
272 hKey
: HCRYPTKEY
, dwParam
: DWORD
, pbData
: *mut BYTE
, pdwDataLen
: *mut DWORD
, dwFlags
: DWORD
,
274 pub fn CryptGetProvParam(
275 hProv
: HCRYPTPROV
, dwParam
: DWORD
, pbData
: *mut BYTE
, pdwDataLen
: *mut DWORD
,
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
,
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
,
287 pub fn CryptReleaseContext(hProv
: HCRYPTPROV
, dwFlags
: DWORD
) -> BOOL
;
288 pub fn CryptSetHashParam(
289 hHash
: HCRYPTHASH
, dwParam
: DWORD
, pbData
: *const BYTE
, dwFlags
: DWORD
,
291 pub fn CryptSetKeyParam(
292 hKey
: HCRYPTKEY
, dwParam
: DWORD
, pbData
: *const BYTE
, dwFlags
: DWORD
,
294 pub fn CryptSetProvParam(
295 hProv
: HCRYPTPROV
, dwParam
: DWORD
, pbData
: *const BYTE
, dwFlags
: DWORD
,
297 pub fn CryptSetProviderA(pszProvName
: LPCSTR
, dwProvType
: DWORD
) -> BOOL
;
298 pub fn CryptSetProviderExA(
299 pszProvName
: LPCSTR
, dwProvType
: DWORD
, pdwReserved
: *mut DWORD
, dwFlags
: DWORD
,
301 pub fn CryptSetProviderExW(
302 pszProvName
: LPCWSTR
, dwProvType
: DWORD
, pdwReserved
: *mut DWORD
, dwFlags
: DWORD
,
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
,
309 pub fn CryptSignHashW(
310 hHash
: HCRYPTHASH
, dwKeySpec
: DWORD
, szDescription
: LPCWSTR
, dwFlags
: DWORD
,
311 pbSignature
: *mut BYTE
, pdwSigLen
: *mut DWORD
,
313 pub fn CryptVerifySignatureA(
314 hHash
: HCRYPTHASH
, pbSignature
: *const BYTE
, dwSigLen
: DWORD
, hPubKey
: HCRYPTKEY
,
315 szDescription
: LPCSTR
, dwFlags
: DWORD
,
317 pub fn CryptVerifySignatureW(
318 hHash
: HCRYPTHASH
, pbSignature
: *const BYTE
, dwSigLen
: DWORD
, hPubKey
: HCRYPTKEY
,
319 szDescription
: LPCWSTR
, dwFlags
: DWORD
,
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();
398 // pub fn GetAccessPermissionsForObjectA();
399 // pub fn GetAccessPermissionsForObjectW();
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
,
510 pub fn LookupPrivilegeNameW(
511 lpSystemName
: LPCWSTR
, lpLuid
: PLUID
, lpName
: LPWSTR
, cchName
: LPDWORD
,
513 pub fn LookupPrivilegeValueA(
514 lpSystemName
: LPCSTR
, lpName
: LPCSTR
, lpLuid
: PLUID
,
516 pub fn LookupPrivilegeValueW(
517 lpSystemName
: LPCWSTR
, lpName
: LPCWSTR
, lpLuid
: PLUID
,
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
,
616 pub fn OpenSCManagerA(
617 lpMachineName
: LPCSTR
, lpDatabaseName
: LPCSTR
, dwDesiredAccess
: DWORD
,
619 pub fn OpenSCManagerW(
620 lpMachineName
: LPCWSTR
, lpDatabaseName
: LPCWSTR
, dwDesiredAccess
: DWORD
,
623 hSCManager
: SC_HANDLE
, lpServiceName
: LPCSTR
, dwDesiredAccess
: DWORD
,
626 hSCManager
: SC_HANDLE
, lpServiceName
: LPCWSTR
, dwDesiredAccess
: DWORD
,
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
,
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
,
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
,
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
,
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
,
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
,
723 pub fn RegDeleteKeyExW(
724 hKey
: HKEY
, lpSubKey
: LPCWSTR
, samDesired
: REGSAM
, Reserved
: DWORD
,
726 pub fn RegDeleteKeyTransactedA(
727 hKey
: HKEY
, lpSubKey
: LPCSTR
, samDesired
: REGSAM
, Reserved
: DWORD
,
728 hTransaction
: HANDLE
, pExtendedParemeter
: PVOID
,
730 pub fn RegDeleteKeyTransactedW(
731 hKey
: HKEY
, lpSubKey
: LPCWSTR
, samDesired
: REGSAM
, Reserved
: DWORD
,
732 hTransaction
: HANDLE
, pExtendedParemeter
: PVOID
,
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
,
750 pub fn RegEnumKeyExW(
751 hKey
: HKEY
, dwIndex
: DWORD
, lpName
: LPWSTR
, lpcName
: LPDWORD
, lpReserved
: LPDWORD
,
752 lpClass
: LPWSTR
, lpcClass
: LPDWORD
, lpftLastWriteTime
: PFILETIME
,
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
,
759 pub fn RegEnumValueW(
760 hKey
: HKEY
, dwIndex
: DWORD
, lpValueName
: LPWSTR
, lpcchValueName
: LPDWORD
,
761 lpReserved
: LPDWORD
, lpType
: LPDWORD
, lpData
: LPBYTE
, lpcbData
: LPDWORD
,
763 pub fn RegFlushKey(hKey
: HKEY
) -> LONG
;
764 // pub fn RegGetKeySecurity();
766 hkey
: HKEY
, lpSubKey
: LPCSTR
, lpValue
: LPCSTR
, dwFlags
: DWORD
, pdwType
: LPDWORD
,
767 pvData
: PVOID
, pcbData
: LPDWORD
,
770 hkey
: HKEY
, lpSubKey
: LPCWSTR
, lpValue
: LPCWSTR
, dwFlags
: DWORD
, pdwType
: LPDWORD
,
771 pvData
: PVOID
, pcbData
: LPDWORD
,
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
,
782 pub fn RegNotifyChangeKeyValue(
783 hKey
: HKEY
, bWatchSubtree
: BOOL
, dwNotifyFilter
: DWORD
, hEvent
: HANDLE
,
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
,
791 pub fn RegOpenKeyExW(
792 hKey
: HKEY
, lpSubKey
: LPCWSTR
, ulOptions
: DWORD
, samDesired
: REGSAM
, phkResult
: PHKEY
,
794 pub fn RegOpenKeyTransactedA(
795 hKey
: HKEY
, lpSubKey
: LPCSTR
, ulOptions
: DWORD
, samDesired
: REGSAM
, phkResult
: PHKEY
,
796 hTransaction
: HANDLE
, pExtendedParemeter
: PVOID
,
798 pub fn RegOpenKeyTransactedW(
799 hKey
: HKEY
, lpSubKey
: LPCWSTR
, ulOptions
: DWORD
, samDesired
: REGSAM
, phkResult
: PHKEY
,
800 hTransaction
: HANDLE
, pExtendedParemeter
: PVOID
,
802 // pub fn RegOpenKeyW();
803 pub fn RegOpenUserClassesRoot(
804 hToken
: HANDLE
, dwOptions
: DWORD
, samDesired
: REGSAM
, phkResult
: PHKEY
,
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
,
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
,
819 pub fn RegQueryMultipleValuesA(
820 hKey
: HKEY
, val_list
: PVALENTA
, num_vals
: DWORD
, lpValueBuf
: LPSTR
, ldwTotsize
: LPDWORD
,
822 pub fn RegQueryMultipleValuesW(
823 hKey
: HKEY
, val_list
: PVALENTW
, num_vals
: DWORD
, lpValueBuf
: LPWSTR
, ldwTotsize
: LPDWORD
,
825 pub fn RegQueryReflectionKey(hBase
: HKEY
, bIsReflectionDisabled
: PBOOL
) -> LONG
;
826 pub fn RegQueryValueExA(
827 hKey
: HKEY
, lpValueName
: LPCSTR
, lpReserved
: LPDWORD
, lpType
: LPDWORD
, lpData
: LPBYTE
,
830 pub fn RegQueryValueExW(
831 hKey
: HKEY
, lpValueName
: LPCWSTR
, lpReserved
: LPDWORD
, lpType
: LPDWORD
, lpData
: LPBYTE
,
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
,
849 pub fn RegSetValueExA(
850 hKey
: HKEY
, lpValueName
: LPCSTR
, Reserved
: DWORD
, dwType
: DWORD
, lpData
: *const BYTE
,
853 pub fn RegSetValueExW(
854 hKey
: HKEY
, lpValueName
: LPCWSTR
, Reserved
: DWORD
, dwType
: DWORD
, lpData
: *const BYTE
,
857 pub fn RegSetKeyValueW(
858 hKey
: HKEY
, lpSubKey
: LPCWSTR
, lpValueName
: LPCWSTR
, dwType
: DWORD
, lpData
: LPCVOID
,
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
,
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();