Merge branch 'master' of git://factorcode.org/git/factor
[factor/jcg.git] / basis / windows / advapi32 / advapi32.factor
blobf76e389dce76d50e1c07a0c18022cccdd9d8cea7
1 USING: alien.syntax kernel math windows.types math.bitwise ;
2 IN: windows.advapi32
3 LIBRARY: advapi32
5 CONSTANT: PROV_RSA_FULL       1
6 CONSTANT: PROV_RSA_SIG        2
7 CONSTANT: PROV_DSS            3
8 CONSTANT: PROV_FORTEZZA       4
9 CONSTANT: PROV_MS_EXCHANGE    5
10 CONSTANT: PROV_SSL            6
11 CONSTANT: PROV_RSA_SCHANNEL  12
12 CONSTANT: PROV_DSS_DH        13
13 CONSTANT: PROV_EC_ECDSA_SIG  14
14 CONSTANT: PROV_EC_ECNRA_SIG  15
15 CONSTANT: PROV_EC_ECDSA_FULL 16
16 CONSTANT: PROV_EC_ECNRA_FULL 17
17 CONSTANT: PROV_DH_SCHANNEL   18
18 CONSTANT: PROV_SPYRUS_LYNKS  20
19 CONSTANT: PROV_RNG           21
20 CONSTANT: PROV_INTEL_SEC     22
21 CONSTANT: PROV_REPLACE_OWF   23
22 CONSTANT: PROV_RSA_AES       24
24 CONSTANT: MS_DEF_DH_SCHANNEL_PROV "Microsoft DH Schannel Cryptographic Provider"
26 CONSTANT: MS_DEF_DSS_DH_PROV
27     "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"
29 CONSTANT: MS_DEF_DSS_PROV
30     "Microsoft Base DSS Cryptographic Provider"
32 CONSTANT: MS_DEF_PROV
33     "Microsoft Base Cryptographic Provider v1.0"
35 CONSTANT: MS_DEF_RSA_SCHANNEL_PROV
36     "Microsoft RSA Schannel Cryptographic Provider"
38 ! Unsupported (!)
39 CONSTANT: MS_DEF_RSA_SIG_PROV
40     "Microsoft RSA Signature Cryptographic Provider"
42 CONSTANT: MS_ENH_DSS_DH_PROV
43     "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"
45 CONSTANT: MS_ENH_RSA_AES_PROV
46     "Microsoft Enhanced RSA and AES Cryptographic Provider"
48 CONSTANT: MS_ENHANCED_PROV
49     "Microsoft Enhanced Cryptographic Provider v1.0"
51 CONSTANT: MS_SCARD_PROV
52     "Microsoft Base Smart Card Crypto Provider"
54 CONSTANT: MS_STRONG_PROV
55     "Microsoft Strong Cryptographic Provider"
57 CONSTANT: CRYPT_VERIFYCONTEXT  HEX: F0000000
58 CONSTANT: CRYPT_NEWKEYSET      HEX: 8
59 CONSTANT: CRYPT_DELETEKEYSET   HEX: 10
60 CONSTANT: CRYPT_MACHINE_KEYSET HEX: 20
61 CONSTANT: CRYPT_SILENT         HEX: 40
63 C-STRUCT: ACL
64     { "BYTE" "AclRevision" }
65     { "BYTE" "Sbz1" }
66     { "WORD" "AclSize" }
67     { "WORD" "AceCount" }
68     { "WORD" "Sbz2" } ;
70 TYPEDEF: ACL* PACL
72 CONSTANT: ACCESS_ALLOWED_ACE_TYPE 0
73 CONSTANT: ACCESS_DENIED_ACE_TYPE 1
74 CONSTANT: SYSTEM_AUDIT_ACE_TYPE 2
75 CONSTANT: SYSTEM_ALARM_ACE_TYPE 3
77 CONSTANT: OBJECT_INHERIT_ACE HEX: 1
78 CONSTANT: CONTAINER_INHERIT_ACE HEX: 2
79 CONSTANT: NO_PROPAGATE_INHERIT_ACE HEX: 4
80 CONSTANT: INHERIT_ONLY_ACE HEX: 8
81 CONSTANT: VALID_INHERIT_FLAGS HEX: f
83 C-STRUCT: ACE_HEADER
84     { "BYTE" "AceType" }
85     { "BYTE" "AceFlags" }
86     { "WORD" "AceSize" } ;
88 TYPEDEF: ACE_HEADER* PACE_HEADER
90 C-STRUCT: ACCESS_ALLOWED_ACE
91     { "ACE_HEADER" "Header" }
92     { "DWORD" "Mask" }
93     { "DWORD" "SidStart" } ;
95 TYPEDEF: ACCESS_ALLOWED_ACE* PACCESS_ALLOWED_ACE
97 C-STRUCT: ACCESS_DENIED_ACE
98     { "ACE_HEADER" "Header" }
99     { "DWORD" "Mask" }
100     { "DWORD" "SidStart" } ;
101 TYPEDEF: ACCESS_DENIED_ACE* PACCESS_DENIED_ACE
104 C-STRUCT: SYSTEM_AUDIT_ACE
105     { "ACE_HEADER" "Header" }
106     { "DWORD" "Mask" }
107     { "DWORD" "SidStart" } ;
109 TYPEDEF: SYSTEM_AUDIT_ACE* PSYSTEM_AUDIT_ACE
111 C-STRUCT: SYSTEM_ALARM_ACE
112     { "ACE_HEADER" "Header" }
113     { "DWORD" "Mask" }
114     { "DWORD" "SidStart" } ;
116 TYPEDEF: SYSTEM_ALARM_ACE* PSYSTEM_ALARM_ACE
118 C-STRUCT: ACCESS_ALLOWED_CALLBACK_ACE
119     { "ACE_HEADER" "Header" }
120     { "DWORD" "Mask" }
121     { "DWORD" "SidStart" } ;
123 TYPEDEF: ACCESS_ALLOWED_CALLBACK_ACE* PACCESS_ALLOWED_CALLBACK_ACE
126 ! typedef enum _TOKEN_INFORMATION_CLASS {
127 CONSTANT: TokenUser 1
128 CONSTANT: TokenGroups 2
129 CONSTANT: TokenPrivileges 3
130 CONSTANT: TokenOwner 4
131 CONSTANT: TokenPrimaryGroup 5
132 CONSTANT: TokenDefaultDacl 6
133 CONSTANT: TokenSource 7
134 CONSTANT: TokenType 8
135 CONSTANT: TokenImpersonationLevel 9
136 CONSTANT: TokenStatistics 10
137 CONSTANT: TokenRestrictedSids 11
138 CONSTANT: TokenSessionId 12
139 CONSTANT: TokenGroupsAndPrivileges 13
140 CONSTANT: TokenSessionReference 14
141 CONSTANT: TokenSandBoxInert 15
142 ! } TOKEN_INFORMATION_CLASS;
144 CONSTANT: DELETE                     HEX: 00010000
145 CONSTANT: READ_CONTROL               HEX: 00020000
146 CONSTANT: WRITE_DAC                  HEX: 00040000
147 CONSTANT: WRITE_OWNER                HEX: 00080000
148 CONSTANT: SYNCHRONIZE                HEX: 00100000
149 CONSTANT: STANDARD_RIGHTS_REQUIRED   HEX: 000f0000
151 ALIAS: STANDARD_RIGHTS_READ       READ_CONTROL
152 ALIAS: STANDARD_RIGHTS_WRITE      READ_CONTROL
153 ALIAS: STANDARD_RIGHTS_EXECUTE    READ_CONTROL
155 CONSTANT: TOKEN_TOKEN_ADJUST_DEFAULT   HEX: 0080
156 CONSTANT: TOKEN_ADJUST_GROUPS          HEX: 0040
157 CONSTANT: TOKEN_ADJUST_PRIVILEGES      HEX: 0020
158 CONSTANT: TOKEN_ADJUST_SESSIONID       HEX: 0100
159 CONSTANT: TOKEN_ASSIGN_PRIMARY         HEX: 0001
160 CONSTANT: TOKEN_DUPLICATE              HEX: 0002
161 ALIAS: TOKEN_EXECUTE                STANDARD_RIGHTS_EXECUTE
162 CONSTANT: TOKEN_IMPERSONATE            HEX: 0004
163 CONSTANT: TOKEN_QUERY                  HEX: 0008
164 CONSTANT: TOKEN_QUERY_SOURCE           HEX: 0010
165 CONSTANT: TOKEN_ADJUST_DEFAULT         HEX: 0080
166 : TOKEN_READ ( -- n ) { STANDARD_RIGHTS_READ TOKEN_QUERY } flags ;
168 : TOKEN_WRITE ( -- n )
169     {
170         STANDARD_RIGHTS_WRITE
171         TOKEN_ADJUST_PRIVILEGES
172         TOKEN_ADJUST_GROUPS
173         TOKEN_ADJUST_DEFAULT
174     } flags ; foldable
176 : TOKEN_ALL_ACCESS ( -- n )
177     {
178         STANDARD_RIGHTS_REQUIRED
179         TOKEN_ASSIGN_PRIMARY
180         TOKEN_DUPLICATE
181         TOKEN_IMPERSONATE
182         TOKEN_QUERY
183         TOKEN_QUERY_SOURCE
184         TOKEN_ADJUST_PRIVILEGES
185         TOKEN_ADJUST_GROUPS
186         TOKEN_ADJUST_SESSIONID
187         TOKEN_ADJUST_DEFAULT
188     } flags ; foldable
191 ! : I_ScGetCurrentGroupStateW ;
192 ! : A_SHAFinal ;
193 ! : A_SHAInit ;
194 ! : A_SHAUpdate ;
195 ! : AbortSystemShutdownA ;
196 ! : AbortSystemShutdownW ;
197 ! : AccessCheck ;
198 ! : AccessCheckAndAuditAlarmA ;
199 ! : AccessCheckAndAuditAlarmW ;
200 ! : AccessCheckByType ;
201 ! : AccessCheckByTypeAndAuditAlarmA ;
202 ! : AccessCheckByTypeAndAuditAlarmW ;
203 ! : AccessCheckByTypeResultList ;
204 ! : AccessCheckByTypeResultListAndAuditAlarmA ;
205 ! : AccessCheckByTypeResultListAndAuditAlarmByHandleA ;
206 ! : AccessCheckByTypeResultListAndAuditAlarmByHandleW ;
207 ! : AccessCheckByTypeResultListAndAuditAlarmW ;
208 ! : AddAccessAllowedAce ;
209 ! : AddAccessAllowedAceEx ;
210 ! : AddAccessAllowedObjectAce ;
211 ! : AddAccessDeniedAce ;
212 ! : AddAccessDeniedAceEx ;
213 ! : AddAccessDeniedObjectAce ;
214 FUNCTION: BOOL AddAce ( PACL pAcl, DWORD dwAceRevision, DWORD dwStartingAceIndex, LPVOID pAceList, DWORD nAceListLength ) ;
215 ! : AddAuditAccessAce ;
216 ! : AddAuditAccessAceEx ;
217 ! : AddAuditAccessObjectAce ;
218 ! : AddUsersToEncryptedFile ;
219 ! : AdjustTokenGroups ;
220 FUNCTION: BOOL AdjustTokenPrivileges ( HANDLE TokenHandle,
221                                BOOL DisableAllPrivileges,
222                                PTOKEN_PRIVILEGES NewState,
223                                DWORD BufferLength,
224                                PTOKEN_PRIVILEGES PreviousState,
225                                PDWORD ReturnLength ) ;
227 ! : AllocateAndInitializeSid ;
228 ! : AllocateLocallyUniqueId ;
229 ! : AreAllAccessesGranted ;
230 ! : AreAnyAccessesGranted ;
231 ! : BackupEventLogA ;
232 ! : BackupEventLogW ;
233 ! : BuildExplicitAccessWithNameA ;
234 ! : BuildExplicitAccessWithNameW ;
235 ! : BuildImpersonateExplicitAccessWithNameA ;
236 ! : BuildImpersonateExplicitAccessWithNameW ;
237 ! : BuildImpersonateTrusteeA ;
238 ! : BuildImpersonateTrusteeW ;
239 ! : BuildSecurityDescriptorA ;
240 ! : BuildSecurityDescriptorW ;
241 ! : BuildTrusteeWithNameA ;
242 ! : BuildTrusteeWithNameW ;
243 ! : BuildTrusteeWithObjectsAndNameA ;
244 ! : BuildTrusteeWithObjectsAndNameW ;
245 ! : BuildTrusteeWithObjectsAndSidA ;
246 ! : BuildTrusteeWithObjectsAndSidW ;
247 ! : BuildTrusteeWithSidA ;
248 ! : BuildTrusteeWithSidW ;
249 ! : CancelOverlappedAccess ;
250 ! : ChangeServiceConfig2A ;
251 ! : ChangeServiceConfig2W ;
252 ! : ChangeServiceConfigA ;
253 ! : ChangeServiceConfigW ;
254 ! : CheckTokenMembership ;
255 ! : ClearEventLogA ;
256 ! : ClearEventLogW ;
257 ! : CloseCodeAuthzLevel ;
258 ! : CloseEncryptedFileRaw ;
259 ! : CloseEventLog ;
260 ! : CloseServiceHandle ;
261 ! : CloseTrace ;
262 ! : CommandLineFromMsiDescriptor ;
263 ! : ComputeAccessTokenFromCodeAuthzLevel ;
264 ! : ControlService ;
265 ! : ControlTraceA ;
266 ! : ControlTraceW ;
267 ! : ConvertAccessToSecurityDescriptorA ;
268 ! : ConvertAccessToSecurityDescriptorW ;
269 ! : ConvertSDToStringSDRootDomainA ;
270 ! : ConvertSDToStringSDRootDomainW ;
271 ! : ConvertSecurityDescriptorToAccessA ;
272 ! : ConvertSecurityDescriptorToAccessNamedA ;
273 ! : ConvertSecurityDescriptorToAccessNamedW ;
274 ! : ConvertSecurityDescriptorToAccessW ;
275 ! : ConvertSecurityDescriptorToStringSecurityDescriptorA ;
276 ! : ConvertSecurityDescriptorToStringSecurityDescriptorW ;
277 ! : ConvertSidToStringSidA ;
278 ! : ConvertSidToStringSidW ;
279 ! : ConvertStringSDToSDDomainA ;
280 ! : ConvertStringSDToSDDomainW ;
281 ! : ConvertStringSDToSDRootDomainA ;
282 ! : ConvertStringSDToSDRootDomainW ;
283 ! : ConvertStringSecurityDescriptorToSecurityDescriptorA ;
284 ! : ConvertStringSecurityDescriptorToSecurityDescriptorW ;
285 ! : ConvertStringSidToSidA ;
286 ! : ConvertStringSidToSidW ;
287 ! : ConvertToAutoInheritPrivateObjectSecurity ;
288 ! : CopySid ;
289 ! : CreateCodeAuthzLevel ;
290 ! : CreatePrivateObjectSecurity ;
291 ! : CreatePrivateObjectSecurityEx ;
292 ! : CreatePrivateObjectSecurityWithMultipleInheritance ;
293 ! : CreateProcessAsUserA ;
294 ! : CreateProcessAsUserSecure ;
295 ! : CreateProcessAsUserW ;
296 ! : CreateProcessWithLogonW ;
297 ! : CreateRestrictedToken ;
298 ! : CreateServiceA ;
299 ! : CreateServiceW ;
300 ! : CreateTraceInstanceId ;
301 ! : CreateWellKnownSid ;
302 ! : CredDeleteA ;
303 ! : CredDeleteW ;
304 ! : CredEnumerateA ;
305 ! : CredEnumerateW ;
306 ! : CredFree ;
307 ! : CredGetSessionTypes ;
308 ! : CredGetTargetInfoA ;
309 ! : CredGetTargetInfoW ;
310 ! : CredIsMarshaledCredentialA ;
311 ! : CredIsMarshaledCredentialW ;
312 ! : CredMarshalCredentialA ;
313 ! : CredMarshalCredentialW ;
314 ! : CredProfileLoaded ;
315 ! : CredReadA ;
316 ! : CredReadDomainCredentialsA ;
317 ! : CredReadDomainCredentialsW ;
318 ! : CredReadW ;
319 ! : CredRenameA ;
320 ! : CredRenameW ;
321 ! : CredUnmarshalCredentialA ;
322 ! : CredUnmarshalCredentialW ;
323 ! : CredWriteA ;
324 ! : CredWriteDomainCredentialsA ;
325 ! : CredWriteDomainCredentialsW ;
326 ! : CredWriteW ;
327 ! : CredpConvertCredential ;
328 ! : CredpConvertTargetInfo ;
329 ! : CredpDecodeCredential ;
330 ! : CredpEncodeCredential ;
331 ! : CryptAcquireContextA ;
332 FUNCTION: BOOL CryptAcquireContextW ( HCRYPTPROV* phProv,
333                                       LPCTSTR pszContainer,
334                                       LPCTSTR pszProvider,
335                                       DWORD dwProvType,
336                                       DWORD dwFlags ) ;
338 ALIAS: CryptAcquireContext CryptAcquireContextW
340 ! : CryptContextAddRef ;
341 ! : CryptCreateHash ;
342 ! : CryptDecrypt ;
343 ! : CryptDeriveKey ;
344 ! : CryptDestroyHash ;
345 ! : CryptDestroyKey ;
346 ! : CryptDuplicateHash ;
347 ! : CryptDuplicateKey ;
348 ! : CryptEncrypt ;
349 ! : CryptEnumProviderTypesA ;
350 ! : CryptEnumProviderTypesW ;
351 ! : CryptEnumProvidersA ;
352 ! : CryptEnumProvidersW ;
353 ! : CryptExportKey ;
354 ! : CryptGenKey ;
355 FUNCTION: BOOL CryptGenRandom ( HCRYPTPROV hProv, DWORD dwLen, BYTE* pbBuffer ) ;
356 ! : CryptGetDefaultProviderA ;
357 ! : CryptGetDefaultProviderW ;
358 ! : CryptGetHashParam ;
359 ! : CryptGetKeyParam ;
360 ! : CryptGetProvParam ;
361 ! : CryptGetUserKey ;
362 ! : CryptHashData ;
363 ! : CryptHashSessionKey ;
364 ! : CryptImportKey ;
365 FUNCTION: BOOL CryptReleaseContext ( HCRYPTPROV hProv, DWORD dwFlags ) ;
366 ! : CryptSetHashParam ;
367 ! : CryptSetKeyParam ;
368 ! : CryptSetProvParam ;
369 ! : CryptSetProviderA ;
370 ! : CryptSetProviderExA ;
371 ! : CryptSetProviderExW ;
372 ! : CryptSetProviderW ;
373 ! : CryptSignHashA ;
374 ! : CryptSignHashW ;
375 ! : CryptVerifySignatureA ;
376 ! : CryptVerifySignatureW ;
377 ! : DecryptFileA ;
378 ! : DecryptFileW ;
379 ! : DeleteAce ;
380 ! : DeleteService ;
381 ! : DeregisterEventSource ;
382 ! : DestroyPrivateObjectSecurity ;
383 ! : DuplicateEncryptionInfoFile ;
384 ! : DuplicateToken ;
385 ! : DuplicateTokenEx ;
386 ! : ElfBackupEventLogFileA ;
387 ! : ElfBackupEventLogFileW ;
388 ! : ElfChangeNotify ;
389 ! : ElfClearEventLogFileA ;
390 ! : ElfClearEventLogFileW ;
391 ! : ElfCloseEventLog ;
392 ! : ElfDeregisterEventSource ;
393 ! : ElfFlushEventLog ;
394 ! : ElfNumberOfRecords ;
395 ! : ElfOldestRecord ;
396 ! : ElfOpenBackupEventLogA ;
397 ! : ElfOpenBackupEventLogW ;
398 ! : ElfOpenEventLogA ;
399 ! : ElfOpenEventLogW ;
400 ! : ElfReadEventLogA ;
401 ! : ElfReadEventLogW ;
402 ! : ElfRegisterEventSourceA ;
403 ! : ElfRegisterEventSourceW ;
404 ! : ElfReportEventA ;
405 ! : ElfReportEventW ;
406 ! : EnableTrace ;
407 ! : EncryptFileA ;
408 ! : EncryptFileW ;
409 ! : EncryptedFileKeyInfo ;
410 ! : EncryptionDisable ;
411 ! : EnumDependentServicesA ;
412 ! : EnumDependentServicesW ;
413 ! : EnumServiceGroupW ;
414 ! : EnumServicesStatusA ;
415 ! : EnumServicesStatusExA ;
416 ! : EnumServicesStatusExW ;
417 ! : EnumServicesStatusW ;
418 ! : EnumerateTraceGuids ;
419 ! : EqualDomainSid ;
420 ! : EqualPrefixSid ;
421 ! : EqualSid ;
422 ! : FileEncryptionStatusA ;
423 ! : FileEncryptionStatusW ;
424 ! : FindFirstFreeAce ;
425 ! : FlushTraceA ;
426 ! : FlushTraceW ;
427 ! : FreeEncryptedFileKeyInfo ;
428 ! : FreeEncryptionCertificateHashList ;
429 ! : FreeInheritedFromArray ;
430 ! : FreeSid ;
431 ! : GetAccessPermissionsForObjectA ;
432 ! : GetAccessPermissionsForObjectW ;
433 ! : GetAce ;
434 ! : GetAclInformation ;
435 ! : GetAuditedPermissionsFromAclA ;
436 ! : GetAuditedPermissionsFromAclW ;
437 ! : GetCurrentHwProfileA ;
438 ! : GetCurrentHwProfileW ;
439 ! : GetEffectiveRightsFromAclA ;
440 ! : GetEffectiveRightsFromAclW ;
441 ! : GetEventLogInformation ;
442 ! : GetExplicitEntriesFromAclA ;
443 ! : GetExplicitEntriesFromAclW ;
444 ! : GetFileSecurityA ;
445 ! : GetFileSecurityW ;
446 ! : GetInformationCodeAuthzLevelW ;
447 ! : GetInformationCodeAuthzPolicyW ;
448 ! : GetInheritanceSourceA ;
449 ! : GetInheritanceSourceW ;
450 ! : GetKernelObjectSecurity ;
451 ! : GetLengthSid ;
452 ! : GetLocalManagedApplicationData ;
453 ! : GetLocalManagedApplications ;
454 ! : GetManagedApplicationCategories ;
455 ! : GetManagedApplications ;
456 ! : GetMultipleTrusteeA ;
457 ! : GetMultipleTrusteeOperationA ;
458 ! : GetMultipleTrusteeOperationW ;
459 ! : GetMultipleTrusteeW ;
460 ! : GetNamedSecurityInfoA ;
461 ! : GetNamedSecurityInfoExA ;
462 ! : GetNamedSecurityInfoExW ;
463 ! : GetNamedSecurityInfoW ;
464 ! : GetNumberOfEventLogRecords ;
465 ! : GetOldestEventLogRecord ;
466 ! : GetOverlappedAccessResults ;
467 ! : GetPrivateObjectSecurity ;
468 ! : GetSecurityDescriptorControl ;
469 ! : GetSecurityDescriptorDacl ;
470 ! : GetSecurityDescriptorGroup ;
471 ! : GetSecurityDescriptorLength ;
472 ! : GetSecurityDescriptorOwner ;
473 ! : GetSecurityDescriptorRMControl ;
474 ! : GetSecurityDescriptorSacl ;
475 ! : GetSecurityInfo ;
476 ! : GetSecurityInfoExA ;
477 ! : GetSecurityInfoExW ;
478 ! : GetServiceDisplayNameA ;
479 ! : GetServiceDisplayNameW ;
480 ! : GetServiceKeyNameA ;
481 ! : GetServiceKeyNameW ;
482 ! : GetSidIdentifierAuthority ;
483 ! : GetSidLengthRequired ;
484 ! : GetSidSubAuthority ;
485 ! : GetSidSubAuthorityCount ;
486 ! : GetTokenInformation ;
487 ! : GetTraceEnableFlags ;
488 ! : GetTraceEnableLevel ;
489 ! : GetTraceLoggerHandle ;
490 ! : GetTrusteeFormA ;
491 ! : GetTrusteeFormW ;
492 ! : GetTrusteeNameA ;
493 ! : GetTrusteeNameW ;
494 ! : GetTrusteeTypeA ;
495 ! : GetTrusteeTypeW ;
497 ! : GetUserNameA ;
498 FUNCTION: BOOL GetUserNameW ( LPCTSTR lpBuffer, LPDWORD lpnSize ) ;
499 ALIAS: GetUserName GetUserNameW
501 ! : GetWindowsAccountDomainSid ;
502 ! : I_ScIsSecurityProcess ;
503 ! : I_ScPnPGetServiceName ;
504 ! : I_ScSendTSMessage ;
505 ! : I_ScSetServiceBitsA ;
506 ! : I_ScSetServiceBitsW ;
507 ! : IdentifyCodeAuthzLevelW ;
508 ! : ImpersonateAnonymousToken ;
509 ! : ImpersonateLoggedOnUser ;
510 ! : ImpersonateNamedPipeClient ;
511 ! : ImpersonateSelf ;
512 FUNCTION: BOOL InitializeAcl ( PACL pAcl, DWORD nAclLength, DWORD dwAclRevision ) ;
513 ! : InitializeSecurityDescriptor ;
514 ! : InitializeSid ;
515 ! : InitiateSystemShutdownA ;
516 ! : InitiateSystemShutdownExA ;
517 ! : InitiateSystemShutdownExW ;
518 ! : InitiateSystemShutdownW ;
519 ! : InstallApplication ;
520 ! : IsTextUnicode ;
521 ! : IsTokenRestricted ;
522 ! : IsTokenUntrusted ;
523 ! : IsValidAcl ;
524 ! : IsValidSecurityDescriptor ;
525 ! : IsValidSid ;
526 ! : IsWellKnownSid ;
527 ! : LockServiceDatabase ;
528 ! : LogonUserA ;
529 ! : LogonUserExA ;
530 ! : LogonUserExW ;
531 ! : LogonUserW ;
532 ! : LookupAccountNameA ;
533 ! : LookupAccountNameW ;
534 ! : LookupAccountSidA ;
535 ! : LookupAccountSidW ;
536 ! : LookupPrivilegeDisplayNameA ;
537 ! : LookupPrivilegeDisplayNameW ;
538 ! : LookupPrivilegeNameA ;
539 ! : LookupPrivilegeNameW ;
540 ! : LookupPrivilegeValueA ;
541 FUNCTION: BOOL LookupPrivilegeValueW ( LPCTSTR lpSystemName,
542                                LPCTSTR lpName,
543                                PLUID lpLuid ) ;
544 ALIAS: LookupPrivilegeValue LookupPrivilegeValueW
546 ! : LookupSecurityDescriptorPartsA ;
547 ! : LookupSecurityDescriptorPartsW ;
548 ! : LsaAddAccountRights ;
549 ! : LsaAddPrivilegesToAccount ;
550 ! : LsaClearAuditLog ;
551 ! : LsaClose ;
552 ! : LsaCreateAccount ;
553 ! : LsaCreateSecret ;
554 ! : LsaCreateTrustedDomain ;
555 ! : LsaCreateTrustedDomainEx ;
556 ! : LsaDelete ;
557 ! : LsaDeleteTrustedDomain ;
558 ! : LsaEnumerateAccountRights ;
559 ! : LsaEnumerateAccounts ;
560 ! : LsaEnumerateAccountsWithUserRight ;
561 ! : LsaEnumeratePrivileges ;
562 ! : LsaEnumeratePrivilegesOfAccount ;
563 ! : LsaEnumerateTrustedDomains ;
564 ! : LsaEnumerateTrustedDomainsEx ;
565 ! : LsaFreeMemory ;
566 ! : LsaGetQuotasForAccount ;
567 ! : LsaGetRemoteUserName ;
568 ! : LsaGetSystemAccessAccount ;
569 ! : LsaGetUserName ;
570 ! : LsaICLookupNames ;
571 ! : LsaICLookupNamesWithCreds ;
572 ! : LsaICLookupSids ;
573 ! : LsaICLookupSidsWithCreds ;
574 ! : LsaLookupNames2 ;
575 ! : LsaLookupNames ;
576 ! : LsaLookupPrivilegeDisplayName ;
577 ! : LsaLookupPrivilegeName ;
578 ! : LsaLookupPrivilegeValue ;
579 ! : LsaLookupSids ;
580 ! : LsaNtStatusToWinError ;
581 ! : LsaOpenAccount ;
582 ! : LsaOpenPolicy ;
583 ! : LsaOpenPolicySce ;
584 ! : LsaOpenSecret ;
585 ! : LsaOpenTrustedDomain ;
586 ! : LsaOpenTrustedDomainByName ;
587 ! : LsaQueryDomainInformationPolicy ;
588 ! : LsaQueryForestTrustInformation ;
589 ! : LsaQueryInfoTrustedDomain ;
590 ! : LsaQueryInformationPolicy ;
591 ! : LsaQuerySecret ;
592 ! : LsaQuerySecurityObject ;
593 ! : LsaQueryTrustedDomainInfo ;
594 ! : LsaQueryTrustedDomainInfoByName ;
595 ! : LsaRemoveAccountRights ;
596 ! : LsaRemovePrivilegesFromAccount ;
597 ! : LsaRetrievePrivateData ;
598 ! : LsaSetDomainInformationPolicy ;
599 ! : LsaSetForestTrustInformation ;
600 ! : LsaSetInformationPolicy ;
601 ! : LsaSetInformationTrustedDomain ;
602 ! : LsaSetQuotasForAccount ;
603 ! : LsaSetSecret ;
604 ! : LsaSetSecurityObject ;
605 ! : LsaSetSystemAccessAccount ;
606 ! : LsaSetTrustedDomainInfoByName ;
607 ! : LsaSetTrustedDomainInformation ;
608 ! : LsaStorePrivateData ;
609 ! : MD4Final ;
610 ! : MD4Init ;
611 ! : MD4Update ;
612 ! : MD5Final ;
613 ! : MD5Init ;
614 ! : MD5Update ;
615 ! : MSChapSrvChangePassword2 ;
616 ! : MSChapSrvChangePassword ;
617 ! : MakeAbsoluteSD2 ;
618 ! : MakeAbsoluteSD ;
619 ! : MakeSelfRelativeSD ;
620 ! : MapGenericMask ;
621 ! : NotifyBootConfigStatus ;
622 ! : NotifyChangeEventLog ;
623 ! : ObjectCloseAuditAlarmA ;
624 ! : ObjectCloseAuditAlarmW ;
625 ! : ObjectDeleteAuditAlarmA ;
626 ! : ObjectDeleteAuditAlarmW ;
627 ! : ObjectOpenAuditAlarmA ;
628 ! : ObjectOpenAuditAlarmW ;
629 ! : ObjectPrivilegeAuditAlarmA ;
630 ! : ObjectPrivilegeAuditAlarmW ;
631 ! : OpenBackupEventLogA ;
632 ! : OpenBackupEventLogW ;
633 ! : OpenEncryptedFileRawA ;
634 ! : OpenEncryptedFileRawW ;
635 ! : OpenEventLogA ;
636 ! : OpenEventLogW ;
638 FUNCTION: BOOL OpenProcessToken ( HANDLE ProcessHandle,
639                                   DWORD DesiredAccess,
640                                   PHANDLE TokenHandle ) ;
641 ! : OpenSCManagerA ;
642 ! : OpenSCManagerW ;
643 ! : OpenServiceA ;
644 ! : OpenServiceW ;
645 FUNCTION: BOOL OpenThreadToken ( HANDLE ThreadHandle, DWORD DesiredAccess, BOOL OpenAsSelf, PHANDLE TokenHandle ) ;
646 ! : OpenTraceA ;
647 ! : OpenTraceW ;
648 ! : PrivilegeCheck ;
649 ! : PrivilegedServiceAuditAlarmA ;
650 ! : PrivilegedServiceAuditAlarmW ;
651 ! : ProcessIdleTasks ;
652 ! : ProcessTrace ;
653 ! : QueryAllTracesA ;
654 ! : QueryAllTracesW ;
655 ! : QueryRecoveryAgentsOnEncryptedFile ;
656 ! : QueryServiceConfig2A ;
657 ! : QueryServiceConfig2W ;
658 ! : QueryServiceConfigA ;
659 ! : QueryServiceConfigW ;
660 ! : QueryServiceLockStatusA ;
661 ! : QueryServiceLockStatusW ;
662 ! : QueryServiceObjectSecurity ;
663 ! : QueryServiceStatus ;
664 ! : QueryServiceStatusEx ;
665 ! : QueryTraceA ;
666 ! : QueryTraceW ;
667 ! : QueryUsersOnEncryptedFile ;
668 ! : QueryWindows31FilesMigration ;
669 ! : ReadEncryptedFileRaw ;
670 ! : ReadEventLogA ;
671 ! : ReadEventLogW ;
672 ! : RegCloseKey ;
673 ! : RegConnectRegistryA ;
674 ! : RegConnectRegistryW ;
675 ! : RegCreateKeyA ;
676 ! : RegCreateKeyExA ;
677 ! : RegCreateKeyExW ;
678 ! : RegCreateKeyW ;
679 ! : RegDeleteKeyA ;
680 ! : RegDeleteKeyW ;
681 ! : RegDeleteValueA ;
682 ! : RegDeleteValueW ;
683 ! : RegDisablePredefinedCache ;
684 ! : RegEnumKeyA ;
685 ! : RegEnumKeyExA ;
686 ! : RegEnumKeyExW ;
687 ! : RegEnumKeyW ;
688 ! : RegEnumValueA ;
689 ! : RegEnumValueW ;
690 ! : RegFlushKey ;
691 ! : RegGetKeySecurity ;
692 ! : RegLoadKeyA ;
693 ! : RegLoadKeyW ;
694 ! : RegNotifyChangeKeyValue ;
695 ! : RegOpenCurrentUser ;
696 ! : RegOpenKeyA ;
697 ! : RegOpenKeyExA ;
698 ! : RegOpenKeyExW ;
699 ! : RegOpenKeyW ;
700 ! : RegOpenUserClassesRoot ;
701 ! : RegOverridePredefKey ;
702 ! : RegQueryInfoKeyA ;
703 ! : RegQueryInfoKeyW ;
704 ! : RegQueryMultipleValuesA ;
705 ! : RegQueryMultipleValuesW ;
706 ! : RegQueryValueA ;
707 ! : RegQueryValueExA ;
708 ! : RegQueryValueExW ;
709 ! : RegQueryValueW ;
710 ! : RegReplaceKeyA ;
711 ! : RegReplaceKeyW ;
712 ! : RegRestoreKeyA ;
713 ! : RegRestoreKeyW ;
714 ! : RegSaveKeyA ;
715 ! : RegSaveKeyExA ;
716 ! : RegSaveKeyExW ;
717 ! : RegSaveKeyW ;
718 ! : RegSetKeySecurity ;
719 ! : RegSetValueA ;
720 ! : RegSetValueExA ;
721 ! : RegSetValueExW ;
722 ! : RegSetValueW ;
723 ! : RegUnLoadKeyA ;
724 ! : RegUnLoadKeyW ;
725 ! : RegisterEventSourceA ;
726 ! : RegisterEventSourceW ;
727 ! : RegisterIdleTask ;
728 ! : RegisterServiceCtrlHandlerA ;
729 ! : RegisterServiceCtrlHandlerExA ;
730 ! : RegisterServiceCtrlHandlerExW ;
731 ! : RegisterServiceCtrlHandlerW ;
732 ! : RegisterTraceGuidsA ;
733 ! : RegisterTraceGuidsW ;
734 ! : RemoveTraceCallback ;
735 ! : RemoveUsersFromEncryptedFile ;
736 ! : ReportEventA ;
737 ! : ReportEventW ;
738 ! : RevertToSelf ;
739 ! : SaferCloseLevel ;
740 ! : SaferComputeTokenFromLevel ;
741 ! : SaferCreateLevel ;
742 ! : SaferGetLevelInformation ;
743 ! : SaferGetPolicyInformation ;
744 ! : SaferIdentifyLevel ;
745 ! : SaferRecordEventLogEntry ;
746 ! : SaferSetLevelInformation ;
747 ! : SaferSetPolicyInformation ;
748 ! : SaferiChangeRegistryScope ;
749 ! : SaferiCompareTokenLevels ;
750 ! : SaferiIsExecutableFileType ;
751 ! : SaferiPopulateDefaultsInRegistry ;
752 ! : SaferiRecordEventLogEntry ;
753 ! : SaferiReplaceProcessThreadTokens ;
754 ! : SaferiSearchMatchingHashRules ;
755 ! : SetAclInformation ;
756 ! : SetEntriesInAccessListA ;
757 ! : SetEntriesInAccessListW ;
758 ! : SetEntriesInAclA ;
759 ! : SetEntriesInAclW ;
760 ! : SetEntriesInAuditListA ;
761 ! : SetEntriesInAuditListW ;
762 ! : SetFileSecurityA ;
763 ! : SetFileSecurityW ;
764 ! : SetInformationCodeAuthzLevelW ;
765 ! : SetInformationCodeAuthzPolicyW ;
766 ! : SetKernelObjectSecurity ;
767 ! : SetNamedSecurityInfoA ;
768 ! : SetNamedSecurityInfoExA ;
769 ! : SetNamedSecurityInfoExW ;
770 ! : SetNamedSecurityInfoW ;
771 ! : SetPrivateObjectSecurity ;
772 ! : SetPrivateObjectSecurityEx ;
773 ! : SetSecurityDescriptorControl ;
774 ! : SetSecurityDescriptorDacl ;
775 ! : SetSecurityDescriptorGroup ;
776 ! : SetSecurityDescriptorOwner ;
777 ! : SetSecurityDescriptorRMControl ;
778 ! : SetSecurityDescriptorSacl ;
779 ! : SetSecurityInfo ;
780 ! : SetSecurityInfoExA ;
781 ! : SetSecurityInfoExW ;
782 ! : SetServiceBits ;
783 ! : SetServiceObjectSecurity ;
784 ! : SetServiceStatus ;
785 ! : SetThreadToken ;
786 ! : SetTokenInformation ;
787 ! : SetTraceCallback ;
788 ! : SetUserFileEncryptionKey ;
789 ! : StartServiceA ;
790 ! : StartServiceCtrlDispatcherA ;
791 ! : StartServiceCtrlDispatcherW ;
792 ! : StartServiceW ;
793 ! : StartTraceA ;
794 ! : StartTraceW ;
795 ! : StopTraceA ;
796 ! : StopTraceW ;
797 ! : SynchronizeWindows31FilesAndWindowsNTRegistry ;
798 ! : SystemFunction001 ;
799 ! : SystemFunction002 ;
800 ! : SystemFunction003 ;
801 ! : SystemFunction004 ;
802 ! : SystemFunction005 ;
803 ! : SystemFunction006 ;
804 ! : SystemFunction007 ;
805 ! : SystemFunction008 ;
806 ! : SystemFunction009 ;
807 ! : SystemFunction010 ;
808 ! : SystemFunction011 ;
809 ! : SystemFunction012 ;
810 ! : SystemFunction013 ;
811 ! : SystemFunction014 ;
812 ! : SystemFunction015 ;
813 ! : SystemFunction016 ;
814 ! : SystemFunction017 ;
815 ! : SystemFunction018 ;
816 ! : SystemFunction019 ;
817 ! : SystemFunction020 ;
818 ! : SystemFunction021 ;
819 ! : SystemFunction022 ;
820 ! : SystemFunction023 ;
821 ! : SystemFunction024 ;
822 ! : SystemFunction025 ;
823 ! : SystemFunction026 ;
824 ! : SystemFunction027 ;
825 ! : SystemFunction028 ;
826 ! : SystemFunction029 ;
827 ! : SystemFunction030 ;
828 ! : SystemFunction031 ;
829 ! : SystemFunction032 ;
830 ! : SystemFunction033 ;
831 ! : SystemFunction034 ;
832 ! : SystemFunction035 ;
833 ! : SystemFunction036 ;
834 ! : SystemFunction040 ;
835 ! : SystemFunction041 ;
836 ! : TraceEvent ;
837 ! : TraceEventInstance ;
838 ! : TraceMessage ;
839 ! : TraceMessageVa ;
840 ! : TreeResetNamedSecurityInfoA ;
841 ! : TreeResetNamedSecurityInfoW ;
842 ! : TrusteeAccessToObjectA ;
843 ! : TrusteeAccessToObjectW ;
844 ! : UninstallApplication ;
845 ! : UnlockServiceDatabase ;
846 ! : UnregisterIdleTask ;
847 ! : UnregisterTraceGuids ;
848 ! : UpdateTraceA ;
849 ! : UpdateTraceW ;
850 ! : WdmWmiServiceMain ;
851 ! : WmiCloseBlock ;
852 ! : WmiCloseTraceWithCursor ;
853 ! : WmiConvertTimestamp ;
854 ! : WmiDevInstToInstanceNameA ;
855 ! : WmiDevInstToInstanceNameW ;
856 ! : WmiEnumerateGuids ;
857 ! : WmiExecuteMethodA ;
858 ! : WmiExecuteMethodW ;
859 ! : WmiFileHandleToInstanceNameA ;
860 ! : WmiFileHandleToInstanceNameW ;
861 ! : WmiFreeBuffer ;
862 ! : WmiGetFirstTraceOffset ;
863 ! : WmiGetNextEvent ;
864 ! : WmiGetTraceHeader ;
865 ! : WmiMofEnumerateResourcesA ;
866 ! : WmiMofEnumerateResourcesW ;
867 ! : WmiNotificationRegistrationA ;
868 ! : WmiNotificationRegistrationW ;
869 ! : WmiOpenBlock ;
870 ! : WmiOpenTraceWithCursor ;
871 ! : WmiParseTraceEvent ;
872 ! : WmiQueryAllDataA ;
873 ! : WmiQueryAllDataMultipleA ;
874 ! : WmiQueryAllDataMultipleW ;
875 ! : WmiQueryAllDataW ;
876 ! : WmiQueryGuidInformation ;
877 ! : WmiQuerySingleInstanceA ;
878 ! : WmiQuerySingleInstanceMultipleA ;
879 ! : WmiQuerySingleInstanceMultipleW ;
880 ! : WmiQuerySingleInstanceW ;
881 ! : WmiReceiveNotificationsA ;
882 ! : WmiReceiveNotificationsW ;
883 ! : WmiSetSingleInstanceA ;
884 ! : WmiSetSingleInstanceW ;
885 ! : WmiSetSingleItemA ;
886 ! : WmiSetSingleItemW ;
887 ! : Wow64Win32ApiEntry ;
888 ! : WriteEncryptedFileRaw ;