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