]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/advapi32/advapi32.factor
Merge branch 'hashcash' of git://github.com/martind/factor
[factor.git] / basis / windows / advapi32 / advapi32.factor
1 USING: alien.syntax kernel math windows.types math.bitwise ;
2 IN: windows.advapi32
3
4 LIBRARY: advapi32
5
6 CONSTANT: PROV_RSA_FULL       1
7 CONSTANT: PROV_RSA_SIG        2
8 CONSTANT: PROV_DSS            3
9 CONSTANT: PROV_FORTEZZA       4
10 CONSTANT: PROV_MS_EXCHANGE    5
11 CONSTANT: PROV_SSL            6
12 CONSTANT: PROV_RSA_SCHANNEL  12
13 CONSTANT: PROV_DSS_DH        13
14 CONSTANT: PROV_EC_ECDSA_SIG  14
15 CONSTANT: PROV_EC_ECNRA_SIG  15
16 CONSTANT: PROV_EC_ECDSA_FULL 16
17 CONSTANT: PROV_EC_ECNRA_FULL 17
18 CONSTANT: PROV_DH_SCHANNEL   18
19 CONSTANT: PROV_SPYRUS_LYNKS  20
20 CONSTANT: PROV_RNG           21
21 CONSTANT: PROV_INTEL_SEC     22
22 CONSTANT: PROV_REPLACE_OWF   23
23 CONSTANT: PROV_RSA_AES       24
24
25 CONSTANT: MS_DEF_DH_SCHANNEL_PROV "Microsoft DH Schannel Cryptographic Provider"
26
27 CONSTANT: MS_DEF_DSS_DH_PROV
28     "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"
29
30 CONSTANT: MS_DEF_DSS_PROV
31     "Microsoft Base DSS Cryptographic Provider"
32
33 CONSTANT: MS_DEF_PROV
34     "Microsoft Base Cryptographic Provider v1.0"
35
36 CONSTANT: MS_DEF_RSA_SCHANNEL_PROV
37     "Microsoft RSA Schannel Cryptographic Provider"
38
39 ! Unsupported (!)
40 CONSTANT: MS_DEF_RSA_SIG_PROV
41     "Microsoft RSA Signature Cryptographic Provider"
42
43 CONSTANT: MS_ENH_DSS_DH_PROV
44     "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"
45
46 CONSTANT: MS_ENH_RSA_AES_PROV
47     "Microsoft Enhanced RSA and AES Cryptographic Provider"
48
49 CONSTANT: MS_ENHANCED_PROV
50     "Microsoft Enhanced Cryptographic Provider v1.0"
51
52 CONSTANT: MS_SCARD_PROV
53     "Microsoft Base Smart Card Crypto Provider"
54
55 CONSTANT: MS_STRONG_PROV
56     "Microsoft Strong Cryptographic Provider"
57
58 CONSTANT: CRYPT_VERIFYCONTEXT  HEX: F0000000
59 CONSTANT: CRYPT_NEWKEYSET      HEX: 8
60 CONSTANT: CRYPT_DELETEKEYSET   HEX: 10
61 CONSTANT: CRYPT_MACHINE_KEYSET HEX: 20
62 CONSTANT: CRYPT_SILENT         HEX: 40
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 CONSTANT: ACCESS_ALLOWED_ACE_TYPE 0
74 CONSTANT: ACCESS_DENIED_ACE_TYPE 1
75 CONSTANT: SYSTEM_AUDIT_ACE_TYPE 2
76 CONSTANT: SYSTEM_ALARM_ACE_TYPE 3
77
78 CONSTANT: OBJECT_INHERIT_ACE HEX: 1
79 CONSTANT: CONTAINER_INHERIT_ACE HEX: 2
80 CONSTANT: NO_PROPAGATE_INHERIT_ACE HEX: 4
81 CONSTANT: INHERIT_ONLY_ACE HEX: 8
82 CONSTANT: VALID_INHERIT_FLAGS HEX: f
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 C-STRUCT: SECURITY_DESCRIPTOR
127     { "UCHAR" "Revision" }
128     { "UCHAR" "Sbz1" }
129     { "WORD" "Control" }
130     { "PVOID" "Owner" }
131     { "PVOID" "Group" }
132     { "PACL" "Sacl" }
133     { "PACL" "Dacl" } ;
134
135 TYPEDEF: SECURITY_DESCRIPTOR* PSECURITY_DESCRIPTOR
136
137 CONSTANT: SE_OWNER_DEFAULTED 1
138 CONSTANT: SE_GROUP_DEFAULTED 2
139 CONSTANT: SE_DACL_PRESENT 4
140 CONSTANT: SE_DACL_DEFAULTED 8
141 CONSTANT: SE_SACL_PRESENT 16
142 CONSTANT: SE_SACL_DEFAULTED 32
143 CONSTANT: SE_DACL_AUTO_INHERIT_REQ 256
144 CONSTANT: SE_SACL_AUTO_INHERIT_REQ 512
145 CONSTANT: SE_DACL_AUTO_INHERITED 1024
146 CONSTANT: SE_SACL_AUTO_INHERITED 2048
147 CONSTANT: SE_DACL_PROTECTED 4096
148 CONSTANT: SE_SACL_PROTECTED 8192
149 CONSTANT: SE_SELF_RELATIVE 32768
150
151 TYPEDEF: DWORD SECURITY_DESCRIPTOR_CONTROL
152 TYPEDEF: SECURITY_DESCRIPTOR_CONTROL* PSECURITY_DESCRIPTOR_CONTROL
153
154
155 ! typedef enum _TOKEN_INFORMATION_CLASS {
156 CONSTANT: TokenUser 1
157 CONSTANT: TokenGroups 2
158 CONSTANT: TokenPrivileges 3
159 CONSTANT: TokenOwner 4
160 CONSTANT: TokenPrimaryGroup 5
161 CONSTANT: TokenDefaultDacl 6
162 CONSTANT: TokenSource 7
163 CONSTANT: TokenType 8
164 CONSTANT: TokenImpersonationLevel 9
165 CONSTANT: TokenStatistics 10
166 CONSTANT: TokenRestrictedSids 11
167 CONSTANT: TokenSessionId 12
168 CONSTANT: TokenGroupsAndPrivileges 13
169 CONSTANT: TokenSessionReference 14
170 CONSTANT: TokenSandBoxInert 15
171 ! } TOKEN_INFORMATION_CLASS;
172
173 TYPEDEF: DWORD ACCESS_MODE
174 C-ENUM:
175     NOT_USED_ACCESS
176     GRANT_ACCESS
177     SET_ACCESS
178     DENY_ACCESS
179     REVOKE_ACCESS
180     SET_AUDIT_SUCCESS
181     SET_AUDIT_FAILURE ;
182
183 TYPEDEF: DWORD MULTIPLE_TRUSTEE_OPERATION
184 C-ENUM:
185     NO_MULTIPLE_TRUSTEE
186     TRUSTEE_IS_IMPERSONATE ;
187
188 TYPEDEF: DWORD TRUSTEE_FORM
189 C-ENUM:
190   TRUSTEE_IS_SID
191   TRUSTEE_IS_NAME
192   TRUSTEE_BAD_FORM
193   TRUSTEE_IS_OBJECTS_AND_SID
194   TRUSTEE_IS_OBJECTS_AND_NAME ;
195
196 TYPEDEF: DWORD TRUSTEE_TYPE
197 C-ENUM:
198     TRUSTEE_IS_UNKNOWN
199     TRUSTEE_IS_USER
200     TRUSTEE_IS_GROUP
201     TRUSTEE_IS_DOMAIN
202     TRUSTEE_IS_ALIAS
203     TRUSTEE_IS_WELL_KNOWN_GROUP
204     TRUSTEE_IS_DELETED
205     TRUSTEE_IS_INVALID
206     TRUSTEE_IS_COMPUTER ;
207
208 TYPEDEF: DWORD SE_OBJECT_TYPE
209 C-ENUM:
210     SE_UNKNOWN_OBJECT_TYPE
211     SE_FILE_OBJECT
212     SE_SERVICE
213     SE_PRINTER
214     SE_REGISTRY_KEY
215     SE_LMSHARE
216     SE_KERNEL_OBJECT
217     SE_WINDOW_OBJECT
218     SE_DS_OBJECT
219     SE_DS_OBJECT_ALL
220     SE_PROVIDER_DEFINED_OBJECT
221     SE_WMIGUID_OBJECT
222     SE_REGISTRY_WOW64_32KEY ;
223
224 TYPEDEF: TRUSTEE* PTRUSTEE
225
226 C-STRUCT: TRUSTEE
227     { "PTRUSTEE" "pMultipleTrustee" }
228     { "MULTIPLE_TRUSTEE_OPERATION" "MultipleTrusteeOperation" }
229     { "TRUSTEE_FORM" "TrusteeForm" }
230     { "TRUSTEE_TYPE" "TrusteeType" }
231     { "LPTSTR" "ptstrName" } ;
232
233 C-STRUCT: EXPLICIT_ACCESS
234     { "DWORD" "grfAccessPermissions" }
235     { "ACCESS_MODE" "grfAccessMode" }
236     { "DWORD" "grfInheritance" }
237     { "TRUSTEE" "Trustee" } ;
238
239 C-STRUCT: SID_IDENTIFIER_AUTHORITY
240     { { "BYTE" 6 } "Value" } ;
241
242 TYPEDEF: SID_IDENTIFIER_AUTHORITY* PSID_IDENTIFIER_AUTHORITY
243
244 CONSTANT: SECURITY_NULL_SID_AUTHORITY 0
245 CONSTANT: SECURITY_WORLD_SID_AUTHORITY    1
246 CONSTANT: SECURITY_LOCAL_SID_AUTHORITY    2
247 CONSTANT: SECURITY_CREATOR_SID_AUTHORITY  3
248 CONSTANT: SECURITY_NON_UNIQUE_AUTHORITY   4
249 CONSTANT: SECURITY_NT_AUTHORITY   5
250 CONSTANT: SECURITY_RESOURCE_MANAGER_AUTHORITY 6
251
252 CONSTANT: SECURITY_NULL_RID 0
253 CONSTANT: SECURITY_WORLD_RID 0
254 CONSTANT: SECURITY_LOCAL_RID 0
255 CONSTANT: SECURITY_CREATOR_OWNER_RID 0
256 CONSTANT: SECURITY_CREATOR_GROUP_RID 1
257 CONSTANT: SECURITY_CREATOR_OWNER_SERVER_RID 2
258 CONSTANT: SECURITY_CREATOR_GROUP_SERVER_RID 3
259 CONSTANT: SECURITY_DIALUP_RID 1
260 CONSTANT: SECURITY_NETWORK_RID 2
261 CONSTANT: SECURITY_BATCH_RID 3
262 CONSTANT: SECURITY_INTERACTIVE_RID 4
263 CONSTANT: SECURITY_SERVICE_RID 6
264 CONSTANT: SECURITY_ANONYMOUS_LOGON_RID 7
265 CONSTANT: SECURITY_PROXY_RID 8
266 CONSTANT: SECURITY_SERVER_LOGON_RID 9
267 CONSTANT: SECURITY_PRINCIPAL_SELF_RID 10
268 CONSTANT: SECURITY_AUTHENTICATED_USER_RID 11
269 CONSTANT: SECURITY_LOGON_IDS_RID 5
270 CONSTANT: SECURITY_LOGON_IDS_RID_COUNT 3
271 CONSTANT: SECURITY_LOCAL_SYSTEM_RID 18
272 CONSTANT: SECURITY_NT_NON_UNIQUE 21
273 CONSTANT: SECURITY_BUILTIN_DOMAIN_RID 32
274 CONSTANT: DOMAIN_USER_RID_ADMIN 500
275 CONSTANT: DOMAIN_USER_RID_GUEST 501
276 CONSTANT: DOMAIN_GROUP_RID_ADMINS 512
277 CONSTANT: DOMAIN_GROUP_RID_USERS 513
278 CONSTANT: DOMAIN_GROUP_RID_GUESTS 514
279 CONSTANT: DOMAIN_ALIAS_RID_ADMINS 544
280 CONSTANT: DOMAIN_ALIAS_RID_USERS 545
281 CONSTANT: DOMAIN_ALIAS_RID_GUESTS 546
282 CONSTANT: DOMAIN_ALIAS_RID_POWER_USERS 547
283 CONSTANT: DOMAIN_ALIAS_RID_ACCOUNT_OPS 548
284 CONSTANT: DOMAIN_ALIAS_RID_SYSTEM_OPS 549
285 CONSTANT: DOMAIN_ALIAS_RID_PRINT_OPS 550
286 CONSTANT: DOMAIN_ALIAS_RID_BACKUP_OPS 551
287 CONSTANT: DOMAIN_ALIAS_RID_REPLICATOR 552
288 CONSTANT: SE_GROUP_MANDATORY 1
289 CONSTANT: SE_GROUP_ENABLED_BY_DEFAULT 2
290 CONSTANT: SE_GROUP_ENABLED 4
291 CONSTANT: SE_GROUP_OWNER 8
292 CONSTANT: SE_GROUP_LOGON_ID -1073741824
293
294 ! SID is a variable length structure
295 TYPEDEF: void* PSID
296
297 TYPEDEF: EXPLICIT_ACCESS* PEXPLICIT_ACCESS
298
299 TYPEDEF: DWORD SECURITY_INFORMATION
300 TYPEDEF: SECURITY_INFORMATION* PSECURITY_INFORMATION
301
302 CONSTANT: OWNER_SECURITY_INFORMATION 1
303 CONSTANT: GROUP_SECURITY_INFORMATION 2
304 CONSTANT: DACL_SECURITY_INFORMATION 4
305 CONSTANT: SACL_SECURITY_INFORMATION 8
306
307 CONSTANT: DELETE                     HEX: 00010000
308 CONSTANT: READ_CONTROL               HEX: 00020000
309 CONSTANT: WRITE_DAC                  HEX: 00040000
310 CONSTANT: WRITE_OWNER                HEX: 00080000
311 CONSTANT: SYNCHRONIZE                HEX: 00100000
312 CONSTANT: STANDARD_RIGHTS_REQUIRED   HEX: 000f0000
313
314 ALIAS: STANDARD_RIGHTS_READ       READ_CONTROL
315 ALIAS: STANDARD_RIGHTS_WRITE      READ_CONTROL
316 ALIAS: STANDARD_RIGHTS_EXECUTE    READ_CONTROL
317
318 CONSTANT: TOKEN_TOKEN_ADJUST_DEFAULT   HEX: 0080
319 CONSTANT: TOKEN_ADJUST_GROUPS          HEX: 0040
320 CONSTANT: TOKEN_ADJUST_PRIVILEGES      HEX: 0020
321 CONSTANT: TOKEN_ADJUST_SESSIONID       HEX: 0100
322 CONSTANT: TOKEN_ASSIGN_PRIMARY         HEX: 0001
323 CONSTANT: TOKEN_DUPLICATE              HEX: 0002
324 ALIAS: TOKEN_EXECUTE                STANDARD_RIGHTS_EXECUTE
325 CONSTANT: TOKEN_IMPERSONATE            HEX: 0004
326 CONSTANT: TOKEN_QUERY                  HEX: 0008
327 CONSTANT: TOKEN_QUERY_SOURCE           HEX: 0010
328 CONSTANT: TOKEN_ADJUST_DEFAULT         HEX: 0080
329 : TOKEN_READ ( -- n ) { STANDARD_RIGHTS_READ TOKEN_QUERY } flags ;
330
331 : TOKEN_WRITE ( -- n )
332     {
333         STANDARD_RIGHTS_WRITE
334         TOKEN_ADJUST_PRIVILEGES
335         TOKEN_ADJUST_GROUPS
336         TOKEN_ADJUST_DEFAULT
337     } flags ; foldable
338
339 : TOKEN_ALL_ACCESS ( -- n )
340     {
341         STANDARD_RIGHTS_REQUIRED
342         TOKEN_ASSIGN_PRIMARY
343         TOKEN_DUPLICATE
344         TOKEN_IMPERSONATE
345         TOKEN_QUERY
346         TOKEN_QUERY_SOURCE
347         TOKEN_ADJUST_PRIVILEGES
348         TOKEN_ADJUST_GROUPS
349         TOKEN_ADJUST_SESSIONID
350         TOKEN_ADJUST_DEFAULT
351     } flags ; foldable
352
353 CONSTANT: HKEY_CLASSES_ROOT        HEX: 80000000
354 CONSTANT: HKEY_CURRENT_USER        HEX: 80000001
355 CONSTANT: HKEY_LOCAL_MACHINE       HEX: 80000002
356 CONSTANT: HKEY_USERS               HEX: 80000003
357 CONSTANT: HKEY_PERFORMANCE_DATA    HEX: 80000004
358 CONSTANT: HKEY_CURRENT_CONFIG      HEX: 80000005
359 CONSTANT: HKEY_DYN_DATA            HEX: 80000006
360 CONSTANT: HKEY_PERFORMANCE_TEXT    HEX: 80000050
361 CONSTANT: HKEY_PERFORMANCE_NLSTEXT HEX: 80000060
362
363 CONSTANT: KEY_QUERY_VALUE         HEX: 0001
364 CONSTANT: KEY_SET_VALUE           HEX: 0002
365 CONSTANT: KEY_CREATE_SUB_KEY      HEX: 0004
366 CONSTANT: KEY_ENUMERATE_SUB_KEYS  HEX: 0008
367 CONSTANT: KEY_NOTIFY              HEX: 0010
368 CONSTANT: KEY_CREATE_LINK         HEX: 0020
369 CONSTANT: KEY_READ                HEX: 20019
370 CONSTANT: KEY_WOW64_32KEY         HEX: 0200
371 CONSTANT: KEY_WOW64_64KEY         HEX: 0100
372 CONSTANT: KEY_WRITE               HEX: 20006
373 CONSTANT: KEY_EXECUTE             KEY_READ
374 CONSTANT: KEY_ALL_ACCESS          HEX: F003F
375
376 CONSTANT: REG_NONE                         0
377 CONSTANT: REG_SZ                           1
378 CONSTANT: REG_EXPAND_SZ                    2
379 CONSTANT: REG_BINARY                       3
380 CONSTANT: REG_DWORD                        4
381 CONSTANT: REG_DWORD_LITTLE_ENDIAN          4
382 CONSTANT: REG_DWORD_BIG_ENDIAN             5
383 CONSTANT: REG_LINK                         6
384 CONSTANT: REG_MULTI_SZ                     7
385 CONSTANT: REG_RESOURCE_LIST                8
386 CONSTANT: REG_FULL_RESOURCE_DESCRIPTOR     9
387 CONSTANT: REG_RESOURCE_REQUIREMENTS_LIST  10
388 CONSTANT: REG_QWORD                       11
389 CONSTANT: REG_QWORD_LITTLE_ENDIAN         11
390
391 TYPEDEF: DWORD REGSAM
392
393 ! : I_ScGetCurrentGroupStateW ;
394 ! : A_SHAFinal ;
395 ! : A_SHAInit ;
396 ! : A_SHAUpdate ;
397 ! : AbortSystemShutdownA ;
398 ! : AbortSystemShutdownW ;
399 ! : AccessCheck ;
400 ! : AccessCheckAndAuditAlarmA ;
401 ! : AccessCheckAndAuditAlarmW ;
402 ! : AccessCheckByType ;
403 ! : AccessCheckByTypeAndAuditAlarmA ;
404 ! : AccessCheckByTypeAndAuditAlarmW ;
405 ! : AccessCheckByTypeResultList ;
406 ! : AccessCheckByTypeResultListAndAuditAlarmA ;
407 ! : AccessCheckByTypeResultListAndAuditAlarmByHandleA ;
408 ! : AccessCheckByTypeResultListAndAuditAlarmByHandleW ;
409 ! : AccessCheckByTypeResultListAndAuditAlarmW ;
410 ! : AddAccessAllowedAce ;
411 ! : AddAccessAllowedAceEx ;
412 ! : AddAccessAllowedObjectAce ;
413 ! : AddAccessDeniedAce ;
414 ! : AddAccessDeniedAceEx ;
415 ! : AddAccessDeniedObjectAce ;
416 FUNCTION: BOOL AddAce ( PACL pAcl, DWORD dwAceRevision, DWORD dwStartingAceIndex, LPVOID pAceList, DWORD nAceListLength ) ;
417 ! : AddAuditAccessAce ;
418 ! : AddAuditAccessAceEx ;
419 ! : AddAuditAccessObjectAce ;
420 ! : AddUsersToEncryptedFile ;
421 ! : AdjustTokenGroups ;
422 FUNCTION: BOOL AdjustTokenPrivileges ( HANDLE TokenHandle,
423                                BOOL DisableAllPrivileges,
424                                PTOKEN_PRIVILEGES NewState,
425                                DWORD BufferLength,
426                                PTOKEN_PRIVILEGES PreviousState,
427                                PDWORD ReturnLength ) ;
428
429 FUNCTION: BOOL AllocateAndInitializeSid (
430                 PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
431                 BYTE nSubAuthorityCount,
432                 DWORD dwSubAuthority0,
433                 DWORD dwSubAuthority1,
434                 DWORD dwSubAuthority2,
435                 DWORD dwSubAuthority3,
436                 DWORD dwSubAuthority4,
437                 DWORD dwSubAuthority5,
438                 DWORD dwSubAuthority6,
439                 DWORD dwSubAuthority7,
440                 PSID* pSid ) ;
441
442 ! : AllocateLocallyUniqueId ;
443 ! : AreAllAccessesGranted ;
444 ! : AreAnyAccessesGranted ;
445 ! : BackupEventLogA ;
446 ! : BackupEventLogW ;
447 ! : BuildExplicitAccessWithNameA ;
448 ! : BuildExplicitAccessWithNameW ;
449 ! : BuildImpersonateExplicitAccessWithNameA ;
450 ! : BuildImpersonateExplicitAccessWithNameW ;
451 ! : BuildImpersonateTrusteeA ;
452 ! : BuildImpersonateTrusteeW ;
453 ! : BuildSecurityDescriptorA ;
454 ! : BuildSecurityDescriptorW ;
455 ! : BuildTrusteeWithNameA ;
456 ! : BuildTrusteeWithNameW ;
457 ! : BuildTrusteeWithObjectsAndNameA ;
458 ! : BuildTrusteeWithObjectsAndNameW ;
459 ! : BuildTrusteeWithObjectsAndSidA ;
460 ! : BuildTrusteeWithObjectsAndSidW ;
461 ! : BuildTrusteeWithSidA ;
462 ! : BuildTrusteeWithSidW ;
463 ! : CancelOverlappedAccess ;
464 ! : ChangeServiceConfig2A ;
465 ! : ChangeServiceConfig2W ;
466 ! : ChangeServiceConfigA ;
467 ! : ChangeServiceConfigW ;
468 ! : CheckTokenMembership ;
469 ! : ClearEventLogA ;
470 ! : ClearEventLogW ;
471 ! : CloseCodeAuthzLevel ;
472 ! : CloseEncryptedFileRaw ;
473 ! : CloseEventLog ;
474 ! : CloseServiceHandle ;
475 ! : CloseTrace ;
476 ! : CommandLineFromMsiDescriptor ;
477 ! : ComputeAccessTokenFromCodeAuthzLevel ;
478 ! : ControlService ;
479 ! : ControlTraceA ;
480 ! : ControlTraceW ;
481 ! : ConvertAccessToSecurityDescriptorA ;
482 ! : ConvertAccessToSecurityDescriptorW ;
483 ! : ConvertSDToStringSDRootDomainA ;
484 ! : ConvertSDToStringSDRootDomainW ;
485 ! : ConvertSecurityDescriptorToAccessA ;
486 ! : ConvertSecurityDescriptorToAccessNamedA ;
487 ! : ConvertSecurityDescriptorToAccessNamedW ;
488 ! : ConvertSecurityDescriptorToAccessW ;
489 ! : ConvertSecurityDescriptorToStringSecurityDescriptorA ;
490 ! : ConvertSecurityDescriptorToStringSecurityDescriptorW ;
491 ! : ConvertSidToStringSidA ;
492 ! : ConvertSidToStringSidW ;
493 ! : ConvertStringSDToSDDomainA ;
494 ! : ConvertStringSDToSDDomainW ;
495 ! : ConvertStringSDToSDRootDomainA ;
496 ! : ConvertStringSDToSDRootDomainW ;
497 ! : ConvertStringSecurityDescriptorToSecurityDescriptorA ;
498 ! : ConvertStringSecurityDescriptorToSecurityDescriptorW ;
499 ! : ConvertStringSidToSidA ;
500 ! : ConvertStringSidToSidW ;
501 ! : ConvertToAutoInheritPrivateObjectSecurity ;
502 ! : CopySid ;
503 ! : CreateCodeAuthzLevel ;
504 ! : CreatePrivateObjectSecurity ;
505 ! : CreatePrivateObjectSecurityEx ;
506 ! : CreatePrivateObjectSecurityWithMultipleInheritance ;
507 ! : CreateProcessAsUserA ;
508 ! : CreateProcessAsUserSecure ;
509 ! : CreateProcessAsUserW ;
510 ! : CreateProcessWithLogonW ;
511 ! : CreateRestrictedToken ;
512 ! : CreateServiceA ;
513 ! : CreateServiceW ;
514 ! : CreateTraceInstanceId ;
515 ! : CreateWellKnownSid ;
516 ! : CredDeleteA ;
517 ! : CredDeleteW ;
518 ! : CredEnumerateA ;
519 ! : CredEnumerateW ;
520 ! : CredFree ;
521 ! : CredGetSessionTypes ;
522 ! : CredGetTargetInfoA ;
523 ! : CredGetTargetInfoW ;
524 ! : CredIsMarshaledCredentialA ;
525 ! : CredIsMarshaledCredentialW ;
526 ! : CredMarshalCredentialA ;
527 ! : CredMarshalCredentialW ;
528 ! : CredProfileLoaded ;
529 ! : CredReadA ;
530 ! : CredReadDomainCredentialsA ;
531 ! : CredReadDomainCredentialsW ;
532 ! : CredReadW ;
533 ! : CredRenameA ;
534 ! : CredRenameW ;
535 ! : CredUnmarshalCredentialA ;
536 ! : CredUnmarshalCredentialW ;
537 ! : CredWriteA ;
538 ! : CredWriteDomainCredentialsA ;
539 ! : CredWriteDomainCredentialsW ;
540 ! : CredWriteW ;
541 ! : CredpConvertCredential ;
542 ! : CredpConvertTargetInfo ;
543 ! : CredpDecodeCredential ;
544 ! : CredpEncodeCredential ;
545 ! : CryptAcquireContextA ;
546 FUNCTION: BOOL CryptAcquireContextW ( HCRYPTPROV* phProv,
547                                       LPCTSTR pszContainer,
548                                       LPCTSTR pszProvider,
549                                       DWORD dwProvType,
550                                       DWORD dwFlags ) ;
551
552 ALIAS: CryptAcquireContext CryptAcquireContextW
553
554 ! : CryptContextAddRef ;
555 ! : CryptCreateHash ;
556 ! : CryptDecrypt ;
557 ! : CryptDeriveKey ;
558 ! : CryptDestroyHash ;
559 ! : CryptDestroyKey ;
560 ! : CryptDuplicateHash ;
561 ! : CryptDuplicateKey ;
562 ! : CryptEncrypt ;
563 ! : CryptEnumProviderTypesA ;
564 ! : CryptEnumProviderTypesW ;
565 ! : CryptEnumProvidersA ;
566 ! : CryptEnumProvidersW ;
567 ! : CryptExportKey ;
568 ! : CryptGenKey ;
569 FUNCTION: BOOL CryptGenRandom ( HCRYPTPROV hProv, DWORD dwLen, BYTE* pbBuffer ) ;
570 ! : CryptGetDefaultProviderA ;
571 ! : CryptGetDefaultProviderW ;
572 ! : CryptGetHashParam ;
573 ! : CryptGetKeyParam ;
574 ! : CryptGetProvParam ;
575 ! : CryptGetUserKey ;
576 ! : CryptHashData ;
577 ! : CryptHashSessionKey ;
578 ! : CryptImportKey ;
579 FUNCTION: BOOL CryptReleaseContext ( HCRYPTPROV hProv, DWORD dwFlags ) ;
580 ! : CryptSetHashParam ;
581 ! : CryptSetKeyParam ;
582 ! : CryptSetProvParam ;
583 ! : CryptSetProviderA ;
584 ! : CryptSetProviderExA ;
585 ! : CryptSetProviderExW ;
586 ! : CryptSetProviderW ;
587 ! : CryptSignHashA ;
588 ! : CryptSignHashW ;
589 ! : CryptVerifySignatureA ;
590 ! : CryptVerifySignatureW ;
591 ! : DecryptFileA ;
592 ! : DecryptFileW ;
593 ! : DeleteAce ;
594 ! : DeleteService ;
595 ! : DeregisterEventSource ;
596 ! : DestroyPrivateObjectSecurity ;
597 ! : DuplicateEncryptionInfoFile ;
598 ! : DuplicateToken ;
599 ! : DuplicateTokenEx ;
600 ! : ElfBackupEventLogFileA ;
601 ! : ElfBackupEventLogFileW ;
602 ! : ElfChangeNotify ;
603 ! : ElfClearEventLogFileA ;
604 ! : ElfClearEventLogFileW ;
605 ! : ElfCloseEventLog ;
606 ! : ElfDeregisterEventSource ;
607 ! : ElfFlushEventLog ;
608 ! : ElfNumberOfRecords ;
609 ! : ElfOldestRecord ;
610 ! : ElfOpenBackupEventLogA ;
611 ! : ElfOpenBackupEventLogW ;
612 ! : ElfOpenEventLogA ;
613 ! : ElfOpenEventLogW ;
614 ! : ElfReadEventLogA ;
615 ! : ElfReadEventLogW ;
616 ! : ElfRegisterEventSourceA ;
617 ! : ElfRegisterEventSourceW ;
618 ! : ElfReportEventA ;
619 ! : ElfReportEventW ;
620 ! : EnableTrace ;
621 ! : EncryptFileA ;
622 ! : EncryptFileW ;
623 ! : EncryptedFileKeyInfo ;
624 ! : EncryptionDisable ;
625 ! : EnumDependentServicesA ;
626 ! : EnumDependentServicesW ;
627 ! : EnumServiceGroupW ;
628 ! : EnumServicesStatusA ;
629 ! : EnumServicesStatusExA ;
630 ! : EnumServicesStatusExW ;
631 ! : EnumServicesStatusW ;
632 ! : EnumerateTraceGuids ;
633 ! : EqualDomainSid ;
634 ! : EqualPrefixSid ;
635 ! : EqualSid ;
636 ! : FileEncryptionStatusA ;
637 ! : FileEncryptionStatusW ;
638 ! : FindFirstFreeAce ;
639 ! : FlushTraceA ;
640 ! : FlushTraceW ;
641 ! : FreeEncryptedFileKeyInfo ;
642 ! : FreeEncryptionCertificateHashList ;
643 ! : FreeInheritedFromArray ;
644 ! : FreeSid ;
645 ! : GetAccessPermissionsForObjectA ;
646 ! : GetAccessPermissionsForObjectW ;
647 ! : GetAce ;
648 ! : GetAclInformation ;
649 ! : GetAuditedPermissionsFromAclA ;
650 ! : GetAuditedPermissionsFromAclW ;
651 ! : GetCurrentHwProfileA ;
652 ! : GetCurrentHwProfileW ;
653 ! : GetEffectiveRightsFromAclA ;
654 ! : GetEffectiveRightsFromAclW ;
655 ! : GetEventLogInformation ;
656 ! : GetExplicitEntriesFromAclA ;
657 ! : GetExplicitEntriesFromAclW ;
658 ! : GetFileSecurityA ;
659 FUNCTION: BOOL GetFileSecurityW ( LPCTSTR lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded ) ;
660 ALIAS: GetFileSecurity GetFileSecurityW
661 ! : GetInformationCodeAuthzLevelW ;
662 ! : GetInformationCodeAuthzPolicyW ;
663 ! : GetInheritanceSourceA ;
664 ! : GetInheritanceSourceW ;
665 ! : GetKernelObjectSecurity ;
666 ! : GetLengthSid ;
667 ! : GetLocalManagedApplicationData ;
668 ! : GetLocalManagedApplications ;
669 ! : GetManagedApplicationCategories ;
670 ! : GetManagedApplications ;
671 ! : GetMultipleTrusteeA ;
672 ! : GetMultipleTrusteeOperationA ;
673 ! : GetMultipleTrusteeOperationW ;
674 ! : GetMultipleTrusteeW ;
675 ! : GetNamedSecurityInfoA ;
676 ! : GetNamedSecurityInfoExA ;
677 ! FUNCTION: DWORD GetNamedSecurityInfoExW
678 FUNCTION: DWORD GetNamedSecurityInfoW ( LPTSTR pObjectName, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID* ppsidOwner, PSID* ppsidGroup, PACL* ppDacl, PACL* ppSacl, PSECURITY_DESCRIPTOR* ppSecurityDescriptor ) ;
679 ALIAS: GetNamedSecurityInfo GetNamedSecurityInfoW
680 ! : GetNumberOfEventLogRecords ;
681 ! : GetOldestEventLogRecord ;
682 ! : GetOverlappedAccessResults ;
683 ! : GetPrivateObjectSecurity ;
684 FUNCTION: BOOL GetSecurityDescriptorControl ( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSECURITY_DESCRIPTOR_CONTROL pControl, LPDWORD lpdwRevision ) ;
685 FUNCTION: BOOL GetSecurityDescriptorDacl ( PSECURITY_DESCRIPTOR pSecurityDescriptor, LPBOOL lpbDaclPresent, PACL* pDacl, LPBOOL lpDaclDefaulted ) ;
686 FUNCTION: BOOL GetSecurityDescriptorGroup ( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID* pGroup, LPBOOL lpGroupDefaulted ) ;
687 FUNCTION: BOOL GetSecurityDescriptorLength ( PSECURITY_DESCRIPTOR pSecurityDescriptor ) ;
688 FUNCTION: BOOL GetSecurityDescriptorOwner ( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID* pOwner, LPBOOL lpOwnerDefaulted ) ;
689 FUNCTION: BOOL GetSecurityDescriptorRMControl ( PSECURITY_DESCRIPTOR pSecurityDescriptor, PUCHAR RMControl ) ;
690 FUNCTION: BOOL GetSecurityDescriptorSacl ( PSECURITY_DESCRIPTOR pSecurityDescriptor, LPBOOL lpbSaclPresent, PACL* pSacl, LPBOOL lpSaclDefaulted ) ;
691 ! : GetSecurityInfo ;
692 ! : GetSecurityInfoExA ;
693 ! : GetSecurityInfoExW ;
694 ! : GetServiceDisplayNameA ;
695 ! : GetServiceDisplayNameW ;
696 ! : GetServiceKeyNameA ;
697 ! : GetServiceKeyNameW ;
698 ! : GetSidIdentifierAuthority ;
699 ! : GetSidLengthRequired ;
700 ! : GetSidSubAuthority ;
701 ! : GetSidSubAuthorityCount ;
702 ! : GetTokenInformation ;
703 ! : GetTraceEnableFlags ;
704 ! : GetTraceEnableLevel ;
705 ! : GetTraceLoggerHandle ;
706 ! : GetTrusteeFormA ;
707 ! : GetTrusteeFormW ;
708 ! : GetTrusteeNameA ;
709 ! : GetTrusteeNameW ;
710 ! : GetTrusteeTypeA ;
711 ! : GetTrusteeTypeW ;
712
713 ! : GetUserNameA ;
714 FUNCTION: BOOL GetUserNameW ( LPCTSTR lpBuffer, LPDWORD lpnSize ) ;
715 ALIAS: GetUserName GetUserNameW
716
717 ! : GetWindowsAccountDomainSid ;
718 ! : I_ScIsSecurityProcess ;
719 ! : I_ScPnPGetServiceName ;
720 ! : I_ScSendTSMessage ;
721 ! : I_ScSetServiceBitsA ;
722 ! : I_ScSetServiceBitsW ;
723 ! : IdentifyCodeAuthzLevelW ;
724 ! : ImpersonateAnonymousToken ;
725 ! : ImpersonateLoggedOnUser ;
726 ! : ImpersonateNamedPipeClient ;
727 ! : ImpersonateSelf ;
728 FUNCTION: BOOL InitializeAcl ( PACL pAcl, DWORD nAclLength, DWORD dwAclRevision ) ;
729 FUNCTION: BOOL InitializeSecurityDescriptor ( PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD dwRevision ) ;
730 ! : InitializeSid ;
731 ! : InitiateSystemShutdownA ;
732 ! : InitiateSystemShutdownExA ;
733 ! : InitiateSystemShutdownExW ;
734 ! : InitiateSystemShutdownW ;
735 ! : InstallApplication ;
736 ! : IsTextUnicode ;
737 ! : IsTokenRestricted ;
738 ! : IsTokenUntrusted ;
739 ! : IsValidAcl ;
740 ! : IsValidSecurityDescriptor ;
741 ! : IsValidSid ;
742 ! : IsWellKnownSid ;
743 ! : LockServiceDatabase ;
744 ! : LogonUserA ;
745 ! : LogonUserExA ;
746 ! : LogonUserExW ;
747 ! : LogonUserW ;
748 ! : LookupAccountNameA ;
749 ! : LookupAccountNameW ;
750 ! : LookupAccountSidA ;
751 ! : LookupAccountSidW ;
752 ! : LookupPrivilegeDisplayNameA ;
753 ! : LookupPrivilegeDisplayNameW ;
754 ! : LookupPrivilegeNameA ;
755 ! : LookupPrivilegeNameW ;
756 ! : LookupPrivilegeValueA ;
757 FUNCTION: BOOL LookupPrivilegeValueW ( LPCTSTR lpSystemName,
758                                LPCTSTR lpName,
759                                PLUID lpLuid ) ;
760 ALIAS: LookupPrivilegeValue LookupPrivilegeValueW
761
762 ! : LookupSecurityDescriptorPartsA ;
763 ! : LookupSecurityDescriptorPartsW ;
764 ! : LsaAddAccountRights ;
765 ! : LsaAddPrivilegesToAccount ;
766 ! : LsaClearAuditLog ;
767 ! : LsaClose ;
768 ! : LsaCreateAccount ;
769 ! : LsaCreateSecret ;
770 ! : LsaCreateTrustedDomain ;
771 ! : LsaCreateTrustedDomainEx ;
772 ! : LsaDelete ;
773 ! : LsaDeleteTrustedDomain ;
774 ! : LsaEnumerateAccountRights ;
775 ! : LsaEnumerateAccounts ;
776 ! : LsaEnumerateAccountsWithUserRight ;
777 ! : LsaEnumeratePrivileges ;
778 ! : LsaEnumeratePrivilegesOfAccount ;
779 ! : LsaEnumerateTrustedDomains ;
780 ! : LsaEnumerateTrustedDomainsEx ;
781 ! : LsaFreeMemory ;
782 ! : LsaGetQuotasForAccount ;
783 ! : LsaGetRemoteUserName ;
784 ! : LsaGetSystemAccessAccount ;
785 ! : LsaGetUserName ;
786 ! : LsaICLookupNames ;
787 ! : LsaICLookupNamesWithCreds ;
788 ! : LsaICLookupSids ;
789 ! : LsaICLookupSidsWithCreds ;
790 ! : LsaLookupNames2 ;
791 ! : LsaLookupNames ;
792 ! : LsaLookupPrivilegeDisplayName ;
793 ! : LsaLookupPrivilegeName ;
794 ! : LsaLookupPrivilegeValue ;
795 ! : LsaLookupSids ;
796 ! : LsaNtStatusToWinError ;
797 ! : LsaOpenAccount ;
798 ! : LsaOpenPolicy ;
799 ! : LsaOpenPolicySce ;
800 ! : LsaOpenSecret ;
801 ! : LsaOpenTrustedDomain ;
802 ! : LsaOpenTrustedDomainByName ;
803 ! : LsaQueryDomainInformationPolicy ;
804 ! : LsaQueryForestTrustInformation ;
805 ! : LsaQueryInfoTrustedDomain ;
806 ! : LsaQueryInformationPolicy ;
807 ! : LsaQuerySecret ;
808 ! : LsaQuerySecurityObject ;
809 ! : LsaQueryTrustedDomainInfo ;
810 ! : LsaQueryTrustedDomainInfoByName ;
811 ! : LsaRemoveAccountRights ;
812 ! : LsaRemovePrivilegesFromAccount ;
813 ! : LsaRetrievePrivateData ;
814 ! : LsaSetDomainInformationPolicy ;
815 ! : LsaSetForestTrustInformation ;
816 ! : LsaSetInformationPolicy ;
817 ! : LsaSetInformationTrustedDomain ;
818 ! : LsaSetQuotasForAccount ;
819 ! : LsaSetSecret ;
820 ! : LsaSetSecurityObject ;
821 ! : LsaSetSystemAccessAccount ;
822 ! : LsaSetTrustedDomainInfoByName ;
823 ! : LsaSetTrustedDomainInformation ;
824 ! : LsaStorePrivateData ;
825 ! : MD4Final ;
826 ! : MD4Init ;
827 ! : MD4Update ;
828 ! : MD5Final ;
829 ! : MD5Init ;
830 ! : MD5Update ;
831 ! : MSChapSrvChangePassword2 ;
832 ! : MSChapSrvChangePassword ;
833 ! : MakeAbsoluteSD2 ;
834 ! : MakeAbsoluteSD ;
835 ! : MakeSelfRelativeSD ;
836 ! : MapGenericMask ;
837 ! : NotifyBootConfigStatus ;
838 ! : NotifyChangeEventLog ;
839 ! : ObjectCloseAuditAlarmA ;
840 ! : ObjectCloseAuditAlarmW ;
841 ! : ObjectDeleteAuditAlarmA ;
842 ! : ObjectDeleteAuditAlarmW ;
843 ! : ObjectOpenAuditAlarmA ;
844 ! : ObjectOpenAuditAlarmW ;
845 ! : ObjectPrivilegeAuditAlarmA ;
846 ! : ObjectPrivilegeAuditAlarmW ;
847 ! : OpenBackupEventLogA ;
848 ! : OpenBackupEventLogW ;
849 ! : OpenEncryptedFileRawA ;
850 ! : OpenEncryptedFileRawW ;
851 ! : OpenEventLogA ;
852 ! : OpenEventLogW ;
853
854 FUNCTION: BOOL OpenProcessToken ( HANDLE ProcessHandle,
855                                   DWORD DesiredAccess,
856                                   PHANDLE TokenHandle ) ;
857 ! : OpenSCManagerA ;
858 ! : OpenSCManagerW ;
859 ! : OpenServiceA ;
860 ! : OpenServiceW ;
861 FUNCTION: BOOL OpenThreadToken ( HANDLE ThreadHandle, DWORD DesiredAccess, BOOL OpenAsSelf, PHANDLE TokenHandle ) ;
862 ! : OpenTraceA ;
863 ! : OpenTraceW ;
864 ! : PrivilegeCheck ;
865 ! : PrivilegedServiceAuditAlarmA ;
866 ! : PrivilegedServiceAuditAlarmW ;
867 ! : ProcessIdleTasks ;
868 ! : ProcessTrace ;
869 ! : QueryAllTracesA ;
870 ! : QueryAllTracesW ;
871 ! : QueryRecoveryAgentsOnEncryptedFile ;
872 ! : QueryServiceConfig2A ;
873 ! : QueryServiceConfig2W ;
874 ! : QueryServiceConfigA ;
875 ! : QueryServiceConfigW ;
876 ! : QueryServiceLockStatusA ;
877 ! : QueryServiceLockStatusW ;
878 ! : QueryServiceObjectSecurity ;
879 ! : QueryServiceStatus ;
880 ! : QueryServiceStatusEx ;
881 ! : QueryTraceA ;
882 ! : QueryTraceW ;
883 ! : QueryUsersOnEncryptedFile ;
884 ! : QueryWindows31FilesMigration ;
885 ! : ReadEncryptedFileRaw ;
886 ! : ReadEventLogA ;
887 ! : ReadEventLogW ;
888 FUNCTION: LONG RegCloseKey ( HKEY hKey ) ;
889 ! : RegConnectRegistryA ;
890 ! : RegConnectRegistryW ;
891 ! : RegCreateKeyA ;
892 ! : RegCreateKeyExA ;
893 FUNCTION: LONG RegCreateKeyExW ( HKEY hKey, LPCTSTR lpSubKey, DWORD Reserved, LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition ) ;
894 ! : RegCreateKeyW
895 ! : RegDeleteKeyA ;
896 ! : RegDeleteKeyW ;
897
898 FUNCTION: LONG RegDeleteKeyExW (
899         HKEY hKey,
900         LPCTSTR lpSubKey,
901         DWORD Reserved,
902         LPTSTR lpClass,
903         DWORD dwOptions,
904         REGSAM samDesired,
905         LPSECURITY_ATTRIBUTES lpSecurityAttributes,
906         PHKEY phkResult,
907         LPDWORD lpdwDisposition
908     ) ;
909
910 ALIAS: RegDeleteKeyEx RegDeleteKeyExW
911
912 ! : RegDeleteValueA ;
913 ! : RegDeleteValueW ;
914 ! : RegDisablePredefinedCache ;
915 ! : RegEnumKeyA ;
916 ! : RegEnumKeyExA ;
917 FUNCTION: LONG RegEnumKeyExW (
918         HKEY hKey,
919         DWORD dwIndex,
920         LPTSTR lpName,
921         LPDWORD lpcName,
922         LPDWORD lpReserved,
923         LPTSTR lpClass,
924         LPDWORD lpcClass,
925         PFILETIME lpftLastWriteTime
926     ) ;
927 ! : RegEnumKeyW ;
928 ! : RegEnumValueA ;
929
930 FUNCTION: LONG RegEnumValueW (
931         HKEY hKey,
932         DWORD dwIndex,
933         LPTSTR lpValueName,
934         LPDWORD lpcchValueName,
935         LPDWORD lpReserved,
936         LPDWORD lpType,
937         LPBYTE lpData,
938         LPDWORD lpcbData
939     ) ;
940
941 ALIAS: RegEnumValue RegEnumValueW
942
943 ! : RegFlushKey ;
944 ! : RegGetKeySecurity ;
945 ! : RegLoadKeyA ;
946 ! : RegLoadKeyW ;
947 ! : RegNotifyChangeKeyValue ;
948 FUNCTION: LONG RegOpenCurrentUser ( REGSAM samDesired, PHKEY phkResult ) ;
949 ! : RegOpenKeyA ;
950 ! : RegOpenKeyExA ;
951 FUNCTION: LONG RegOpenKeyExW ( HKEY hKey, LPCTSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult ) ;
952 ALIAS: RegOpenKeyEx RegOpenKeyExW
953 ! : RegOpenKeyW ;
954 ! : RegOpenUserClassesRoot ;
955 ! : RegOverridePredefKey ;
956 ! : RegQueryInfoKeyA ;
957 FUNCTION: LONG RegQueryInfoKeyW (
958         HKEY hKey,
959         LPTSTR lpClass,
960         LPDWORD lpcClass,
961         LPDWORD lpReserved,
962         LPDWORD lpcSubKeys,
963         LPDWORD lpcMaxSubKeyLen,
964         LPDWORD lpcMaxClassLen,
965         LPDWORD lpcValues,
966         LPDWORD lpcMaxValueNameLen,
967         LPDWORD lpcMaxValueLen,
968         LPDWORD lpcbSecurityDescriptor,
969         PFILETIME lpftLastWriteTime
970     ) ;
971 ALIAS: RegQueryInfoKey RegQueryInfoKeyW
972 ! : RegQueryMultipleValuesA ;
973 ! : RegQueryMultipleValuesW ;
974 ! : RegQueryValueA ;
975 ! : RegQueryValueExA ;
976 FUNCTION: LONG RegQueryValueExW ( HKEY hKey, LPCTSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData ) ;
977 ALIAS: RegQueryValueEx RegQueryValueExW
978 ! : RegQueryValueW ;
979 ! : RegReplaceKeyA ;
980 ! : RegReplaceKeyW ;
981 ! : RegRestoreKeyA ;
982 ! : RegRestoreKeyW ;
983 ! : RegSaveKeyA ;
984 ! : RegSaveKeyExA ;
985 ! : RegSaveKeyExW ;
986 ! : RegSaveKeyW ;
987 ! : RegSetKeySecurity ;
988 ! : RegSetValueA ;
989 ! : RegSetValueExA ;
990 ! : RegSetValueExW ;
991 ! : RegSetValueW ;
992 ! : RegUnLoadKeyA ;
993 ! : RegUnLoadKeyW ;
994 ! : RegisterEventSourceA ;
995 ! : RegisterEventSourceW ;
996 ! : RegisterIdleTask ;
997 ! : RegisterServiceCtrlHandlerA ;
998 ! : RegisterServiceCtrlHandlerExA ;
999 ! : RegisterServiceCtrlHandlerExW ;
1000 ! : RegisterServiceCtrlHandlerW ;
1001 ! : RegisterTraceGuidsA ;
1002 ! : RegisterTraceGuidsW ;
1003 ! : RemoveTraceCallback ;
1004 ! : RemoveUsersFromEncryptedFile ;
1005 ! : ReportEventA ;
1006 ! : ReportEventW ;
1007 ! : RevertToSelf ;
1008 ! : SaferCloseLevel ;
1009 ! : SaferComputeTokenFromLevel ;
1010 ! : SaferCreateLevel ;
1011 ! : SaferGetLevelInformation ;
1012 ! : SaferGetPolicyInformation ;
1013 ! : SaferIdentifyLevel ;
1014 ! : SaferRecordEventLogEntry ;
1015 ! : SaferSetLevelInformation ;
1016 ! : SaferSetPolicyInformation ;
1017 ! : SaferiChangeRegistryScope ;
1018 ! : SaferiCompareTokenLevels ;
1019 ! : SaferiIsExecutableFileType ;
1020 ! : SaferiPopulateDefaultsInRegistry ;
1021 ! : SaferiRecordEventLogEntry ;
1022 ! : SaferiReplaceProcessThreadTokens ;
1023 ! : SaferiSearchMatchingHashRules ;
1024 ! : SetAclInformation ;
1025 ! : SetEntriesInAccessListA ;
1026 ! : SetEntriesInAccessListW ;
1027 ! : SetEntriesInAclA ;
1028 FUNCTION: DWORD SetEntriesInAclW ( ULONG cCountOfExplicitEntries, PEXPLICIT_ACCESS pListOfExplicitEntries, PACL OldAcl, PACL* NewAcl ) ;
1029 ALIAS: SetEntriesInAcl SetEntriesInAclW
1030 ! : SetEntriesInAuditListA ;
1031 ! : SetEntriesInAuditListW ;
1032 ! : SetFileSecurityA ;
1033 ! : SetFileSecurityW ;
1034 ! : SetInformationCodeAuthzLevelW ;
1035 ! : SetInformationCodeAuthzPolicyW ;
1036 ! : SetKernelObjectSecurity ;
1037 ! : SetNamedSecurityInfoA ;
1038 ! : SetNamedSecurityInfoExA ;
1039 ! : SetNamedSecurityInfoExW ;
1040 FUNCTION: DWORD SetNamedSecurityInfoW ( LPTSTR pObjectName, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID psidOwner, PSID psidGroup, PACL pDacl, PACL pSacl ) ;
1041 ALIAS: SetNamedSecurityInfo SetNamedSecurityInfoW
1042 ! : SetPrivateObjectSecurity ;
1043 ! : SetPrivateObjectSecurityEx ;
1044 ! : SetSecurityDescriptorControl ;
1045 ! : SetSecurityDescriptorDacl ;
1046 ! : SetSecurityDescriptorGroup ;
1047 ! : SetSecurityDescriptorOwner ;
1048 ! : SetSecurityDescriptorRMControl ;
1049 ! : SetSecurityDescriptorSacl ;
1050 ! : SetSecurityInfo ;
1051 ! : SetSecurityInfoExA ;
1052 ! : SetSecurityInfoExW ;
1053 ! : SetServiceBits ;
1054 ! : SetServiceObjectSecurity ;
1055 ! : SetServiceStatus ;
1056 ! : SetThreadToken ;
1057 ! : SetTokenInformation ;
1058 ! : SetTraceCallback ;
1059 ! : SetUserFileEncryptionKey ;
1060 ! : StartServiceA ;
1061 ! : StartServiceCtrlDispatcherA ;
1062 ! : StartServiceCtrlDispatcherW ;
1063 ! : StartServiceW ;
1064 ! : StartTraceA ;
1065 ! : StartTraceW ;
1066 ! : StopTraceA ;
1067 ! : StopTraceW ;
1068 ! : SynchronizeWindows31FilesAndWindowsNTRegistry ;
1069 ! : SystemFunction001 ;
1070 ! : SystemFunction002 ;
1071 ! : SystemFunction003 ;
1072 ! : SystemFunction004 ;
1073 ! : SystemFunction005 ;
1074 ! : SystemFunction006 ;
1075 ! : SystemFunction007 ;
1076 ! : SystemFunction008 ;
1077 ! : SystemFunction009 ;
1078 ! : SystemFunction010 ;
1079 ! : SystemFunction011 ;
1080 ! : SystemFunction012 ;
1081 ! : SystemFunction013 ;
1082 ! : SystemFunction014 ;
1083 ! : SystemFunction015 ;
1084 ! : SystemFunction016 ;
1085 ! : SystemFunction017 ;
1086 ! : SystemFunction018 ;
1087 ! : SystemFunction019 ;
1088 ! : SystemFunction020 ;
1089 ! : SystemFunction021 ;
1090 ! : SystemFunction022 ;
1091 ! : SystemFunction023 ;
1092 ! : SystemFunction024 ;
1093 ! : SystemFunction025 ;
1094 ! : SystemFunction026 ;
1095 ! : SystemFunction027 ;
1096 ! : SystemFunction028 ;
1097 ! : SystemFunction029 ;
1098 ! : SystemFunction030 ;
1099 ! : SystemFunction031 ;
1100 ! : SystemFunction032 ;
1101 ! : SystemFunction033 ;
1102 ! : SystemFunction034 ;
1103 ! : SystemFunction035 ;
1104 ! : SystemFunction036 ;
1105 ! : SystemFunction040 ;
1106 ! : SystemFunction041 ;
1107 ! : TraceEvent ;
1108 ! : TraceEventInstance ;
1109 ! : TraceMessage ;
1110 ! : TraceMessageVa ;
1111 ! : TreeResetNamedSecurityInfoA ;
1112 ! : TreeResetNamedSecurityInfoW ;
1113 ! : TrusteeAccessToObjectA ;
1114 ! : TrusteeAccessToObjectW ;
1115 ! : UninstallApplication ;
1116 ! : UnlockServiceDatabase ;
1117 ! : UnregisterIdleTask ;
1118 ! : UnregisterTraceGuids ;
1119 ! : UpdateTraceA ;
1120 ! : UpdateTraceW ;
1121 ! : WdmWmiServiceMain ;
1122 ! : WmiCloseBlock ;
1123 ! : WmiCloseTraceWithCursor ;
1124 ! : WmiConvertTimestamp ;
1125 ! : WmiDevInstToInstanceNameA ;
1126 ! : WmiDevInstToInstanceNameW ;
1127 ! : WmiEnumerateGuids ;
1128 ! : WmiExecuteMethodA ;
1129 ! : WmiExecuteMethodW ;
1130 ! : WmiFileHandleToInstanceNameA ;
1131 ! : WmiFileHandleToInstanceNameW ;
1132 ! : WmiFreeBuffer ;
1133 ! : WmiGetFirstTraceOffset ;
1134 ! : WmiGetNextEvent ;
1135 ! : WmiGetTraceHeader ;
1136 ! : WmiMofEnumerateResourcesA ;
1137 ! : WmiMofEnumerateResourcesW ;
1138 ! : WmiNotificationRegistrationA ;
1139 ! : WmiNotificationRegistrationW ;
1140 ! : WmiOpenBlock ;
1141 ! : WmiOpenTraceWithCursor ;
1142 ! : WmiParseTraceEvent ;
1143 ! : WmiQueryAllDataA ;
1144 ! : WmiQueryAllDataMultipleA ;
1145 ! : WmiQueryAllDataMultipleW ;
1146 ! : WmiQueryAllDataW ;
1147 ! : WmiQueryGuidInformation ;
1148 ! : WmiQuerySingleInstanceA ;
1149 ! : WmiQuerySingleInstanceMultipleA ;
1150 ! : WmiQuerySingleInstanceMultipleW ;
1151 ! : WmiQuerySingleInstanceW ;
1152 ! : WmiReceiveNotificationsA ;
1153 ! : WmiReceiveNotificationsW ;
1154 ! : WmiSetSingleInstanceA ;
1155 ! : WmiSetSingleInstanceW ;
1156 ! : WmiSetSingleItemA ;
1157 ! : WmiSetSingleItemW ;
1158 ! : Wow64Win32ApiEntry ;
1159 ! : WriteEncryptedFileRaw ;
1160
1161