]> gitweb.factorcode.org Git - factor.git/blob - basis/windows/advapi32/advapi32.factor
fix error handling in random.windows if acquiring the crypto context fails
[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 CONSTANT: NTE_BAD_UID HEX: 80090001
295 CONSTANT: NTE_BAD_HASH HEX: 80090002
296 CONSTANT: NTE_BAD_KEY HEX: 80090003
297 CONSTANT: NTE_BAD_LEN HEX: 80090004
298 CONSTANT: NTE_BAD_DATA HEX: 80090005
299 CONSTANT: NTE_BAD_SIGNATURE HEX: 80090006
300 CONSTANT: NTE_BAD_VER HEX: 80090007
301 CONSTANT: NTE_BAD_ALGID HEX: 80090008
302 CONSTANT: NTE_BAD_FLAGS HEX: 80090009
303 CONSTANT: NTE_BAD_TYPE HEX: 8009000A
304 CONSTANT: NTE_BAD_KEY_STATE HEX: 8009000B
305 CONSTANT: NTE_BAD_HASH_STATE HEX: 8009000C
306 CONSTANT: NTE_NO_KEY HEX: 8009000D
307 CONSTANT: NTE_NO_MEMORY HEX: 8009000E
308 CONSTANT: NTE_EXISTS HEX: 8009000F
309 CONSTANT: NTE_PERM HEX: 80090010
310 CONSTANT: NTE_NOT_FOUND HEX: 80090011
311 CONSTANT: NTE_DOUBLE_ENCRYPT HEX: 80090012
312 CONSTANT: NTE_BAD_PROVIDER HEX: 80090013
313 CONSTANT: NTE_BAD_PROV_TYPE HEX: 80090014
314 CONSTANT: NTE_BAD_PUBLIC_KEY HEX: 80090015
315 CONSTANT: NTE_BAD_KEYSET HEX: 80090016
316 CONSTANT: NTE_PROV_TYPE_NOT_DEF HEX: 80090017
317 CONSTANT: NTE_PROV_TYPE_ENTRY_BAD HEX: 80090018
318 CONSTANT: NTE_KEYSET_NOT_DEF HEX: 80090019
319 CONSTANT: NTE_KEYSET_ENTRY_BAD HEX: 8009001A
320 CONSTANT: NTE_PROV_TYPE_NO_MATCH HEX: 8009001B
321 CONSTANT: NTE_SIGNATURE_FILE_BAD HEX: 8009001C
322 CONSTANT: NTE_PROVIDER_DLL_FAIL HEX: 8009001D
323 CONSTANT: NTE_PROV_DLL_NOT_FOUND HEX: 8009001E
324 CONSTANT: NTE_BAD_KEYSET_PARAM HEX: 8009001F
325 CONSTANT: NTE_FAIL HEX: 80090020
326 CONSTANT: NTE_SYS_ERR HEX: 80090021
327
328 ! SID is a variable length structure
329 TYPEDEF: void* PSID
330
331 TYPEDEF: EXPLICIT_ACCESS* PEXPLICIT_ACCESS
332
333 TYPEDEF: DWORD SECURITY_INFORMATION
334 TYPEDEF: SECURITY_INFORMATION* PSECURITY_INFORMATION
335
336 CONSTANT: OWNER_SECURITY_INFORMATION 1
337 CONSTANT: GROUP_SECURITY_INFORMATION 2
338 CONSTANT: DACL_SECURITY_INFORMATION 4
339 CONSTANT: SACL_SECURITY_INFORMATION 8
340
341 CONSTANT: DELETE                     HEX: 00010000
342 CONSTANT: READ_CONTROL               HEX: 00020000
343 CONSTANT: WRITE_DAC                  HEX: 00040000
344 CONSTANT: WRITE_OWNER                HEX: 00080000
345 CONSTANT: SYNCHRONIZE                HEX: 00100000
346 CONSTANT: STANDARD_RIGHTS_REQUIRED   HEX: 000f0000
347
348 ALIAS: STANDARD_RIGHTS_READ       READ_CONTROL
349 ALIAS: STANDARD_RIGHTS_WRITE      READ_CONTROL
350 ALIAS: STANDARD_RIGHTS_EXECUTE    READ_CONTROL
351
352 CONSTANT: TOKEN_TOKEN_ADJUST_DEFAULT   HEX: 0080
353 CONSTANT: TOKEN_ADJUST_GROUPS          HEX: 0040
354 CONSTANT: TOKEN_ADJUST_PRIVILEGES      HEX: 0020
355 CONSTANT: TOKEN_ADJUST_SESSIONID       HEX: 0100
356 CONSTANT: TOKEN_ASSIGN_PRIMARY         HEX: 0001
357 CONSTANT: TOKEN_DUPLICATE              HEX: 0002
358 ALIAS: TOKEN_EXECUTE                STANDARD_RIGHTS_EXECUTE
359 CONSTANT: TOKEN_IMPERSONATE            HEX: 0004
360 CONSTANT: TOKEN_QUERY                  HEX: 0008
361 CONSTANT: TOKEN_QUERY_SOURCE           HEX: 0010
362 CONSTANT: TOKEN_ADJUST_DEFAULT         HEX: 0080
363 : TOKEN_READ ( -- n ) { STANDARD_RIGHTS_READ TOKEN_QUERY } flags ;
364
365 : TOKEN_WRITE ( -- n )
366     {
367         STANDARD_RIGHTS_WRITE
368         TOKEN_ADJUST_PRIVILEGES
369         TOKEN_ADJUST_GROUPS
370         TOKEN_ADJUST_DEFAULT
371     } flags ; foldable
372
373 : TOKEN_ALL_ACCESS ( -- n )
374     {
375         STANDARD_RIGHTS_REQUIRED
376         TOKEN_ASSIGN_PRIMARY
377         TOKEN_DUPLICATE
378         TOKEN_IMPERSONATE
379         TOKEN_QUERY
380         TOKEN_QUERY_SOURCE
381         TOKEN_ADJUST_PRIVILEGES
382         TOKEN_ADJUST_GROUPS
383         TOKEN_ADJUST_SESSIONID
384         TOKEN_ADJUST_DEFAULT
385     } flags ; foldable
386
387 CONSTANT: HKEY_CLASSES_ROOT        HEX: 80000000
388 CONSTANT: HKEY_CURRENT_USER        HEX: 80000001
389 CONSTANT: HKEY_LOCAL_MACHINE       HEX: 80000002
390 CONSTANT: HKEY_USERS               HEX: 80000003
391 CONSTANT: HKEY_PERFORMANCE_DATA    HEX: 80000004
392 CONSTANT: HKEY_CURRENT_CONFIG      HEX: 80000005
393 CONSTANT: HKEY_DYN_DATA            HEX: 80000006
394 CONSTANT: HKEY_PERFORMANCE_TEXT    HEX: 80000050
395 CONSTANT: HKEY_PERFORMANCE_NLSTEXT HEX: 80000060
396
397 CONSTANT: KEY_QUERY_VALUE         HEX: 0001
398 CONSTANT: KEY_SET_VALUE           HEX: 0002
399 CONSTANT: KEY_CREATE_SUB_KEY      HEX: 0004
400 CONSTANT: KEY_ENUMERATE_SUB_KEYS  HEX: 0008
401 CONSTANT: KEY_NOTIFY              HEX: 0010
402 CONSTANT: KEY_CREATE_LINK         HEX: 0020
403 CONSTANT: KEY_READ                HEX: 20019
404 CONSTANT: KEY_WOW64_32KEY         HEX: 0200
405 CONSTANT: KEY_WOW64_64KEY         HEX: 0100
406 CONSTANT: KEY_WRITE               HEX: 20006
407 CONSTANT: KEY_EXECUTE             KEY_READ
408 CONSTANT: KEY_ALL_ACCESS          HEX: F003F
409
410 CONSTANT: REG_NONE                         0
411 CONSTANT: REG_SZ                           1
412 CONSTANT: REG_EXPAND_SZ                    2
413 CONSTANT: REG_BINARY                       3
414 CONSTANT: REG_DWORD                        4
415 CONSTANT: REG_DWORD_LITTLE_ENDIAN          4
416 CONSTANT: REG_DWORD_BIG_ENDIAN             5
417 CONSTANT: REG_LINK                         6
418 CONSTANT: REG_MULTI_SZ                     7
419 CONSTANT: REG_RESOURCE_LIST                8
420 CONSTANT: REG_FULL_RESOURCE_DESCRIPTOR     9
421 CONSTANT: REG_RESOURCE_REQUIREMENTS_LIST  10
422 CONSTANT: REG_QWORD                       11
423 CONSTANT: REG_QWORD_LITTLE_ENDIAN         11
424
425 TYPEDEF: DWORD REGSAM
426
427 ! : I_ScGetCurrentGroupStateW ;
428 ! : A_SHAFinal ;
429 ! : A_SHAInit ;
430 ! : A_SHAUpdate ;
431 ! : AbortSystemShutdownA ;
432 ! : AbortSystemShutdownW ;
433 ! : AccessCheck ;
434 ! : AccessCheckAndAuditAlarmA ;
435 ! : AccessCheckAndAuditAlarmW ;
436 ! : AccessCheckByType ;
437 ! : AccessCheckByTypeAndAuditAlarmA ;
438 ! : AccessCheckByTypeAndAuditAlarmW ;
439 ! : AccessCheckByTypeResultList ;
440 ! : AccessCheckByTypeResultListAndAuditAlarmA ;
441 ! : AccessCheckByTypeResultListAndAuditAlarmByHandleA ;
442 ! : AccessCheckByTypeResultListAndAuditAlarmByHandleW ;
443 ! : AccessCheckByTypeResultListAndAuditAlarmW ;
444 ! : AddAccessAllowedAce ;
445 ! : AddAccessAllowedAceEx ;
446 ! : AddAccessAllowedObjectAce ;
447 ! : AddAccessDeniedAce ;
448 ! : AddAccessDeniedAceEx ;
449 ! : AddAccessDeniedObjectAce ;
450 FUNCTION: BOOL AddAce ( PACL pAcl, DWORD dwAceRevision, DWORD dwStartingAceIndex, LPVOID pAceList, DWORD nAceListLength ) ;
451 ! : AddAuditAccessAce ;
452 ! : AddAuditAccessAceEx ;
453 ! : AddAuditAccessObjectAce ;
454 ! : AddUsersToEncryptedFile ;
455 ! : AdjustTokenGroups ;
456 FUNCTION: BOOL AdjustTokenPrivileges ( HANDLE TokenHandle,
457                                BOOL DisableAllPrivileges,
458                                PTOKEN_PRIVILEGES NewState,
459                                DWORD BufferLength,
460                                PTOKEN_PRIVILEGES PreviousState,
461                                PDWORD ReturnLength ) ;
462
463 FUNCTION: BOOL AllocateAndInitializeSid (
464                 PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
465                 BYTE nSubAuthorityCount,
466                 DWORD dwSubAuthority0,
467                 DWORD dwSubAuthority1,
468                 DWORD dwSubAuthority2,
469                 DWORD dwSubAuthority3,
470                 DWORD dwSubAuthority4,
471                 DWORD dwSubAuthority5,
472                 DWORD dwSubAuthority6,
473                 DWORD dwSubAuthority7,
474                 PSID* pSid ) ;
475
476 ! : AllocateLocallyUniqueId ;
477 ! : AreAllAccessesGranted ;
478 ! : AreAnyAccessesGranted ;
479 ! : BackupEventLogA ;
480 ! : BackupEventLogW ;
481 ! : BuildExplicitAccessWithNameA ;
482 ! : BuildExplicitAccessWithNameW ;
483 ! : BuildImpersonateExplicitAccessWithNameA ;
484 ! : BuildImpersonateExplicitAccessWithNameW ;
485 ! : BuildImpersonateTrusteeA ;
486 ! : BuildImpersonateTrusteeW ;
487 ! : BuildSecurityDescriptorA ;
488 ! : BuildSecurityDescriptorW ;
489 ! : BuildTrusteeWithNameA ;
490 ! : BuildTrusteeWithNameW ;
491 ! : BuildTrusteeWithObjectsAndNameA ;
492 ! : BuildTrusteeWithObjectsAndNameW ;
493 ! : BuildTrusteeWithObjectsAndSidA ;
494 ! : BuildTrusteeWithObjectsAndSidW ;
495 ! : BuildTrusteeWithSidA ;
496 ! : BuildTrusteeWithSidW ;
497 ! : CancelOverlappedAccess ;
498 ! : ChangeServiceConfig2A ;
499 ! : ChangeServiceConfig2W ;
500 ! : ChangeServiceConfigA ;
501 ! : ChangeServiceConfigW ;
502 ! : CheckTokenMembership ;
503 ! : ClearEventLogA ;
504 ! : ClearEventLogW ;
505 ! : CloseCodeAuthzLevel ;
506 ! : CloseEncryptedFileRaw ;
507 ! : CloseEventLog ;
508 ! : CloseServiceHandle ;
509 ! : CloseTrace ;
510 ! : CommandLineFromMsiDescriptor ;
511 ! : ComputeAccessTokenFromCodeAuthzLevel ;
512 ! : ControlService ;
513 ! : ControlTraceA ;
514 ! : ControlTraceW ;
515 ! : ConvertAccessToSecurityDescriptorA ;
516 ! : ConvertAccessToSecurityDescriptorW ;
517 ! : ConvertSDToStringSDRootDomainA ;
518 ! : ConvertSDToStringSDRootDomainW ;
519 ! : ConvertSecurityDescriptorToAccessA ;
520 ! : ConvertSecurityDescriptorToAccessNamedA ;
521 ! : ConvertSecurityDescriptorToAccessNamedW ;
522 ! : ConvertSecurityDescriptorToAccessW ;
523 ! : ConvertSecurityDescriptorToStringSecurityDescriptorA ;
524 ! : ConvertSecurityDescriptorToStringSecurityDescriptorW ;
525 ! : ConvertSidToStringSidA ;
526 ! : ConvertSidToStringSidW ;
527 ! : ConvertStringSDToSDDomainA ;
528 ! : ConvertStringSDToSDDomainW ;
529 ! : ConvertStringSDToSDRootDomainA ;
530 ! : ConvertStringSDToSDRootDomainW ;
531 ! : ConvertStringSecurityDescriptorToSecurityDescriptorA ;
532 ! : ConvertStringSecurityDescriptorToSecurityDescriptorW ;
533 ! : ConvertStringSidToSidA ;
534 ! : ConvertStringSidToSidW ;
535 ! : ConvertToAutoInheritPrivateObjectSecurity ;
536 ! : CopySid ;
537 ! : CreateCodeAuthzLevel ;
538 ! : CreatePrivateObjectSecurity ;
539 ! : CreatePrivateObjectSecurityEx ;
540 ! : CreatePrivateObjectSecurityWithMultipleInheritance ;
541 ! : CreateProcessAsUserA ;
542 ! : CreateProcessAsUserSecure ;
543 ! : CreateProcessAsUserW ;
544 ! : CreateProcessWithLogonW ;
545 ! : CreateRestrictedToken ;
546 ! : CreateServiceA ;
547 ! : CreateServiceW ;
548 ! : CreateTraceInstanceId ;
549 ! : CreateWellKnownSid ;
550 ! : CredDeleteA ;
551 ! : CredDeleteW ;
552 ! : CredEnumerateA ;
553 ! : CredEnumerateW ;
554 ! : CredFree ;
555 ! : CredGetSessionTypes ;
556 ! : CredGetTargetInfoA ;
557 ! : CredGetTargetInfoW ;
558 ! : CredIsMarshaledCredentialA ;
559 ! : CredIsMarshaledCredentialW ;
560 ! : CredMarshalCredentialA ;
561 ! : CredMarshalCredentialW ;
562 ! : CredProfileLoaded ;
563 ! : CredReadA ;
564 ! : CredReadDomainCredentialsA ;
565 ! : CredReadDomainCredentialsW ;
566 ! : CredReadW ;
567 ! : CredRenameA ;
568 ! : CredRenameW ;
569 ! : CredUnmarshalCredentialA ;
570 ! : CredUnmarshalCredentialW ;
571 ! : CredWriteA ;
572 ! : CredWriteDomainCredentialsA ;
573 ! : CredWriteDomainCredentialsW ;
574 ! : CredWriteW ;
575 ! : CredpConvertCredential ;
576 ! : CredpConvertTargetInfo ;
577 ! : CredpDecodeCredential ;
578 ! : CredpEncodeCredential ;
579 ! : CryptAcquireContextA ;
580 FUNCTION: BOOL CryptAcquireContextW ( HCRYPTPROV* phProv,
581                                       LPCTSTR pszContainer,
582                                       LPCTSTR pszProvider,
583                                       DWORD dwProvType,
584                                       DWORD dwFlags ) ;
585
586 ALIAS: CryptAcquireContext CryptAcquireContextW
587
588 ! : CryptContextAddRef ;
589 ! : CryptCreateHash ;
590 ! : CryptDecrypt ;
591 ! : CryptDeriveKey ;
592 ! : CryptDestroyHash ;
593 ! : CryptDestroyKey ;
594 ! : CryptDuplicateHash ;
595 ! : CryptDuplicateKey ;
596 ! : CryptEncrypt ;
597 ! : CryptEnumProviderTypesA ;
598 ! : CryptEnumProviderTypesW ;
599 ! : CryptEnumProvidersA ;
600 ! : CryptEnumProvidersW ;
601 ! : CryptExportKey ;
602 ! : CryptGenKey ;
603 FUNCTION: BOOL CryptGenRandom ( HCRYPTPROV hProv, DWORD dwLen, BYTE* pbBuffer ) ;
604 ! : CryptGetDefaultProviderA ;
605 ! : CryptGetDefaultProviderW ;
606 ! : CryptGetHashParam ;
607 ! : CryptGetKeyParam ;
608 ! : CryptGetProvParam ;
609 ! : CryptGetUserKey ;
610 ! : CryptHashData ;
611 ! : CryptHashSessionKey ;
612 ! : CryptImportKey ;
613 FUNCTION: BOOL CryptReleaseContext ( HCRYPTPROV hProv, DWORD dwFlags ) ;
614 ! : CryptSetHashParam ;
615 ! : CryptSetKeyParam ;
616 ! : CryptSetProvParam ;
617 ! : CryptSetProviderA ;
618 ! : CryptSetProviderExA ;
619 ! : CryptSetProviderExW ;
620 ! : CryptSetProviderW ;
621 ! : CryptSignHashA ;
622 ! : CryptSignHashW ;
623 ! : CryptVerifySignatureA ;
624 ! : CryptVerifySignatureW ;
625 ! : DecryptFileA ;
626 ! : DecryptFileW ;
627 ! : DeleteAce ;
628 ! : DeleteService ;
629 ! : DeregisterEventSource ;
630 ! : DestroyPrivateObjectSecurity ;
631 ! : DuplicateEncryptionInfoFile ;
632 ! : DuplicateToken ;
633 ! : DuplicateTokenEx ;
634 ! : ElfBackupEventLogFileA ;
635 ! : ElfBackupEventLogFileW ;
636 ! : ElfChangeNotify ;
637 ! : ElfClearEventLogFileA ;
638 ! : ElfClearEventLogFileW ;
639 ! : ElfCloseEventLog ;
640 ! : ElfDeregisterEventSource ;
641 ! : ElfFlushEventLog ;
642 ! : ElfNumberOfRecords ;
643 ! : ElfOldestRecord ;
644 ! : ElfOpenBackupEventLogA ;
645 ! : ElfOpenBackupEventLogW ;
646 ! : ElfOpenEventLogA ;
647 ! : ElfOpenEventLogW ;
648 ! : ElfReadEventLogA ;
649 ! : ElfReadEventLogW ;
650 ! : ElfRegisterEventSourceA ;
651 ! : ElfRegisterEventSourceW ;
652 ! : ElfReportEventA ;
653 ! : ElfReportEventW ;
654 ! : EnableTrace ;
655 ! : EncryptFileA ;
656 ! : EncryptFileW ;
657 ! : EncryptedFileKeyInfo ;
658 ! : EncryptionDisable ;
659 ! : EnumDependentServicesA ;
660 ! : EnumDependentServicesW ;
661 ! : EnumServiceGroupW ;
662 ! : EnumServicesStatusA ;
663 ! : EnumServicesStatusExA ;
664 ! : EnumServicesStatusExW ;
665 ! : EnumServicesStatusW ;
666 ! : EnumerateTraceGuids ;
667 ! : EqualDomainSid ;
668 ! : EqualPrefixSid ;
669 ! : EqualSid ;
670 ! : FileEncryptionStatusA ;
671 ! : FileEncryptionStatusW ;
672 ! : FindFirstFreeAce ;
673 ! : FlushTraceA ;
674 ! : FlushTraceW ;
675 ! : FreeEncryptedFileKeyInfo ;
676 ! : FreeEncryptionCertificateHashList ;
677 ! : FreeInheritedFromArray ;
678 ! : FreeSid ;
679 ! : GetAccessPermissionsForObjectA ;
680 ! : GetAccessPermissionsForObjectW ;
681 ! : GetAce ;
682 ! : GetAclInformation ;
683 ! : GetAuditedPermissionsFromAclA ;
684 ! : GetAuditedPermissionsFromAclW ;
685 ! : GetCurrentHwProfileA ;
686 ! : GetCurrentHwProfileW ;
687 ! : GetEffectiveRightsFromAclA ;
688 ! : GetEffectiveRightsFromAclW ;
689 ! : GetEventLogInformation ;
690 ! : GetExplicitEntriesFromAclA ;
691 ! : GetExplicitEntriesFromAclW ;
692 ! : GetFileSecurityA ;
693 FUNCTION: BOOL GetFileSecurityW ( LPCTSTR lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded ) ;
694 ALIAS: GetFileSecurity GetFileSecurityW
695 ! : GetInformationCodeAuthzLevelW ;
696 ! : GetInformationCodeAuthzPolicyW ;
697 ! : GetInheritanceSourceA ;
698 ! : GetInheritanceSourceW ;
699 ! : GetKernelObjectSecurity ;
700 ! : GetLengthSid ;
701 ! : GetLocalManagedApplicationData ;
702 ! : GetLocalManagedApplications ;
703 ! : GetManagedApplicationCategories ;
704 ! : GetManagedApplications ;
705 ! : GetMultipleTrusteeA ;
706 ! : GetMultipleTrusteeOperationA ;
707 ! : GetMultipleTrusteeOperationW ;
708 ! : GetMultipleTrusteeW ;
709 ! : GetNamedSecurityInfoA ;
710 ! : GetNamedSecurityInfoExA ;
711 ! FUNCTION: DWORD GetNamedSecurityInfoExW
712 FUNCTION: DWORD GetNamedSecurityInfoW ( LPTSTR pObjectName, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID* ppsidOwner, PSID* ppsidGroup, PACL* ppDacl, PACL* ppSacl, PSECURITY_DESCRIPTOR* ppSecurityDescriptor ) ;
713 ALIAS: GetNamedSecurityInfo GetNamedSecurityInfoW
714 ! : GetNumberOfEventLogRecords ;
715 ! : GetOldestEventLogRecord ;
716 ! : GetOverlappedAccessResults ;
717 ! : GetPrivateObjectSecurity ;
718 FUNCTION: BOOL GetSecurityDescriptorControl ( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSECURITY_DESCRIPTOR_CONTROL pControl, LPDWORD lpdwRevision ) ;
719 FUNCTION: BOOL GetSecurityDescriptorDacl ( PSECURITY_DESCRIPTOR pSecurityDescriptor, LPBOOL lpbDaclPresent, PACL* pDacl, LPBOOL lpDaclDefaulted ) ;
720 FUNCTION: BOOL GetSecurityDescriptorGroup ( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID* pGroup, LPBOOL lpGroupDefaulted ) ;
721 FUNCTION: BOOL GetSecurityDescriptorLength ( PSECURITY_DESCRIPTOR pSecurityDescriptor ) ;
722 FUNCTION: BOOL GetSecurityDescriptorOwner ( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID* pOwner, LPBOOL lpOwnerDefaulted ) ;
723 FUNCTION: BOOL GetSecurityDescriptorRMControl ( PSECURITY_DESCRIPTOR pSecurityDescriptor, PUCHAR RMControl ) ;
724 FUNCTION: BOOL GetSecurityDescriptorSacl ( PSECURITY_DESCRIPTOR pSecurityDescriptor, LPBOOL lpbSaclPresent, PACL* pSacl, LPBOOL lpSaclDefaulted ) ;
725 ! : GetSecurityInfo ;
726 ! : GetSecurityInfoExA ;
727 ! : GetSecurityInfoExW ;
728 ! : GetServiceDisplayNameA ;
729 ! : GetServiceDisplayNameW ;
730 ! : GetServiceKeyNameA ;
731 ! : GetServiceKeyNameW ;
732 ! : GetSidIdentifierAuthority ;
733 ! : GetSidLengthRequired ;
734 ! : GetSidSubAuthority ;
735 ! : GetSidSubAuthorityCount ;
736 ! : GetTokenInformation ;
737 ! : GetTraceEnableFlags ;
738 ! : GetTraceEnableLevel ;
739 ! : GetTraceLoggerHandle ;
740 ! : GetTrusteeFormA ;
741 ! : GetTrusteeFormW ;
742 ! : GetTrusteeNameA ;
743 ! : GetTrusteeNameW ;
744 ! : GetTrusteeTypeA ;
745 ! : GetTrusteeTypeW ;
746
747 ! : GetUserNameA ;
748 FUNCTION: BOOL GetUserNameW ( LPCTSTR lpBuffer, LPDWORD lpnSize ) ;
749 ALIAS: GetUserName GetUserNameW
750
751 ! : GetWindowsAccountDomainSid ;
752 ! : I_ScIsSecurityProcess ;
753 ! : I_ScPnPGetServiceName ;
754 ! : I_ScSendTSMessage ;
755 ! : I_ScSetServiceBitsA ;
756 ! : I_ScSetServiceBitsW ;
757 ! : IdentifyCodeAuthzLevelW ;
758 ! : ImpersonateAnonymousToken ;
759 ! : ImpersonateLoggedOnUser ;
760 ! : ImpersonateNamedPipeClient ;
761 ! : ImpersonateSelf ;
762 FUNCTION: BOOL InitializeAcl ( PACL pAcl, DWORD nAclLength, DWORD dwAclRevision ) ;
763 FUNCTION: BOOL InitializeSecurityDescriptor ( PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD dwRevision ) ;
764 ! : InitializeSid ;
765 ! : InitiateSystemShutdownA ;
766 ! : InitiateSystemShutdownExA ;
767 ! : InitiateSystemShutdownExW ;
768 ! : InitiateSystemShutdownW ;
769 ! : InstallApplication ;
770 ! : IsTextUnicode ;
771 ! : IsTokenRestricted ;
772 ! : IsTokenUntrusted ;
773 ! : IsValidAcl ;
774 ! : IsValidSecurityDescriptor ;
775 ! : IsValidSid ;
776 ! : IsWellKnownSid ;
777 ! : LockServiceDatabase ;
778 ! : LogonUserA ;
779 ! : LogonUserExA ;
780 ! : LogonUserExW ;
781 ! : LogonUserW ;
782 ! : LookupAccountNameA ;
783 ! : LookupAccountNameW ;
784 ! : LookupAccountSidA ;
785 ! : LookupAccountSidW ;
786 ! : LookupPrivilegeDisplayNameA ;
787 ! : LookupPrivilegeDisplayNameW ;
788 ! : LookupPrivilegeNameA ;
789 ! : LookupPrivilegeNameW ;
790 ! : LookupPrivilegeValueA ;
791 FUNCTION: BOOL LookupPrivilegeValueW ( LPCTSTR lpSystemName,
792                                LPCTSTR lpName,
793                                PLUID lpLuid ) ;
794 ALIAS: LookupPrivilegeValue LookupPrivilegeValueW
795
796 ! : LookupSecurityDescriptorPartsA ;
797 ! : LookupSecurityDescriptorPartsW ;
798 ! : LsaAddAccountRights ;
799 ! : LsaAddPrivilegesToAccount ;
800 ! : LsaClearAuditLog ;
801 ! : LsaClose ;
802 ! : LsaCreateAccount ;
803 ! : LsaCreateSecret ;
804 ! : LsaCreateTrustedDomain ;
805 ! : LsaCreateTrustedDomainEx ;
806 ! : LsaDelete ;
807 ! : LsaDeleteTrustedDomain ;
808 ! : LsaEnumerateAccountRights ;
809 ! : LsaEnumerateAccounts ;
810 ! : LsaEnumerateAccountsWithUserRight ;
811 ! : LsaEnumeratePrivileges ;
812 ! : LsaEnumeratePrivilegesOfAccount ;
813 ! : LsaEnumerateTrustedDomains ;
814 ! : LsaEnumerateTrustedDomainsEx ;
815 ! : LsaFreeMemory ;
816 ! : LsaGetQuotasForAccount ;
817 ! : LsaGetRemoteUserName ;
818 ! : LsaGetSystemAccessAccount ;
819 ! : LsaGetUserName ;
820 ! : LsaICLookupNames ;
821 ! : LsaICLookupNamesWithCreds ;
822 ! : LsaICLookupSids ;
823 ! : LsaICLookupSidsWithCreds ;
824 ! : LsaLookupNames2 ;
825 ! : LsaLookupNames ;
826 ! : LsaLookupPrivilegeDisplayName ;
827 ! : LsaLookupPrivilegeName ;
828 ! : LsaLookupPrivilegeValue ;
829 ! : LsaLookupSids ;
830 ! : LsaNtStatusToWinError ;
831 ! : LsaOpenAccount ;
832 ! : LsaOpenPolicy ;
833 ! : LsaOpenPolicySce ;
834 ! : LsaOpenSecret ;
835 ! : LsaOpenTrustedDomain ;
836 ! : LsaOpenTrustedDomainByName ;
837 ! : LsaQueryDomainInformationPolicy ;
838 ! : LsaQueryForestTrustInformation ;
839 ! : LsaQueryInfoTrustedDomain ;
840 ! : LsaQueryInformationPolicy ;
841 ! : LsaQuerySecret ;
842 ! : LsaQuerySecurityObject ;
843 ! : LsaQueryTrustedDomainInfo ;
844 ! : LsaQueryTrustedDomainInfoByName ;
845 ! : LsaRemoveAccountRights ;
846 ! : LsaRemovePrivilegesFromAccount ;
847 ! : LsaRetrievePrivateData ;
848 ! : LsaSetDomainInformationPolicy ;
849 ! : LsaSetForestTrustInformation ;
850 ! : LsaSetInformationPolicy ;
851 ! : LsaSetInformationTrustedDomain ;
852 ! : LsaSetQuotasForAccount ;
853 ! : LsaSetSecret ;
854 ! : LsaSetSecurityObject ;
855 ! : LsaSetSystemAccessAccount ;
856 ! : LsaSetTrustedDomainInfoByName ;
857 ! : LsaSetTrustedDomainInformation ;
858 ! : LsaStorePrivateData ;
859 ! : MD4Final ;
860 ! : MD4Init ;
861 ! : MD4Update ;
862 ! : MD5Final ;
863 ! : MD5Init ;
864 ! : MD5Update ;
865 ! : MSChapSrvChangePassword2 ;
866 ! : MSChapSrvChangePassword ;
867 ! : MakeAbsoluteSD2 ;
868 ! : MakeAbsoluteSD ;
869 ! : MakeSelfRelativeSD ;
870 ! : MapGenericMask ;
871 ! : NotifyBootConfigStatus ;
872 ! : NotifyChangeEventLog ;
873 ! : ObjectCloseAuditAlarmA ;
874 ! : ObjectCloseAuditAlarmW ;
875 ! : ObjectDeleteAuditAlarmA ;
876 ! : ObjectDeleteAuditAlarmW ;
877 ! : ObjectOpenAuditAlarmA ;
878 ! : ObjectOpenAuditAlarmW ;
879 ! : ObjectPrivilegeAuditAlarmA ;
880 ! : ObjectPrivilegeAuditAlarmW ;
881 ! : OpenBackupEventLogA ;
882 ! : OpenBackupEventLogW ;
883 ! : OpenEncryptedFileRawA ;
884 ! : OpenEncryptedFileRawW ;
885 ! : OpenEventLogA ;
886 ! : OpenEventLogW ;
887
888 FUNCTION: BOOL OpenProcessToken ( HANDLE ProcessHandle,
889                                   DWORD DesiredAccess,
890                                   PHANDLE TokenHandle ) ;
891 ! : OpenSCManagerA ;
892 ! : OpenSCManagerW ;
893 ! : OpenServiceA ;
894 ! : OpenServiceW ;
895 FUNCTION: BOOL OpenThreadToken ( HANDLE ThreadHandle, DWORD DesiredAccess, BOOL OpenAsSelf, PHANDLE TokenHandle ) ;
896 ! : OpenTraceA ;
897 ! : OpenTraceW ;
898 ! : PrivilegeCheck ;
899 ! : PrivilegedServiceAuditAlarmA ;
900 ! : PrivilegedServiceAuditAlarmW ;
901 ! : ProcessIdleTasks ;
902 ! : ProcessTrace ;
903 ! : QueryAllTracesA ;
904 ! : QueryAllTracesW ;
905 ! : QueryRecoveryAgentsOnEncryptedFile ;
906 ! : QueryServiceConfig2A ;
907 ! : QueryServiceConfig2W ;
908 ! : QueryServiceConfigA ;
909 ! : QueryServiceConfigW ;
910 ! : QueryServiceLockStatusA ;
911 ! : QueryServiceLockStatusW ;
912 ! : QueryServiceObjectSecurity ;
913 ! : QueryServiceStatus ;
914 ! : QueryServiceStatusEx ;
915 ! : QueryTraceA ;
916 ! : QueryTraceW ;
917 ! : QueryUsersOnEncryptedFile ;
918 ! : QueryWindows31FilesMigration ;
919 ! : ReadEncryptedFileRaw ;
920 ! : ReadEventLogA ;
921 ! : ReadEventLogW ;
922 FUNCTION: LONG RegCloseKey ( HKEY hKey ) ;
923 ! : RegConnectRegistryA ;
924 ! : RegConnectRegistryW ;
925 ! : RegCreateKeyA ;
926 ! : RegCreateKeyExA ;
927 FUNCTION: LONG RegCreateKeyExW ( HKEY hKey, LPCTSTR lpSubKey, DWORD Reserved, LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition ) ;
928 ! : RegCreateKeyW
929 ! : RegDeleteKeyA ;
930 ! : RegDeleteKeyW ;
931
932 FUNCTION: LONG RegDeleteKeyExW (
933         HKEY hKey,
934         LPCTSTR lpSubKey,
935         DWORD Reserved,
936         LPTSTR lpClass,
937         DWORD dwOptions,
938         REGSAM samDesired,
939         LPSECURITY_ATTRIBUTES lpSecurityAttributes,
940         PHKEY phkResult,
941         LPDWORD lpdwDisposition
942     ) ;
943
944 ALIAS: RegDeleteKeyEx RegDeleteKeyExW
945
946 ! : RegDeleteValueA ;
947 ! : RegDeleteValueW ;
948 ! : RegDisablePredefinedCache ;
949 ! : RegEnumKeyA ;
950 ! : RegEnumKeyExA ;
951 FUNCTION: LONG RegEnumKeyExW (
952         HKEY hKey,
953         DWORD dwIndex,
954         LPTSTR lpName,
955         LPDWORD lpcName,
956         LPDWORD lpReserved,
957         LPTSTR lpClass,
958         LPDWORD lpcClass,
959         PFILETIME lpftLastWriteTime
960     ) ;
961 ! : RegEnumKeyW ;
962 ! : RegEnumValueA ;
963
964 FUNCTION: LONG RegEnumValueW (
965         HKEY hKey,
966         DWORD dwIndex,
967         LPTSTR lpValueName,
968         LPDWORD lpcchValueName,
969         LPDWORD lpReserved,
970         LPDWORD lpType,
971         LPBYTE lpData,
972         LPDWORD lpcbData
973     ) ;
974
975 ALIAS: RegEnumValue RegEnumValueW
976
977 ! : RegFlushKey ;
978 ! : RegGetKeySecurity ;
979 ! : RegLoadKeyA ;
980 ! : RegLoadKeyW ;
981 ! : RegNotifyChangeKeyValue ;
982 FUNCTION: LONG RegOpenCurrentUser ( REGSAM samDesired, PHKEY phkResult ) ;
983 ! : RegOpenKeyA ;
984 ! : RegOpenKeyExA ;
985 FUNCTION: LONG RegOpenKeyExW ( HKEY hKey, LPCTSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult ) ;
986 ALIAS: RegOpenKeyEx RegOpenKeyExW
987 ! : RegOpenKeyW ;
988 ! : RegOpenUserClassesRoot ;
989 ! : RegOverridePredefKey ;
990 ! : RegQueryInfoKeyA ;
991 FUNCTION: LONG RegQueryInfoKeyW (
992         HKEY hKey,
993         LPTSTR lpClass,
994         LPDWORD lpcClass,
995         LPDWORD lpReserved,
996         LPDWORD lpcSubKeys,
997         LPDWORD lpcMaxSubKeyLen,
998         LPDWORD lpcMaxClassLen,
999         LPDWORD lpcValues,
1000         LPDWORD lpcMaxValueNameLen,
1001         LPDWORD lpcMaxValueLen,
1002         LPDWORD lpcbSecurityDescriptor,
1003         PFILETIME lpftLastWriteTime
1004     ) ;
1005 ALIAS: RegQueryInfoKey RegQueryInfoKeyW
1006 ! : RegQueryMultipleValuesA ;
1007 ! : RegQueryMultipleValuesW ;
1008 ! : RegQueryValueA ;
1009 ! : RegQueryValueExA ;
1010 FUNCTION: LONG RegQueryValueExW ( HKEY hKey, LPCTSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData ) ;
1011 ALIAS: RegQueryValueEx RegQueryValueExW
1012 ! : RegQueryValueW ;
1013 ! : RegReplaceKeyA ;
1014 ! : RegReplaceKeyW ;
1015 ! : RegRestoreKeyA ;
1016 ! : RegRestoreKeyW ;
1017 ! : RegSaveKeyA ;
1018 ! : RegSaveKeyExA ;
1019 ! : RegSaveKeyExW ;
1020 ! : RegSaveKeyW ;
1021 ! : RegSetKeySecurity ;
1022 ! : RegSetValueA ;
1023 ! : RegSetValueExA ;
1024 ! : RegSetValueExW ;
1025 ! : RegSetValueW ;
1026 ! : RegUnLoadKeyA ;
1027 ! : RegUnLoadKeyW ;
1028 ! : RegisterEventSourceA ;
1029 ! : RegisterEventSourceW ;
1030 ! : RegisterIdleTask ;
1031 ! : RegisterServiceCtrlHandlerA ;
1032 ! : RegisterServiceCtrlHandlerExA ;
1033 ! : RegisterServiceCtrlHandlerExW ;
1034 ! : RegisterServiceCtrlHandlerW ;
1035 ! : RegisterTraceGuidsA ;
1036 ! : RegisterTraceGuidsW ;
1037 ! : RemoveTraceCallback ;
1038 ! : RemoveUsersFromEncryptedFile ;
1039 ! : ReportEventA ;
1040 ! : ReportEventW ;
1041 ! : RevertToSelf ;
1042 ! : SaferCloseLevel ;
1043 ! : SaferComputeTokenFromLevel ;
1044 ! : SaferCreateLevel ;
1045 ! : SaferGetLevelInformation ;
1046 ! : SaferGetPolicyInformation ;
1047 ! : SaferIdentifyLevel ;
1048 ! : SaferRecordEventLogEntry ;
1049 ! : SaferSetLevelInformation ;
1050 ! : SaferSetPolicyInformation ;
1051 ! : SaferiChangeRegistryScope ;
1052 ! : SaferiCompareTokenLevels ;
1053 ! : SaferiIsExecutableFileType ;
1054 ! : SaferiPopulateDefaultsInRegistry ;
1055 ! : SaferiRecordEventLogEntry ;
1056 ! : SaferiReplaceProcessThreadTokens ;
1057 ! : SaferiSearchMatchingHashRules ;
1058 ! : SetAclInformation ;
1059 ! : SetEntriesInAccessListA ;
1060 ! : SetEntriesInAccessListW ;
1061 ! : SetEntriesInAclA ;
1062 FUNCTION: DWORD SetEntriesInAclW ( ULONG cCountOfExplicitEntries, PEXPLICIT_ACCESS pListOfExplicitEntries, PACL OldAcl, PACL* NewAcl ) ;
1063 ALIAS: SetEntriesInAcl SetEntriesInAclW
1064 ! : SetEntriesInAuditListA ;
1065 ! : SetEntriesInAuditListW ;
1066 ! : SetFileSecurityA ;
1067 ! : SetFileSecurityW ;
1068 ! : SetInformationCodeAuthzLevelW ;
1069 ! : SetInformationCodeAuthzPolicyW ;
1070 ! : SetKernelObjectSecurity ;
1071 ! : SetNamedSecurityInfoA ;
1072 ! : SetNamedSecurityInfoExA ;
1073 ! : SetNamedSecurityInfoExW ;
1074 FUNCTION: DWORD SetNamedSecurityInfoW ( LPTSTR pObjectName, SE_OBJECT_TYPE ObjectType, SECURITY_INFORMATION SecurityInfo, PSID psidOwner, PSID psidGroup, PACL pDacl, PACL pSacl ) ;
1075 ALIAS: SetNamedSecurityInfo SetNamedSecurityInfoW
1076 ! : SetPrivateObjectSecurity ;
1077 ! : SetPrivateObjectSecurityEx ;
1078 ! : SetSecurityDescriptorControl ;
1079 ! : SetSecurityDescriptorDacl ;
1080 ! : SetSecurityDescriptorGroup ;
1081 ! : SetSecurityDescriptorOwner ;
1082 ! : SetSecurityDescriptorRMControl ;
1083 ! : SetSecurityDescriptorSacl ;
1084 ! : SetSecurityInfo ;
1085 ! : SetSecurityInfoExA ;
1086 ! : SetSecurityInfoExW ;
1087 ! : SetServiceBits ;
1088 ! : SetServiceObjectSecurity ;
1089 ! : SetServiceStatus ;
1090 ! : SetThreadToken ;
1091 ! : SetTokenInformation ;
1092 ! : SetTraceCallback ;
1093 ! : SetUserFileEncryptionKey ;
1094 ! : StartServiceA ;
1095 ! : StartServiceCtrlDispatcherA ;
1096 ! : StartServiceCtrlDispatcherW ;
1097 ! : StartServiceW ;
1098 ! : StartTraceA ;
1099 ! : StartTraceW ;
1100 ! : StopTraceA ;
1101 ! : StopTraceW ;
1102 ! : SynchronizeWindows31FilesAndWindowsNTRegistry ;
1103 ! : SystemFunction001 ;
1104 ! : SystemFunction002 ;
1105 ! : SystemFunction003 ;
1106 ! : SystemFunction004 ;
1107 ! : SystemFunction005 ;
1108 ! : SystemFunction006 ;
1109 ! : SystemFunction007 ;
1110 ! : SystemFunction008 ;
1111 ! : SystemFunction009 ;
1112 ! : SystemFunction010 ;
1113 ! : SystemFunction011 ;
1114 ! : SystemFunction012 ;
1115 ! : SystemFunction013 ;
1116 ! : SystemFunction014 ;
1117 ! : SystemFunction015 ;
1118 ! : SystemFunction016 ;
1119 ! : SystemFunction017 ;
1120 ! : SystemFunction018 ;
1121 ! : SystemFunction019 ;
1122 ! : SystemFunction020 ;
1123 ! : SystemFunction021 ;
1124 ! : SystemFunction022 ;
1125 ! : SystemFunction023 ;
1126 ! : SystemFunction024 ;
1127 ! : SystemFunction025 ;
1128 ! : SystemFunction026 ;
1129 ! : SystemFunction027 ;
1130 ! : SystemFunction028 ;
1131 ! : SystemFunction029 ;
1132 ! : SystemFunction030 ;
1133 ! : SystemFunction031 ;
1134 ! : SystemFunction032 ;
1135 ! : SystemFunction033 ;
1136 ! : SystemFunction034 ;
1137 ! : SystemFunction035 ;
1138 ! : SystemFunction036 ;
1139 ! : SystemFunction040 ;
1140 ! : SystemFunction041 ;
1141 ! : TraceEvent ;
1142 ! : TraceEventInstance ;
1143 ! : TraceMessage ;
1144 ! : TraceMessageVa ;
1145 ! : TreeResetNamedSecurityInfoA ;
1146 ! : TreeResetNamedSecurityInfoW ;
1147 ! : TrusteeAccessToObjectA ;
1148 ! : TrusteeAccessToObjectW ;
1149 ! : UninstallApplication ;
1150 ! : UnlockServiceDatabase ;
1151 ! : UnregisterIdleTask ;
1152 ! : UnregisterTraceGuids ;
1153 ! : UpdateTraceA ;
1154 ! : UpdateTraceW ;
1155 ! : WdmWmiServiceMain ;
1156 ! : WmiCloseBlock ;
1157 ! : WmiCloseTraceWithCursor ;
1158 ! : WmiConvertTimestamp ;
1159 ! : WmiDevInstToInstanceNameA ;
1160 ! : WmiDevInstToInstanceNameW ;
1161 ! : WmiEnumerateGuids ;
1162 ! : WmiExecuteMethodA ;
1163 ! : WmiExecuteMethodW ;
1164 ! : WmiFileHandleToInstanceNameA ;
1165 ! : WmiFileHandleToInstanceNameW ;
1166 ! : WmiFreeBuffer ;
1167 ! : WmiGetFirstTraceOffset ;
1168 ! : WmiGetNextEvent ;
1169 ! : WmiGetTraceHeader ;
1170 ! : WmiMofEnumerateResourcesA ;
1171 ! : WmiMofEnumerateResourcesW ;
1172 ! : WmiNotificationRegistrationA ;
1173 ! : WmiNotificationRegistrationW ;
1174 ! : WmiOpenBlock ;
1175 ! : WmiOpenTraceWithCursor ;
1176 ! : WmiParseTraceEvent ;
1177 ! : WmiQueryAllDataA ;
1178 ! : WmiQueryAllDataMultipleA ;
1179 ! : WmiQueryAllDataMultipleW ;
1180 ! : WmiQueryAllDataW ;
1181 ! : WmiQueryGuidInformation ;
1182 ! : WmiQuerySingleInstanceA ;
1183 ! : WmiQuerySingleInstanceMultipleA ;
1184 ! : WmiQuerySingleInstanceMultipleW ;
1185 ! : WmiQuerySingleInstanceW ;
1186 ! : WmiReceiveNotificationsA ;
1187 ! : WmiReceiveNotificationsW ;
1188 ! : WmiSetSingleInstanceA ;
1189 ! : WmiSetSingleInstanceW ;
1190 ! : WmiSetSingleItemA ;
1191 ! : WmiSetSingleItemW ;
1192 ! : Wow64Win32ApiEntry ;
1193 ! : WriteEncryptedFileRaw ;
1194
1195