mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
Compare commits
241 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f3de7b528b | |||
| 252f6f8efa | |||
| f53cd00bc4 | |||
| 3fe7ee2cce | |||
| 370210a610 | |||
| 288e87a0d3 | |||
| abded9944d | |||
| d9a43a4a8b | |||
| c2f2f4c0a5 | |||
| 771593f17d | |||
| a194f0be6b | |||
| 4f62434dfb | |||
| fb567c6a76 | |||
| 784e669597 | |||
| 21e259fa73 | |||
| db44087bba | |||
| f522f08e7f | |||
| a9a39bc53f | |||
| 45ace331cb | |||
| 79ff18e06f | |||
| 986664d01f | |||
| 8dc2d443d5 | |||
| e5f87e1453 | |||
| 6c4a5f7d65 | |||
| 5df8cc96dc | |||
| 460274d532 | |||
| 2a4bdd7e30 | |||
| d936942d28 | |||
| 24c5083633 | |||
| c3b85068e5 | |||
| fff2f37781 | |||
| b6f57b8342 | |||
| cf6c813002 | |||
| b167c6e70f | |||
| 267eddb5fe | |||
| a18c08ee53 | |||
| e46dc48c37 | |||
| 77fca8bb0f | |||
| bbde38ffe4 | |||
| 0e52272ddc | |||
| 91cbcce38f | |||
| 33ca0c9c34 | |||
| 272ad24f15 | |||
| 967c18d521 | |||
| 0125f78c67 | |||
| 570436120b | |||
| 1c21b77292 | |||
| 7a313f57c1 | |||
| b253bc5873 | |||
| 921f066fb8 | |||
| 2454bf815b | |||
| b3f1420d46 | |||
| 19095f0e2f | |||
| c228a0d5cb | |||
| c97d149630 | |||
| afccd0da30 | |||
| e53f7ef34b | |||
| e6a022f8be | |||
| a75de140d6 | |||
| d232928780 | |||
| c19241098a | |||
| eb3b13016f | |||
| c59af86910 | |||
| 041a354d17 | |||
| 525432fecd | |||
| 1ee9a8bc46 | |||
| 3dcd27a1ca | |||
| b223ed233e | |||
| 3d69ad3cb5 | |||
| a559c5c295 | |||
| 93bb9b6540 | |||
| 057d4e5408 | |||
| 2bea15ffe8 | |||
| 11e4afeef5 | |||
| 05e7b755b0 | |||
| 849d64378f | |||
| 8cc361b1f9 | |||
| e918d735a1 | |||
| 9e1400e4ad | |||
| 3565474693 | |||
| 83f4b0c48b | |||
| b88ce36acb | |||
| 4564be8488 | |||
| 34c2d94bc2 | |||
| 66852aae37 | |||
| 094979f7c0 | |||
| b2c3493f46 | |||
| 9ef71ad9e1 | |||
| e40b9fb2ff | |||
| af6943992a | |||
| babb743096 | |||
| 8840b9fdb9 | |||
| 03e252b53a | |||
| 1dc13b1a35 | |||
| d91bc1a45a | |||
| a057f8c130 | |||
| c20d443c29 | |||
| 262b80c8c3 | |||
| 805e735a88 | |||
| 4499080a77 | |||
| b2a72f11cc | |||
| f682fbd8c1 | |||
| 4251b18041 | |||
| 82e464d527 | |||
| 445de0b007 | |||
| 61ddb4821a | |||
| 65726e706f | |||
| 715a7fee95 | |||
| 48b6758f7f | |||
| f882bd1e35 | |||
| 4a75453a8b | |||
| 3490dc987f | |||
| 32de3cb824 | |||
| 23837a0713 | |||
| 8f7adb8da1 | |||
| f03bb89ae6 | |||
| 22224b52e2 | |||
| c135780ba9 | |||
| f54599568d | |||
| 5a5baa7bcd | |||
| d12bae6dbb | |||
| d3ca30b229 | |||
| a0ffea68b7 | |||
| 51bc3fdf7c | |||
| a6aa8b86ea | |||
| d9db5ba428 | |||
| be68ba8b15 | |||
| 7929a31bf7 | |||
| 4e5733c2c5 | |||
| 8ba325afd2 | |||
| 4efae2194d | |||
| 14b1cbcf75 | |||
| 5a79e15440 | |||
| e07d4dbe0c | |||
| c848f33729 | |||
| c3f9d87c82 | |||
| 2094ab4ad4 | |||
| c7fef877f0 | |||
| ba6b22ac84 | |||
| 930c992be3 | |||
| f6e151a7d5 | |||
| c12a0c45f9 | |||
| 5ee74d5b8f | |||
| a183e468ca | |||
| bd5976dce2 | |||
| 7947ace02d | |||
| b9a00b2ed7 | |||
| 5301f91927 | |||
| b3117ce4e3 | |||
| 492b6f4f02 | |||
| 7db5620210 | |||
| 89e486cd95 | |||
| fccd2a49e6 | |||
| d44a3b032e | |||
| 1fe5b912be | |||
| 1941adc93f | |||
| e9c62a125c | |||
| c75dda60b5 | |||
| 16e29bd938 | |||
| c76a50c045 | |||
| bd6a3d35d5 | |||
| 8b9a71edc2 | |||
| 3d33c97335 | |||
| 8d139bce79 | |||
| 61ac5c8c5d | |||
| 928a2744d5 | |||
| f43749aa07 | |||
| d1cadf062a | |||
| aa22f1515d | |||
| 6898ac02fa | |||
| f08953f4ae | |||
| 5d34493356 | |||
| 89fe39fadf | |||
| 5e2ecf2af9 | |||
| aff6ee4e17 | |||
| ae5a211613 | |||
| 1a7e342318 | |||
| a5688076a6 | |||
| a13b287202 | |||
| 4c8747b628 | |||
| 1a73fe713b | |||
| a89854a045 | |||
| 3c21d8c59c | |||
| 9461d4a2fb | |||
| 5b17cc988f | |||
| e5e9ff7a47 | |||
| d24e62e319 | |||
| bc3c033e84 | |||
| dbd98c93ed | |||
| 48fbeaee77 | |||
| f9a650fcf3 | |||
| c0d03a2f58 | |||
| feb76b48c3 | |||
| be5cbe2631 | |||
| 8aa71f8c44 | |||
| b418d85a5a | |||
| 3f6131d621 | |||
| db6cec9031 | |||
| 120e9bfa6f | |||
| 799bca8d3f | |||
| 979d1bd418 | |||
| 9cb9c2a9a0 | |||
| 1b0f1e9507 | |||
| 654e6bff71 | |||
| 344678de02 | |||
| 70d330961a | |||
| 0902618312 | |||
| b31702f783 | |||
| 81df41339b | |||
| a6eb669099 | |||
| ab01eba54f | |||
| 1550c5ae3e | |||
| f1b1bec903 | |||
| e08720e49a | |||
| 21c179ed2e | |||
| 4183646b28 | |||
| 5431b57560 | |||
| a107656402 | |||
| 64f56d3977 | |||
| d2582d5e09 | |||
| 3f39ca9f0c | |||
| 8743883068 | |||
| ae02d9e916 | |||
| 98bc95204d | |||
| 68e809728a | |||
| d5b70d829f | |||
| 28b2596483 | |||
| 50e7a1f2e3 | |||
| 5478bda8bc | |||
| 15e40da1ca | |||
| d2b801cada | |||
| 8653c4c1e4 | |||
| f863d75eee | |||
| bc7656da05 | |||
| 03aec90d63 | |||
| 861884099f | |||
| 63cdb3bbeb | |||
| e17400ed63 | |||
| e58fb73f3b | |||
| 11bdbd8873 | |||
| 8942efa36c |
+5
-1
@@ -1,4 +1,8 @@
|
||||
*.pyc
|
||||
doctrees
|
||||
*.inv
|
||||
*.pickle
|
||||
*.pickle
|
||||
|
||||
.vscode/
|
||||
.cache/
|
||||
dist/
|
||||
@@ -1,3 +1,47 @@
|
||||
Between 0.4 & 0.5:
|
||||
== New features ==
|
||||
- windows.security
|
||||
- SecurityDescriptor / ACL / ACE objects
|
||||
- Improved Token object
|
||||
- windows.debug
|
||||
- New callback Debugger.on_setup
|
||||
|
||||
== Change / Break ==
|
||||
- windows.winproxy
|
||||
- Kernel32Error replaced by WinproxyError
|
||||
- It seemed weird that ntdll/advapi32/etc raised Kernel32Error..
|
||||
- windows.wmi
|
||||
- Wmi API changed, most of them do not return dict anymore but WmiObject
|
||||
- It can be used like mapping
|
||||
- It offers improved feature
|
||||
- real error display handling :)
|
||||
|
||||
- windows.com
|
||||
- ImprovedVariant renamed Variant + new api variant
|
||||
- This is not documented yet
|
||||
|
||||
- windows.rpc.ndr
|
||||
- ndr strings add final \x00 when packing if not present
|
||||
- crypto
|
||||
- CertificateStore.find return None if certif is not found (was raising in the past)
|
||||
- removed ECRYPT_DATA_BLOB
|
||||
- new CRYPT_DATA_BLOB is an _extended_struct :)
|
||||
|
||||
|
||||
|
||||
Since 0.35:
|
||||
* WinProcess.get_mapped_filename can now raise on non-standard error (like: ERROR_TRANSACTION_NOT_ACTIVE)
|
||||
* WinProcess.get_mapped_filename now use GetMappedFilenameW (returning an unicode string)
|
||||
* CertificateContext is replace by Certificate
|
||||
* CertificateContext was a PPCERT_CONTEXT. Certificate is a CERT_CONTEXT (not a pointer anymore)
|
||||
* EHCERTSTORE renamed to CertificateStore
|
||||
* added windows.pipe
|
||||
|
||||
Since 0.3:
|
||||
|
||||
* Rewrote pe_parse to minimize closure (allowing the refcount to del all ref to WinProcess when the debugger detach it)
|
||||
* Fix debugger.detach / handling on exit_process
|
||||
|
||||
Since 0.2:
|
||||
|
||||
* NtStatusException is now a WindowsError
|
||||
@@ -23,4 +67,9 @@ Since 0.2:
|
||||
* Can retrieve 64b context of syswow thread via context_syswow/set_syswow_context
|
||||
* Debugger handle breakpoint in 64b part of syswow process
|
||||
* ReadSyswow64Process is now a Process (allows to parse exports of remote PEB64 of syswow process)
|
||||
* Added Debugger.detach
|
||||
* Added Debugger.detach
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -14,6 +14,19 @@ You can find some examples of code in the [samples directory][SAMPLE_DIR] or [on
|
||||
|
||||
Parts of PythonForWindows are used in the [LKD project][LKD_GITHUB].
|
||||
|
||||
If you have any issue, question, suggestion do not hesitate to contact me.
|
||||
I am always glad to have feedbacks from people using this project.
|
||||
|
||||
## Installation
|
||||
|
||||
You can install PythonForWindows using the ``setup.py`` script:
|
||||
|
||||
``
|
||||
python setup.py install
|
||||
``
|
||||
|
||||
Note that PythonForWindows only support Python2 at the moment.
|
||||
|
||||
## Overview
|
||||
|
||||
### Processes / Threads
|
||||
@@ -35,33 +48,66 @@ You can also make some operation on threads (suspend/resume/wait/get(or set) con
|
||||
>>> import windows
|
||||
>>> windows.current_process.bitness
|
||||
32
|
||||
>>> calc = [p for p in windows.system.processes if p.name == "calc.exe"][0]
|
||||
>>> calc
|
||||
<WinProcess "calc.exe" pid 6960 at 0x37391f0>
|
||||
>>> calc.bitness
|
||||
>>> windows.current_process.token.integrity
|
||||
SECURITY_MANDATORY_MEDIUM_RID(0x2000)
|
||||
>>> proc = [p for p in windows.system.processes if p.name == "notepad.exe"][0]
|
||||
>>> proc
|
||||
<WinProcess "notepad.exe" pid 16520 at 0x544e410>
|
||||
>>> proc.bitness
|
||||
64
|
||||
>>> calc.peb.modules[:3]
|
||||
[<RemoteLoadedModule64 "calc.exe" at 0x3671e90>, <RemoteLoadedModule64 "ntdll.dll" at 0x3671030>, <RemoteLoadedModule64 "kernel32.dll" at 0x3671080>]
|
||||
>>> k32 = calc.peb.modules[2]
|
||||
>>> proc.peb.modules[:3]
|
||||
[<RemoteLoadedModule64 "notepad.exe" at 0x3671e90>, <RemoteLoadedModule64 "ntdll.dll" at 0x3671030>, <RemoteLoadedModule64 "kernel32.dll" at 0x3671080>]
|
||||
>>> k32 = proc.peb.modules[2]
|
||||
>>> hex(k32.pe.exports["CreateFileW"])
|
||||
'0x7ffee6761550L'
|
||||
>>> calc.threads[0]
|
||||
<WinThread 3932 owner "calc.exe" at 0x3646350>
|
||||
>>> hex(calc.threads[0].context.Rip)
|
||||
>>> proc.threads[0]
|
||||
<WinThread 17688 owner "notepad.exe" at 0x53b47f0>
|
||||
>>> hex(proc.threads[0].context.Rip)
|
||||
'0x7ffee68b54b0L'
|
||||
>>> calc.execute_python("import os")
|
||||
>>> proc.execute_python("import os")
|
||||
True
|
||||
>>> calc.execute_python("exit(os.getpid() + 1)")
|
||||
>>> proc.execute_python("exit(os.getpid() + 1)")
|
||||
# execute_python raise if process died
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
WindowsError: <WinProcess "calc.exe" pid 6960 (DEAD) at 0x37391f0> died during execution of python command
|
||||
WindowsError: <WinProcess "notepad.exe" pid 16520 (DEAD) at 0x579f610> died during execution of python command
|
||||
>>> calc
|
||||
<WinProcess "calc.exe" pid 6960 (DEAD) at 0x37391f0>
|
||||
<WinProcess "notepad.exe" pid 16520 (DEAD) at 0x579f610>
|
||||
>>> calc.exit_code
|
||||
6961L
|
||||
16521L
|
||||
```
|
||||
|
||||
### System information
|
||||
|
||||
Information about the Windows computer running the script are available through the `windows.system` object.
|
||||
|
||||
```python
|
||||
>>> windows.system
|
||||
<windows.winobject.system.System object at 0x03FEED10>
|
||||
>>> windows.system.bitness
|
||||
64
|
||||
>>> windows.system.computer_name
|
||||
'DESKTOP-VKUGISR'
|
||||
>>> windows.system.product_type
|
||||
VER_NT_WORKSTATION(0x1)
|
||||
>>> windows.system.version
|
||||
(10, 0)
|
||||
>>> windows.system.version_name
|
||||
'Windows 10'
|
||||
>>> windows.system.build_number
|
||||
'10.0.15063.608'
|
||||
|
||||
# windows.system also contains dynamic lists about processes / threads / handles / ...
|
||||
>>> windows.system.handles[-2:]
|
||||
[<Handle value=<0x5cc> in process pid=14360>, <Handle value=<0x28e4> in process pid=14360>]
|
||||
>>> windows.system.processes[:2]
|
||||
[<WinProcess "[System Process]" pid 0 at 0x433f7d0>, <WinProcess "System" pid 4 at 0x433fd30>]
|
||||
>>> windows.system.logicaldrives[0]
|
||||
<LogicalDrive "C:\" (DRIVE_FIXED)>
|
||||
>>> windows.system.services[23]
|
||||
<ServiceA "Appinfo" SERVICE_RUNNING(0x4)>
|
||||
|
||||
```
|
||||
|
||||
### IAT Hook
|
||||
|
||||
@@ -72,13 +118,56 @@ So the features is present (See [online documentation][ONLINE_IATHOOK] about IAT
|
||||
### Winproxy
|
||||
|
||||
A wrapper around some Windows functions. Arguments name and order are the same,
|
||||
but some have default values and the functions raise exception on call error (I don't like 'if' around all my call).
|
||||
but some have default values and the functions raise exception on call error (I don't like `if` around all my call).
|
||||
|
||||
```python
|
||||
>>> import windows
|
||||
>>> help(windows.winproxy.VirtualAlloc)
|
||||
# Help on function VirtualAlloc in module windows.winproxy:
|
||||
# VirtualAlloc(lpAddress=0, dwSize=NeededParameter, flAllocationType=MEM_COMMIT(0x1000L), flProtect=PAGE_EXECUTE_READWRITE(0x40L))
|
||||
# Errcheck:
|
||||
# raise WinproxyError if result is 0
|
||||
|
||||
# Positional arguments
|
||||
>>> windows.winproxy.VirtualAlloc(0, 0x1000)
|
||||
34537472
|
||||
|
||||
# Keyword arguments
|
||||
>>> windows.winproxy.VirtualAlloc(dwSize=0x1000)
|
||||
34603008
|
||||
|
||||
# NeededParameter must be provided
|
||||
>>> windows.winproxy.VirtualAlloc()
|
||||
"""
|
||||
Traceback (most recent call last):
|
||||
File "<stdin>", line 1, in <module>
|
||||
File "windows\winproxy.py", line 264, in VirtualAlloc
|
||||
return VirtualAlloc.ctypes_function(lpAddress, dwSize, flAllocationType, flProtect)
|
||||
File "windows\winproxy.py", line 130, in perform_call
|
||||
raise TypeError("{0}: Missing Mandatory parameter <{1}>".format(self.func_name, param_name))
|
||||
TypeError: VirtualAlloc: Missing Mandatory parameter <dwSize>
|
||||
"""
|
||||
|
||||
# Error raises exception
|
||||
>>> windows.winproxy.VirtualAlloc(dwSize=0xffffffff)
|
||||
"""
|
||||
Traceback (most recent call last):
|
||||
File "<stdin>", line 1, in <module>
|
||||
File "windows\winproxy.py", line 264, in VirtualAlloc
|
||||
return VirtualAlloc.ctypes_function(lpAddress, dwSize, flAllocationType, flProtect)
|
||||
File "windows\winproxy.py", line 133, in perform_call
|
||||
return self._cprototyped(*args)
|
||||
File "windows\winproxy.py", line 59, in kernel32_error_check
|
||||
raise WinproxyError(func_name)
|
||||
windows.winproxy.error.WinproxyError: VirtualAlloc: [Error 87] The parameter is incorrect.
|
||||
"""
|
||||
```
|
||||
|
||||
|
||||
### Native execution
|
||||
|
||||
To make the barrier between `native` and `Python` code,
|
||||
PythonForWindows allows you to create native function callable from Python (thanks `ctypes`) and also embed
|
||||
To make the barrier between `native` and `Python` code thinner,
|
||||
PythonForWindows allows you to create native function callable from Python (thanks to `ctypes`) and also embed
|
||||
a simple x86/x64 assembler.
|
||||
|
||||
```python
|
||||
@@ -93,6 +182,42 @@ a simple x86/x64 assembler.
|
||||
>>> f = windows.native_exec.create_function(code.get_code(), [ctypes.c_uint])
|
||||
>>> f()
|
||||
42L
|
||||
# Assemblers can also be used in a more standard way
|
||||
>>> x86.assemble("cmp edi, 0; jnz :end; mov eax, 1; label :end; ret")
|
||||
'\x81\xff\x00\x00\x00\x00u\x06\xc7\xc0\x01\x00\x00\x00\xc3'
|
||||
```
|
||||
|
||||
### Token / Security Descriptor
|
||||
|
||||
Objects easing access to some information about ``Token`` and ``SecurityDescriptor`` are also available.
|
||||
|
||||
```python
|
||||
>>> import windows.security
|
||||
>>> import windows.generated_def as gdef
|
||||
>>> tok = windows.current_process.token
|
||||
>>> tok
|
||||
<Token TokenId=0x6a2b4550 Type=TokenPrimary(0x1)>
|
||||
>>> tok.username
|
||||
u'hakril'
|
||||
>>> tok.type
|
||||
tagTOKEN_TYPE.TokenPrimary(0x1)
|
||||
>>> tok.integrity
|
||||
SECURITY_MANDATORY_MEDIUM_RID(0x2000)
|
||||
>>> tok.duplicate(type=gdef.TokenImpersonation, impersonation_level=gdef.SecurityIdentification)
|
||||
<Token TokenId=0x6a3532ce Type=TokenImpersonation(0x2) ImpersonationLevel=SecurityIdentification(0x1)>
|
||||
|
||||
# Security Descriptor
|
||||
>>> sd = windows.security.SecurityDescriptor.from_filename("c:\windows\system32\kernel32.dll")
|
||||
>>> sd
|
||||
<SecurityDescriptor object at 0x054E3DF0>
|
||||
>>> windows.utils.lookup_sid(sd.owner)
|
||||
(u'NT SERVICE', u'TrustedInstaller')
|
||||
>>> sd.dacl
|
||||
<Acl count=6>
|
||||
>>> list(sd.dacl)
|
||||
[<AccessAllowedACE mask=2032127>, <AccessAllowedACE mask=1179817>, <AccessAllowedACE mask=1179817>, <AccessAllowedACE mask=1179817>, <AccessAllowedACE mask=1179817>, <AccessAllowedACE mask=1179817>]
|
||||
>>> sd.dacl[1].sid
|
||||
<PSID "S-1-5-32-544">
|
||||
```
|
||||
|
||||
### Wintrust
|
||||
@@ -110,7 +235,7 @@ SignatureData(signed=True,
|
||||
catalog=u'C:\\Windows\\system32\\CatRoot\\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\\Package_35_for_KB3128650~31bf3856ad364e35~amd64~~6.3.1.2.cat',
|
||||
catalogsigned=True, additionalinfo=0L)
|
||||
>>> windows.wintrust.full_signature_information(r"C:\Windows\system32\python27.dll")
|
||||
SignatureData(signed=False, catalog=None, catalogsigned=False, additionalinfo=TRUST_E_NOSIGNATURE(0x800b0100L))
|
||||
SignatureData(signed=False, catalog=None, catalogsigned=False, additionalinfo=TRUST_E_NOSIGNATURE(0x800b0100))
|
||||
```
|
||||
|
||||
### WMI
|
||||
@@ -120,10 +245,11 @@ To extract/play with even more information about the system, PythonForWindows is
|
||||
```python
|
||||
>>> import windows
|
||||
>>> windows.system.wmi.select
|
||||
<bound method WmiRequester.select of <windows.winobject.wmi.WmiRequester object at 0x036BA590>>
|
||||
>>> windows.system.wmi.select("Win32_Process", ["Name", "Handle"])[:4]
|
||||
[{'Handle': u'0', 'Name': u'System Idle Process'}, {'Handle': u'4', 'Name': u'System'}, {'Handle': u'412', 'Name': u'smss.exe'}, {'Handle': u'528', 'Name': u'csrss.exe'}]
|
||||
# Get WMI data for current process
|
||||
<bound method WmiNamespace.select of <WmiNamespace "root\cimv2">>
|
||||
>>> windows.system.wmi.select("Win32_Process")[:3]
|
||||
[<WmiObject instance of "Win32_Process">, <WmiObject instance of "Win32_Process">, <WmiObject instance of "Win32_Process">]# Get WMI data for current process
|
||||
>>> windows.system.wmi.select("Win32_Process")[42]["Name"]
|
||||
u'svchost.exe'
|
||||
>>> wmi_cp = [p for p in windows.system.wmi.select("Win32_Process") if int(p["Handle"]) == windows.current_process.pid][0]
|
||||
>>> wmi_cp["CommandLine"], wmi_cp["HandleCount"]
|
||||
(u'"C:\\Python27\\python.exe"', 227)
|
||||
@@ -141,7 +267,7 @@ The project also contains some wrapping classes around `_winreg` for simpler use
|
||||
>>> cuuser_software
|
||||
<PyHKey "HKEY_CURRENT_USER\Software">
|
||||
>>> cuuser_software.sam
|
||||
KEY_READ(0x20019L)
|
||||
KEY_READ(0x20019)
|
||||
# Explore subkeys
|
||||
>>> cuuser_software.subkeys[:3]
|
||||
[<PyHKey "HKEY_CURRENT_USER\Software\7-Zip">, <PyHKey "HKEY_CURRENT_USER\Software\AppDataLow">, <PyHKey "HKEY_CURRENT_USER\Software\Audacity">]
|
||||
@@ -158,6 +284,135 @@ KeyValue(name='MYQWORD', value=123456789987654321L, type=11)
|
||||
[KeyValue(name='MYQWORD', value=123456789987654321L, type=11), KeyValue(name='VALUE', value=u'a_value_for_my_key', type=1)]
|
||||
```
|
||||
|
||||
### Object manager
|
||||
|
||||
PythonForWindows uses the native Windows NT API to display some information about the object in the Object Manager's name space.
|
||||
Just like the well-known tools ``winobj.exe``
|
||||
|
||||
```python
|
||||
>>> windows.system.object_manager.root
|
||||
<KernelObject "\" (type="Directory")>
|
||||
# The objects of type "Directory" can be acceded just like a dict
|
||||
>>> list(windows.system.object_manager.root)[:3]
|
||||
[u'PendingRenameMutex', u'ObjectTypes', u'storqosfltport']
|
||||
# Find an object by its path
|
||||
>>> windows.system.object_manager["KnownDLLs\\kernel32.dll"]
|
||||
<KernelObject "\KnownDLLs\kernel32.dll" (type="Section")>
|
||||
>>> k32 = windows.system.object_manager["KnownDLLs\\kernel32.dll"]
|
||||
>>> k32.name, k32.fullname, k32.type
|
||||
('kernel32.dll', '\\KnownDLLs\\kernel32.dll', u'Section')
|
||||
# Follow SymbolicLink object
|
||||
>>> windows.system.object_manager["\\KnownDLLs\\KnownDLLPath"]
|
||||
<KernelObject "\KnownDLLs\KnownDLLPath" (type="SymbolicLink")>
|
||||
>>> windows.system.object_manager["\\KnownDLLs\\KnownDLLPath"].target
|
||||
u'C:\\WINDOWS\\System32'
|
||||
```
|
||||
|
||||
### Scheduled Task
|
||||
|
||||
The ``windows.system.task_scheduler`` object allows to query and create scheduled task.
|
||||
|
||||
**This part is still in developpement and the API may evolve**
|
||||
|
||||
```python
|
||||
>>> windows.system.task_scheduler
|
||||
<TaskService at 0x4774670>
|
||||
>>> windows.system.task_scheduler.root
|
||||
<TaskFolder "\" at 0x4774710>
|
||||
>>> task = windows.system.task_scheduler.root.tasks[2]
|
||||
>>> task
|
||||
<Task "DemoTask" at 0x47748f0>
|
||||
>>> task.name
|
||||
u'DemoTask'
|
||||
# Explore task actions
|
||||
>>> task.definition.actions[1]
|
||||
<ExecAction at 0x4774800>
|
||||
>>> task.definition.actions[1].path
|
||||
u'c:\\windows\\python\\python.exe'
|
||||
>>> task.definition.actions[1].arguments
|
||||
u'yolo.py --test'
|
||||
```
|
||||
|
||||
### Event logs
|
||||
|
||||
The ``windows.system.event_log`` object allows to query event logs.
|
||||
|
||||
**This part is still in developpement and the API may evolve**
|
||||
|
||||
```python
|
||||
>>> windows.system.event_log
|
||||
<windows.winobject.event_log.EvtlogManager object at 0x04A78270>
|
||||
# Find a channel by its name
|
||||
>>> chan = windows.system.event_log["Microsoft-Windows-Windows Firewall With Advanced Security/Firewall"]
|
||||
>>> chan
|
||||
<EvtChannel "Microsoft-Windows-Windows Firewall With Advanced Security/Firewall">
|
||||
# Open .evtx files
|
||||
>>> windows.system.event_log["test.evtx"]
|
||||
<EvtFile "test.evtx">
|
||||
# Query a channel for all events
|
||||
>>> chan.query().all()[:2]
|
||||
[<EvtEvent id="2004" time="2018-07-12 07:44:08.081504">, <EvtEvent id="2006" time="2018-07-12 07:57:59.806938">]
|
||||
# Query a channel for some ids
|
||||
>>> chan.query(ids=2004).all()[:2]
|
||||
[<EvtEvent id="2004" time="2018-07-12 07:44:08.081504">, <EvtEvent id="2004" time="2018-07-12 07:57:59.815156">]
|
||||
# Query a channel via XPATH
|
||||
>>> evt = chan.query("Event/EventData[Data='Netflix']").all()[0]
|
||||
# Explore event information
|
||||
>>> evt
|
||||
<EvtEvent id="2006" time="2018-07-17 10:32:39.160423">
|
||||
>>> evt.data
|
||||
{u'ModifyingUser': 69828304, u'RuleName': u'Netflix', u'ModifyingApplication': ...}
|
||||
```
|
||||
|
||||
### ALPC-RPC
|
||||
|
||||
#### ALPC
|
||||
|
||||
Classes around **A**dvanced **L**ocal **P**rocedure **C**all (**ALPC**) syscalls allows to simply
|
||||
write client and server able to send **ALPC** messages.
|
||||
|
||||
```python
|
||||
>>> import windows.alpc
|
||||
# Test server juste reply to each message with "REQUEST '{msg_data}' RECEIVED"
|
||||
>>> client = windows.alpc.AlpcClient(r"\RPC Control\PythonForWindowsTESTPORT")
|
||||
>>> response = client.send_receive("Hello world !")
|
||||
>>> response
|
||||
<windows.alpc.AlpcMessage object at 0x04C0D5D0>
|
||||
>>> response.data
|
||||
"REQUEST 'Hello world !' RECEIVED"
|
||||
```
|
||||
|
||||
Full client/server code for this example is available is the [ALPC samples][ONLINE_SAMPLE_ALPC] along with a more complex example.
|
||||
|
||||
|
||||
#### RPC
|
||||
|
||||
An RPC-Client based using **ALPC** communication is also integred
|
||||
|
||||
```python
|
||||
# Server (port ALPC '\RPC Control\HelloRpc') offers:
|
||||
# Interface '41414141-4242-4343-4444-45464748494a' version 1.0
|
||||
# Method 1 -> int Add(int a, int b) -> return a + b
|
||||
# This Test server is a real RPC Server using rpcrt4.dll and compiled with VS2015.
|
||||
|
||||
>>> import windows.rpc
|
||||
>>> from windows.rpc import ndr
|
||||
>>> client = windows.rpc.RPCClient(r"\RPC Control\HelloRpc")
|
||||
>>> client
|
||||
<windows.rpc.client.RPCClient object at 0x0411E130>
|
||||
>>> iid = client.bind("41414141-4242-4343-4444-45464748494a")
|
||||
>>> ndr_params = ndr.make_parameters([ndr.NdrLong] * 2)
|
||||
# NDR pack + Make RPC call to method 1.
|
||||
>>> resp = client.call(iid, 1, ndr_params.pack([41414141, 1010101]))
|
||||
# Unpack the NDR response
|
||||
>>> result = ndr.NdrLong.unpack(ndr.NdrStream(resp))
|
||||
>>> result
|
||||
42424242
|
||||
```
|
||||
|
||||
A sample with the **U**ser **A**ccount **C**ontrol (**UAC**) and one with `lsasrv.dll` are available in the [RPC samples][ONLINE_SAMPLE_RPC].
|
||||
|
||||
|
||||
### Debugger
|
||||
|
||||
PythonForWindows provides a standard debugger to debug other processes.
|
||||
@@ -167,28 +422,28 @@ import windows
|
||||
import windows.debug
|
||||
import windows.test
|
||||
import windows.native_exec.simple_x86 as x86
|
||||
import windows.generated_def as gdef
|
||||
|
||||
from windows.test import pop_calc_32
|
||||
from windows.generated_def import EXCEPTION_ACCESS_VIOLATION
|
||||
from windows.test import pop_proc_32
|
||||
|
||||
class MyDebugger(windows.debug.Debugger):
|
||||
def on_exception(self, exception):
|
||||
code = exception.ExceptionRecord.ExceptionCode
|
||||
addr = exception.ExceptionRecord.ExceptionAddress
|
||||
print("Got exception {0} at 0x{1:x}".format(code, addr))
|
||||
if code == EXCEPTION_ACCESS_VIOLATION:
|
||||
if code == gdef.EXCEPTION_ACCESS_VIOLATION:
|
||||
print("Access Violation: kill target process")
|
||||
self.current_process.exit()
|
||||
|
||||
calc = windows.test.pop_calc_32(dwCreationFlags=DEBUG_PROCESS)
|
||||
calc = windows.test.pop_proc_32(dwCreationFlags=gdef.DEBUG_PROCESS)
|
||||
d = MyDebugger(calc)
|
||||
calc.execute(x86.assemble("int3; mov [0x42424242], EAX; ret"))
|
||||
d.loop()
|
||||
|
||||
## Ouput ##
|
||||
Got exception EXCEPTION_BREAKPOINT(0x80000003L) at 0x77e13c7d
|
||||
Got exception EXCEPTION_BREAKPOINT(0x80000003L) at 0x230000
|
||||
Got exception EXCEPTION_ACCESS_VIOLATION(0xc0000005L) at 0x230001
|
||||
Got exception EXCEPTION_BREAKPOINT(0x80000003) at 0x77e13c7d
|
||||
Got exception EXCEPTION_BREAKPOINT(0x80000003) at 0x230000
|
||||
Got exception EXCEPTION_ACCESS_VIOLATION(0xc0000005) at 0x230001
|
||||
Access Violation: kill target process
|
||||
```
|
||||
|
||||
@@ -247,10 +502,10 @@ print("Done!")
|
||||
|
||||
Code addr = 0x6a0002
|
||||
GOT AN HXBP at 0x6a0002
|
||||
EXCEPTION !!!! Got a EXCEPTION_SINGLE_STEP(0x80000004L) at 0x6a0003
|
||||
EXCEPTION !!!! Got a EXCEPTION_SINGLE_STEP(0x80000004L) at 0x6a0004
|
||||
EXCEPTION !!!! Got a EXCEPTION_SINGLE_STEP(0x80000004L) at 0x6a0005
|
||||
EXCEPTION !!!! Got a EXCEPTION_SINGLE_STEP(0x80000004L) at 0x770c7c04
|
||||
EXCEPTION !!!! Got a EXCEPTION_SINGLE_STEP(0x80000004) at 0x6a0003
|
||||
EXCEPTION !!!! Got a EXCEPTION_SINGLE_STEP(0x80000004) at 0x6a0004
|
||||
EXCEPTION !!!! Got a EXCEPTION_SINGLE_STEP(0x80000004) at 0x6a0005
|
||||
EXCEPTION !!!! Got a EXCEPTION_SINGLE_STEP(0x80000004) at 0x770c7c04
|
||||
Done!
|
||||
|
||||
```
|
||||
@@ -263,12 +518,17 @@ The local debugger handles
|
||||
### Other stuff (see doc / samples)
|
||||
|
||||
- Network
|
||||
- Services
|
||||
- COM
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
* clmntb for his initial work on ``windows.security``
|
||||
|
||||
|
||||
[LKD_GITHUB]: https://github.com/sogeti-esec-lab/LKD/
|
||||
[SAMPLE_DIR]: https://github.com/hakril/PythonForWindows/tree/master/samples
|
||||
[ONLINE_DOC]: http://hakril.github.io/PythonForWindows/
|
||||
[ONLINE_SAMPLE]: http://hakril.github.io/PythonForWindows/build/html/sample.html
|
||||
[ONLINE_SAMPLE_ALPC]: http://hakril.github.io/PythonForWindows/build/html/sample.html#windows-alpc
|
||||
[ONLINE_SAMPLE_RPC]: http://hakril.github.io/PythonForWindows/build/html/sample.html#windows-rpc
|
||||
[ONLINE_IATHOOK]: http://hakril.github.io/PythonForWindows/build/html/iat_hook.html
|
||||
@@ -1,27 +1,69 @@
|
||||
TODO:
|
||||
- Documentation
|
||||
|
||||
- Better WMI interface
|
||||
-- CRITICAL BEFORE 0.6 ? --
|
||||
|
||||
- Document / fix / release:
|
||||
- windows.bits
|
||||
- window
|
||||
- Ndr:
|
||||
- Handle les struct conformant imbriquees
|
||||
- Handle le packing de struct specifique
|
||||
|
||||
======
|
||||
|
||||
- DBG
|
||||
- FIX BP API !!
|
||||
- add_bp(target=XXX) vs del_bp(targets=XXX) ....
|
||||
|
||||
- Verif multiple bp at same place..
|
||||
- Verif multiple pending at same place
|
||||
- Test !! (bp, BP_HX, bp on only on process, bp_hx on only one thread..)
|
||||
- test breakpoint with specific target
|
||||
|
||||
- Rethink/adapt Debugger._explicit_single_step
|
||||
- Does not handle case where EEFlags.TF was by the debugge before trigering the exception
|
||||
- Should set the flag explicitly in single_step ? and not just use EEFlags.TF ?
|
||||
- _handle_load_dll
|
||||
- error in keys of 'self._module_by_process[self.current_process.pid]'
|
||||
- if I have a ntdll32 and ntdll64: both would have the same name in the list..
|
||||
|
||||
|
||||
- Il y a un truc fucked-up avec le add_bp(target=XXX)
|
||||
- j'attends a avoir un thread/process mais je fait des check sur TID/PID..
|
||||
- Ecrire un test et fix..
|
||||
|
||||
|
||||
- remotectypes
|
||||
- pretty sur I can get rid of PointerToStruct64/PointerToStruct32
|
||||
|
||||
- Some test/doc on windows.system.handles
|
||||
|
||||
- registry
|
||||
- test !
|
||||
- winutils
|
||||
- some stuff in winutils.py are not documented.
|
||||
- Fix/test/refactor API + doc
|
||||
|
||||
- winobject\exception.py
|
||||
- large part could be rewritten with ctypes-generation extended-def
|
||||
|
||||
- add winobject/window.py
|
||||
- Some test/doc
|
||||
|
||||
- wintrust doc:
|
||||
add : https://blogs.msdn.microsoft.com/winsdk/2016/01/05/why-cryptcatadmincalchashfromfilehandle-fails-with-a-seemingly-unexpected-error-code/
|
||||
|
||||
- COM:
|
||||
- test https://msdn.microsoft.com/en-us/library/vs/alm/hh846255(v=vs.85).aspx
|
||||
|
||||
- Hook
|
||||
- Probleme with enabled hook + gc
|
||||
- Prevent GC of enabled hook ?
|
||||
- Raise on deletion of enabled hook ?
|
||||
- if I implem __del__ -> we have a __del__ cycle -> no gc (gc.garbage instead..)
|
||||
|
||||
|
||||
Documentation
|
||||
* verif samples
|
||||
|
||||
FIXME:
|
||||
- Push("[ECX]") in simple_x64 as a "H" rex and i think it should not..
|
||||
* windows.bits
|
||||
- Document change in CurrentProcess read/write memory behavior ?
|
||||
|
||||
RESSOURCE
|
||||
* read http://www.codeproject.com/Articles/18975/Listing-Used-Files
|
||||
@@ -1,4 +1,3 @@
|
||||
import StringIO
|
||||
from collections import namedtuple
|
||||
|
||||
import dummy_wintypes
|
||||
@@ -7,64 +6,16 @@ from winstruct import WinStruct, WinUnion, WinStructType, Ptr, WinEnum
|
||||
from simpleparser import *
|
||||
|
||||
|
||||
def initial_processing( data):
|
||||
# https://gcc.gnu.org/onlinedocs/cpp/Initial-processing.html#Initial-processing
|
||||
# Step 1 -> use correct end of line + add last \n if not existing
|
||||
data = data.replace("\r\n", "\n")
|
||||
if not data.endswith("\n"):
|
||||
data = data + "\n"
|
||||
# Step 2: Trigraph : fuck it
|
||||
pass
|
||||
# Step 3: Line merge !
|
||||
data = data.replace("\\\n", "")
|
||||
# Step 4 Remove comments:
|
||||
|
||||
ins = StringIO.StringIO(data)
|
||||
outs = StringIO.StringIO()
|
||||
|
||||
in_str = False
|
||||
res = []
|
||||
while ins.tell() != len(data):
|
||||
c = ins.read(1)
|
||||
if ins.tell() == len(data):
|
||||
outs.write(c)
|
||||
break
|
||||
if not in_str and c == "/":
|
||||
nc = ins.read(1)
|
||||
if nc == "/":
|
||||
while c != "\n":
|
||||
c = ins.read(1)
|
||||
outs.write(c)
|
||||
continue
|
||||
elif nc == "*":
|
||||
while c != "*" or nc != "/":
|
||||
c = nc
|
||||
nc = ins.read(1)
|
||||
if not nc:
|
||||
raise ValueError("Unmatched */")
|
||||
outs.write(" ")
|
||||
continue
|
||||
else:
|
||||
outs.write(c)
|
||||
ins.seek(ins.tell() - 1)
|
||||
continue
|
||||
# TODO: escape in str
|
||||
elif c == '"':
|
||||
in_str = not in_str
|
||||
outs.write(c)
|
||||
outs.seek(0)
|
||||
return outs.read()
|
||||
|
||||
class WinComParser(Parser):
|
||||
PARAM_INFO = ["__RPC__deref_out", "__RPC__in", "__RPC__deref_out_opt", "__RPC__out", "__RPC__in_opt",
|
||||
"__RPC__deref_opt_inout_opt", "__in", "__out", "__out_opt", "__in_opt", "__inout",
|
||||
"__reserved"]
|
||||
"__reserved", "__RPC__in_opt_string", "__RPC__inout_opt", "__RPC__in_string", "__deref_out_opt", "__RPC__inout"]
|
||||
PARAM_INFO_WITH_VALUE = ["__RPC__in_ecount", "__RPC__out_ecount_part", "__RPC__in_ecount_full",
|
||||
"__RPC__in_range", "__RPC__out_ecount_full", "__out_ecount_opt", "__out_ecount", "__in_ecount_opt",
|
||||
"__in_ecount", "__out_bcount_opt", "__out_bcount", "__in_bcount", "__in_bcount_opt"]
|
||||
"__in_ecount", "__out_bcount_opt", "__out_bcount", "__in_bcount", "__in_bcount_opt", "__RPC__out_ecount_full_string"]
|
||||
|
||||
def __init__(self, data):
|
||||
data = initial_processing(data)
|
||||
# data = self.initial_processing(data)
|
||||
#print(data)
|
||||
super(WinComParser, self).__init__(data)
|
||||
|
||||
@@ -117,14 +68,16 @@ class WinComParser(Parser):
|
||||
args = []
|
||||
self.assert_token_type(OpenParenthesisToken)
|
||||
while type(self.peek()) != CloseParenthesisToken:
|
||||
# TODO: handle call with VARGS ?
|
||||
if self.peek().value == "...":
|
||||
if self.peek().value == "...": #TODO: '...' token ?
|
||||
self.next_token()
|
||||
# '...' should be last token before ')'
|
||||
args.append("...") # Put a type ?
|
||||
assert type(self.peek()) == CloseParenthesisToken
|
||||
continue
|
||||
args.append(self.parse_argument())
|
||||
#print("Pass <{0}>".format(p))
|
||||
self.next_token()
|
||||
self.assert_token_type(ColonToken)
|
||||
self.assert_token_type(SemiColonToken)
|
||||
return ret_type.value, method_name.value, args
|
||||
|
||||
def parse(self):
|
||||
@@ -160,13 +113,13 @@ class WinComParser(Parser):
|
||||
self.next_token()
|
||||
self.assert_token_type(StarToken)
|
||||
typedefptr = self.assert_token_type(NameToken).value
|
||||
self.assert_token_type(ColonToken)
|
||||
self.assert_token_type(SemiColonToken)
|
||||
res.typedefptr = typedefptr
|
||||
return res
|
||||
|
||||
#print(self.data)
|
||||
|
||||
Method = namedtuple("Method", ["ret_type", "name", "args"])
|
||||
Method = namedtuple("Method", ["ret_type", "name", "args", 'functype'])
|
||||
MethodArg = namedtuple("MethodArg", ["type", "byreflevel", "name"])
|
||||
class WinCOMVTABLE(object):
|
||||
def __init__(self, vtbl_name):
|
||||
@@ -178,6 +131,11 @@ class WinCOMVTABLE(object):
|
||||
|
||||
def add_method(self, ret_type, method_name, args):
|
||||
new_args = []
|
||||
functype = 'stdcall'
|
||||
if args[-1] == "...":
|
||||
print("{0}.{1} is a cdecl COM method".format(self.name, method_name))
|
||||
args = args[:-1]
|
||||
functype = 'cdecl'
|
||||
for type, byreflevel, name in args:
|
||||
if type in ["long", "int"]:
|
||||
type = type.upper()
|
||||
@@ -185,7 +143,7 @@ class WinCOMVTABLE(object):
|
||||
|
||||
if ret_type in ["long", "int"]:
|
||||
ret_type = ret_type.upper()
|
||||
self.methods.append(Method(ret_type, method_name, new_args))
|
||||
self.methods.append(Method(ret_type, method_name, new_args, functype))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -7,12 +7,11 @@ class WinDef(object):
|
||||
def __init__(self, name, code):
|
||||
self.name = name
|
||||
self.code = code
|
||||
|
||||
|
||||
def generate_ctypes(self):
|
||||
return """{0} = Flag("{0}", {1})""".format(self.name, self.code)
|
||||
return """{0} = make_flag("{0}", {1})""".format(self.name, self.code)
|
||||
|
||||
class WinDefParser(Parser):
|
||||
|
||||
def parse_define(self):
|
||||
self.assert_token_type(SharpToken)
|
||||
define = self.assert_token_type(NameToken)
|
||||
@@ -26,9 +25,26 @@ class WinDefParser(Parser):
|
||||
v = v[:-1]
|
||||
define_value.append(v)
|
||||
return WinDef(define_name.value, " ".join(define_value))
|
||||
|
||||
|
||||
def parse(self):
|
||||
res = []
|
||||
while self.peek() is not None:
|
||||
res.append(self.parse_define())
|
||||
return res
|
||||
return res
|
||||
|
||||
# A simple Fake parser for NTSTATUS
|
||||
class NtStatusParser(object):
|
||||
def __init__(self, data):
|
||||
self.input = data
|
||||
|
||||
def parse(self):
|
||||
nt_status_defs = []
|
||||
for line in self.input.split("\n"):
|
||||
if not line:
|
||||
continue
|
||||
code, name, descr = line.split("|", 2)
|
||||
code = int(code, 0)
|
||||
descr = re.sub(" +", " ", descr[:-1]) # remove \n
|
||||
descr = descr.replace('"', "'")
|
||||
nt_status_defs.append((code, name, descr))
|
||||
return nt_status_defs
|
||||
@@ -0,0 +1,32 @@
|
||||
typedef struct IBackgroundCopyCallbackVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IBackgroundCopyCallback * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IBackgroundCopyCallback * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IBackgroundCopyCallback * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *JobTransferred )(
|
||||
__RPC__in IBackgroundCopyCallback * This,
|
||||
/* [in] */ __RPC__in_opt IBackgroundCopyJob *pJob);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *JobError )(
|
||||
__RPC__in IBackgroundCopyCallback * This,
|
||||
/* [in] */ __RPC__in_opt IBackgroundCopyJob *pJob,
|
||||
/* [in] */ __RPC__in_opt IBackgroundCopyError *pError);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *JobModification )(
|
||||
__RPC__in IBackgroundCopyCallback * This,
|
||||
/* [in] */ __RPC__in_opt IBackgroundCopyJob *pJob,
|
||||
/* [in] */ DWORD dwReserved);
|
||||
|
||||
END_INTERFACE
|
||||
} IBackgroundCopyCallbackVtbl;
|
||||
@@ -0,0 +1,41 @@
|
||||
typedef struct IBackgroundCopyErrorVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IBackgroundCopyError * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IBackgroundCopyError * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IBackgroundCopyError * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetError )(
|
||||
__RPC__in IBackgroundCopyError * This,
|
||||
/* [ref][out] */ __RPC__out BG_ERROR_CONTEXT *pContext,
|
||||
/* [ref][out] */ __RPC__out HRESULT *pCode);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetFile )(
|
||||
__RPC__in IBackgroundCopyError * This,
|
||||
/* [out] */ __RPC__deref_out_opt IBackgroundCopyFile **pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetErrorDescription )(
|
||||
__RPC__in IBackgroundCopyError * This,
|
||||
/* [in] */ DWORD LanguageId,
|
||||
/* [ref][out] */ __RPC__deref_out_opt LPWSTR *pErrorDescription);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetErrorContextDescription )(
|
||||
__RPC__in IBackgroundCopyError * This,
|
||||
/* [in] */ DWORD LanguageId,
|
||||
/* [ref][out] */ __RPC__deref_out_opt LPWSTR *pContextDescription);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetProtocol )(
|
||||
__RPC__in IBackgroundCopyError * This,
|
||||
/* [ref][out] */ __RPC__deref_out_opt LPWSTR *pProtocol);
|
||||
|
||||
END_INTERFACE
|
||||
} IBackgroundCopyErrorVtbl;
|
||||
@@ -0,0 +1,30 @@
|
||||
typedef struct IBackgroundCopyFileVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IBackgroundCopyFile * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IBackgroundCopyFile * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IBackgroundCopyFile * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetRemoteName )(
|
||||
__RPC__in IBackgroundCopyFile * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetLocalName )(
|
||||
__RPC__in IBackgroundCopyFile * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetProgress )(
|
||||
__RPC__in IBackgroundCopyFile * This,
|
||||
/* [out] */ __RPC__out BG_FILE_PROGRESS *pVal);
|
||||
|
||||
END_INTERFACE
|
||||
} IBackgroundCopyFileVtbl;
|
||||
@@ -0,0 +1,147 @@
|
||||
typedef struct IBackgroundCopyJobVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IBackgroundCopyJob * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IBackgroundCopyJob * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *AddFileSet )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [in] */ ULONG cFileCount,
|
||||
/* [size_is][in] */ __RPC__in_ecount_full(cFileCount) BG_FILE_INFO *pFileSet);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *AddFile )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [in] */ __RPC__in LPCWSTR RemoteUrl,
|
||||
/* [in] */ __RPC__in LPCWSTR LocalName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *EnumFiles )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumBackgroundCopyFiles **pEnum);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Suspend )(
|
||||
__RPC__in IBackgroundCopyJob * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Resume )(
|
||||
__RPC__in IBackgroundCopyJob * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Cancel )(
|
||||
__RPC__in IBackgroundCopyJob * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Complete )(
|
||||
__RPC__in IBackgroundCopyJob * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetId )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__out GUID *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetType )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__out BG_JOB_TYPE *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetProgress )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__out BG_JOB_PROGRESS *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTimes )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__out BG_JOB_TIMES *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetState )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__out BG_JOB_STATE *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetError )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__deref_out_opt IBackgroundCopyError **ppError);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetOwner )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetDisplayName )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [in] */ __RPC__in LPCWSTR Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetDescription )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [in] */ __RPC__in LPCWSTR Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetDescription )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetPriority )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [in] */ BG_JOB_PRIORITY Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetPriority )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__out BG_JOB_PRIORITY *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetNotifyFlags )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [in] */ ULONG Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetNotifyFlags )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__out ULONG *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetNotifyInterface )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [in] */ __RPC__in_opt IUnknown *Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetNotifyInterface )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__deref_out_opt IUnknown **pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetMinimumRetryDelay )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [in] */ ULONG Seconds);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetMinimumRetryDelay )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__out ULONG *Seconds);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetNoProgressTimeout )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [in] */ ULONG Seconds);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetNoProgressTimeout )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__out ULONG *Seconds);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetErrorCount )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__out ULONG *Errors);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetProxySettings )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [in] */ BG_JOB_PROXY_USAGE ProxyUsage,
|
||||
/* [unique][string][in] */ __RPC__in_opt_string const WCHAR *ProxyList,
|
||||
/* [unique][string][in] */ __RPC__in_opt_string const WCHAR *ProxyBypassList);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetProxySettings )(
|
||||
__RPC__in IBackgroundCopyJob * This,
|
||||
/* [out] */ __RPC__out BG_JOB_PROXY_USAGE *pProxyUsage,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pProxyList,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pProxyBypassList);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *TakeOwnership )(
|
||||
__RPC__in IBackgroundCopyJob * This);
|
||||
|
||||
END_INTERFACE
|
||||
} IBackgroundCopyJobVtbl;
|
||||
@@ -0,0 +1,41 @@
|
||||
typedef struct IBackgroundCopyManagerVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IBackgroundCopyManager * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IBackgroundCopyManager * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IBackgroundCopyManager * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *CreateJob )(
|
||||
__RPC__in IBackgroundCopyManager * This,
|
||||
/* [in] */ __RPC__in LPCWSTR DisplayName,
|
||||
/* [in] */ BG_JOB_TYPE Type,
|
||||
/* [out] */ __RPC__out GUID *pJobId,
|
||||
/* [out] */ __RPC__deref_out_opt IBackgroundCopyJob **ppJob);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetJob )(
|
||||
__RPC__in IBackgroundCopyManager * This,
|
||||
/* [in] */ __RPC__in REFGUID jobID,
|
||||
/* [out] */ __RPC__deref_out_opt IBackgroundCopyJob **ppJob);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *EnumJobs )(
|
||||
__RPC__in IBackgroundCopyManager * This,
|
||||
/* [in] */ DWORD dwFlags,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumBackgroundCopyJobs **ppEnum);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetErrorDescription )(
|
||||
__RPC__in IBackgroundCopyManager * This,
|
||||
/* [in] */ HRESULT hResult,
|
||||
/* [in] */ DWORD LanguageId,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pErrorDescription);
|
||||
|
||||
END_INTERFACE
|
||||
} IBackgroundCopyManagerVtbl;
|
||||
@@ -0,0 +1,127 @@
|
||||
typedef struct ICallFrameVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ICallFrame * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ICallFrame * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ICallFrame * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetInfo )(
|
||||
ICallFrame * This,
|
||||
/* [out] */ CALLFRAMEINFO *pInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIIDAndMethod )(
|
||||
ICallFrame * This,
|
||||
/* [out] */ IID *pIID,
|
||||
/* [out] */ ULONG *piMethod);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetNames )(
|
||||
ICallFrame * This,
|
||||
/* [annotation][out] */
|
||||
__deref_out_opt LPWSTR *pwszInterface,
|
||||
/* [annotation][out] */
|
||||
__deref_out_opt LPWSTR *pwszMethod);
|
||||
|
||||
PVOID ( STDMETHODCALLTYPE *GetStackLocation )(
|
||||
ICallFrame * This);
|
||||
|
||||
VOID ( STDMETHODCALLTYPE *SetStackLocation )(
|
||||
ICallFrame * This,
|
||||
/* [in] */ PVOID pvStack);
|
||||
|
||||
VOID ( STDMETHODCALLTYPE *SetReturnValue )(
|
||||
ICallFrame * This,
|
||||
/* [in] */ HRESULT hr);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetReturnValue )(
|
||||
ICallFrame * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetParamInfo )(
|
||||
ICallFrame * This,
|
||||
/* [in] */ ULONG iparam,
|
||||
/* [out] */ CALLFRAMEPARAMINFO *pInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetParam )(
|
||||
ICallFrame * This,
|
||||
/* [in] */ ULONG iparam,
|
||||
/* [in] */ VARIANT *pvar);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetParam )(
|
||||
ICallFrame * This,
|
||||
/* [in] */ ULONG iparam,
|
||||
/* [out] */ VARIANT *pvar);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Copy )(
|
||||
ICallFrame * This,
|
||||
/* [in] */ CALLFRAME_COPY copyControl,
|
||||
/* [in] */ ICallFrameWalker *pWalker,
|
||||
/* [out] */ ICallFrame **ppFrame);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Free )(
|
||||
ICallFrame * This,
|
||||
/* [in] */ ICallFrame *pframeArgsDest,
|
||||
/* [in] */ ICallFrameWalker *pWalkerDestFree,
|
||||
/* [in] */ ICallFrameWalker *pWalkerCopy,
|
||||
/* [in] */ DWORD freeFlags,
|
||||
/* [in] */ ICallFrameWalker *pWalkerFree,
|
||||
/* [in] */ DWORD nullFlags);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *FreeParam )(
|
||||
ICallFrame * This,
|
||||
/* [in] */ ULONG iparam,
|
||||
/* [in] */ DWORD freeFlags,
|
||||
/* [in] */ ICallFrameWalker *pWalkerFree,
|
||||
/* [in] */ DWORD nullFlags);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *WalkFrame )(
|
||||
ICallFrame * This,
|
||||
/* [in] */ DWORD walkWhat,
|
||||
/* [in] */ ICallFrameWalker *pWalker);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetMarshalSizeMax )(
|
||||
ICallFrame * This,
|
||||
/* [in] */ CALLFRAME_MARSHALCONTEXT *pmshlContext,
|
||||
/* [in] */ MSHLFLAGS mshlflags,
|
||||
/* [out] */ ULONG *pcbBufferNeeded);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Marshal )(
|
||||
ICallFrame * This,
|
||||
/* [in] */ CALLFRAME_MARSHALCONTEXT *pmshlContext,
|
||||
/* [in] */ MSHLFLAGS mshlflags,
|
||||
/* [size_is][in] */ PVOID pBuffer,
|
||||
/* [in] */ ULONG cbBuffer,
|
||||
/* [out] */ ULONG *pcbBufferUsed,
|
||||
/* [out] */ RPCOLEDATAREP *pdataRep,
|
||||
/* [out] */ ULONG *prpcFlags);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Unmarshal )(
|
||||
ICallFrame * This,
|
||||
/* [size_is][in] */ PVOID pBuffer,
|
||||
/* [in] */ ULONG cbBuffer,
|
||||
/* [in] */ RPCOLEDATAREP dataRep,
|
||||
/* [in] */ CALLFRAME_MARSHALCONTEXT *pcontext,
|
||||
/* [out] */ ULONG *pcbUnmarshalled);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *ReleaseMarshalData )(
|
||||
ICallFrame * This,
|
||||
/* [size_is][in] */ PVOID pBuffer,
|
||||
/* [in] */ ULONG cbBuffer,
|
||||
/* [in] */ ULONG ibFirstRelease,
|
||||
/* [in] */ RPCOLEDATAREP dataRep,
|
||||
/* [in] */ CALLFRAME_MARSHALCONTEXT *pcontext);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
ICallFrame * This,
|
||||
/* [in] */ void *pvReceiver,
|
||||
...);
|
||||
|
||||
END_INTERFACE
|
||||
} ICallFrameVtbl;
|
||||
@@ -0,0 +1,22 @@
|
||||
typedef struct ICallFrameEventsVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ICallFrameEvents * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ICallFrameEvents * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ICallFrameEvents * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *OnCall )(
|
||||
ICallFrameEvents * This,
|
||||
/* [in] */ ICallFrame *pFrame);
|
||||
|
||||
END_INTERFACE
|
||||
} ICallFrameEventsVtbl;
|
||||
@@ -0,0 +1,25 @@
|
||||
typedef struct ICallFrameWalkerVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ICallFrameWalker * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ICallFrameWalker * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ICallFrameWalker * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *OnWalkInterface )(
|
||||
ICallFrameWalker * This,
|
||||
/* [in] */ REFIID iid,
|
||||
/* [in] */ PVOID *ppvInterface,
|
||||
/* [in] */ BOOL fIn,
|
||||
/* [in] */ BOOL fOut);
|
||||
|
||||
END_INTERFACE
|
||||
} ICallFrameWalkerVtbl;
|
||||
@@ -0,0 +1,56 @@
|
||||
typedef struct ICallInterceptorVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ICallInterceptor * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ICallInterceptor * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ICallInterceptor * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *CallIndirect )(
|
||||
ICallInterceptor * This,
|
||||
/* [out] */ HRESULT *phrReturn,
|
||||
/* [in] */ ULONG iMethod,
|
||||
/* [in] */ void *pvArgs,
|
||||
/* [out] */ ULONG *cbArgs);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetMethodInfo )(
|
||||
ICallInterceptor * This,
|
||||
/* [in] */ ULONG iMethod,
|
||||
/* [out] */ CALLFRAMEINFO *pInfo,
|
||||
/* [annotation][out] */
|
||||
__deref_out_opt LPWSTR *pwszMethod);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetStackSize )(
|
||||
ICallInterceptor * This,
|
||||
/* [in] */ ULONG iMethod,
|
||||
/* [out] */ ULONG *cbArgs);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIID )(
|
||||
ICallInterceptor * This,
|
||||
/* [annotation][out] */
|
||||
__out_opt IID *piid,
|
||||
/* [annotation][out] */
|
||||
__out_opt BOOL *pfDerivesFromIDispatch,
|
||||
/* [annotation][out] */
|
||||
__out_opt ULONG *pcMethod,
|
||||
/* [annotation][out] */
|
||||
__deref_out_opt LPWSTR *pwszInterface);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *RegisterSink )(
|
||||
ICallInterceptor * This,
|
||||
/* [in] */ ICallFrameEvents *psink);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetRegisteredSink )(
|
||||
ICallInterceptor * This,
|
||||
/* [out] */ ICallFrameEvents **ppsink);
|
||||
|
||||
END_INTERFACE
|
||||
} ICallInterceptorVtbl;
|
||||
@@ -0,0 +1,39 @@
|
||||
typedef struct IEnumBackgroundCopyFilesVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IEnumBackgroundCopyFiles * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IEnumBackgroundCopyFiles * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IEnumBackgroundCopyFiles * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Next )(
|
||||
__RPC__in IEnumBackgroundCopyFiles * This,
|
||||
/* [in] */ ULONG celt,
|
||||
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, pceltFetched ? *pceltFetched : celt) IBackgroundCopyFile **rgelt,
|
||||
/* [unique][out][in] */ __RPC__inout_opt ULONG *pceltFetched);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Skip )(
|
||||
__RPC__in IEnumBackgroundCopyFiles * This,
|
||||
/* [in] */ ULONG celt);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Reset )(
|
||||
__RPC__in IEnumBackgroundCopyFiles * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Clone )(
|
||||
__RPC__in IEnumBackgroundCopyFiles * This,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumBackgroundCopyFiles **ppenum);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetCount )(
|
||||
__RPC__in IEnumBackgroundCopyFiles * This,
|
||||
/* [out] */ __RPC__out ULONG *puCount);
|
||||
|
||||
END_INTERFACE
|
||||
} IEnumBackgroundCopyFilesVtbl;
|
||||
@@ -0,0 +1,39 @@
|
||||
typedef struct IEnumBackgroundCopyJobsVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IEnumBackgroundCopyJobs * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IEnumBackgroundCopyJobs * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IEnumBackgroundCopyJobs * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Next )(
|
||||
__RPC__in IEnumBackgroundCopyJobs * This,
|
||||
/* [in] */ ULONG celt,
|
||||
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, pceltFetched ? *pceltFetched : celt) IBackgroundCopyJob **rgelt,
|
||||
/* [unique][out][in] */ __RPC__inout_opt ULONG *pceltFetched);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Skip )(
|
||||
__RPC__in IEnumBackgroundCopyJobs * This,
|
||||
/* [in] */ ULONG celt);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Reset )(
|
||||
__RPC__in IEnumBackgroundCopyJobs * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Clone )(
|
||||
__RPC__in IEnumBackgroundCopyJobs * This,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumBackgroundCopyJobs **ppenum);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetCount )(
|
||||
__RPC__in IEnumBackgroundCopyJobs * This,
|
||||
/* [out] */ __RPC__out ULONG *puCount);
|
||||
|
||||
END_INTERFACE
|
||||
} IEnumBackgroundCopyJobsVtbl;
|
||||
@@ -0,0 +1,43 @@
|
||||
typedef struct IPersistFileVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IPersistFile * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IPersistFile * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IPersistFile * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetClassID )(
|
||||
__RPC__in IPersistFile * This,
|
||||
/* [out] */ __RPC__out CLSID *pClassID);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *IsDirty )(
|
||||
__RPC__in IPersistFile * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Load )(
|
||||
__RPC__in IPersistFile * This,
|
||||
/* [in] */ __RPC__in LPCOLESTR pszFileName,
|
||||
/* [in] */ DWORD dwMode);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Save )(
|
||||
__RPC__in IPersistFile * This,
|
||||
/* [unique][in] */ __RPC__in_opt LPCOLESTR pszFileName,
|
||||
/* [in] */ BOOL fRemember);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SaveCompleted )(
|
||||
__RPC__in IPersistFile * This,
|
||||
/* [unique][in] */ __RPC__in_opt LPCOLESTR pszFileName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetCurFile )(
|
||||
__RPC__in IPersistFile * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPOLESTR *ppszFileName);
|
||||
|
||||
END_INTERFACE
|
||||
} IPersistFileVtbl;
|
||||
@@ -0,0 +1,101 @@
|
||||
typedef struct IShellLinkAVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IShellLinkA * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IShellLinkA * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetPath )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPSTR pszFile,
|
||||
/* [in] */ int cch,
|
||||
/* [unique][out][in] */ __RPC__inout_opt WIN32_FIND_DATAA *pfd,
|
||||
/* [in] */ DWORD fFlags);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDList )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [out] */ __RPC__deref_out_opt PIDLIST_ABSOLUTE *ppidl);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetIDList )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [in] */ __RPC__in PCIDLIST_ABSOLUTE pidl);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetDescription )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPSTR pszName,
|
||||
/* [in] */ int cch);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetDescription )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [string][in] */ __RPC__in_string LPCSTR pszName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetWorkingDirectory )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPSTR pszDir,
|
||||
/* [in] */ int cch);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetWorkingDirectory )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [string][in] */ __RPC__in_string LPCSTR pszDir);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetArguments )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPSTR pszArgs,
|
||||
/* [in] */ int cch);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetArguments )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [string][in] */ __RPC__in_string LPCSTR pszArgs);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetHotkey )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [out] */ __RPC__out WORD *pwHotkey);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetHotkey )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [in] */ WORD wHotkey);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetShowCmd )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [out] */ __RPC__out int *piShowCmd);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetShowCmd )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [in] */ int iShowCmd);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIconLocation )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPSTR pszIconPath,
|
||||
/* [in] */ int cch,
|
||||
/* [out] */ __RPC__out int *piIcon);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetIconLocation )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [string][in] */ __RPC__in_string LPCSTR pszIconPath,
|
||||
/* [in] */ int iIcon);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetRelativePath )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [string][in] */ __RPC__in_string LPCSTR pszPathRel,
|
||||
/* [in] */ DWORD dwReserved);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Resolve )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [unique][in] */ __RPC__in_opt HWND hwnd,
|
||||
/* [in] */ DWORD fFlags);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetPath )(
|
||||
__RPC__in IShellLinkA * This,
|
||||
/* [string][in] */ __RPC__in_string LPCSTR pszFile);
|
||||
|
||||
END_INTERFACE
|
||||
} IShellLinkAVtbl;
|
||||
@@ -0,0 +1,101 @@
|
||||
typedef struct IShellLinkWVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IShellLinkW * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IShellLinkW * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetPath )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPWSTR pszFile,
|
||||
/* [in] */ int cch,
|
||||
/* [unique][out][in] */ __RPC__inout_opt WIN32_FIND_DATAW *pfd,
|
||||
/* [in] */ DWORD fFlags);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDList )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [out] */ __RPC__deref_out_opt PIDLIST_ABSOLUTE *ppidl);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetIDList )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [unique][in] */ __RPC__in_opt PCIDLIST_ABSOLUTE pidl);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetDescription )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPWSTR pszName,
|
||||
int cch);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetDescription )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [string][in] */ __RPC__in_string LPCWSTR pszName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetWorkingDirectory )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPWSTR pszDir,
|
||||
int cch);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetWorkingDirectory )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [string][in] */ __RPC__in_string LPCWSTR pszDir);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetArguments )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPWSTR pszArgs,
|
||||
/* [in] */ int cch);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetArguments )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [string][in] */ __RPC__in_string LPCWSTR pszArgs);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetHotkey )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [out] */ __RPC__out WORD *pwHotkey);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetHotkey )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [in] */ WORD wHotkey);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetShowCmd )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [out] */ __RPC__out int *piShowCmd);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetShowCmd )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [in] */ int iShowCmd);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIconLocation )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPWSTR pszIconPath,
|
||||
/* [in] */ int cch,
|
||||
/* [out] */ __RPC__out int *piIcon);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetIconLocation )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [string][in] */ __RPC__in_string LPCWSTR pszIconPath,
|
||||
/* [in] */ int iIcon);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetRelativePath )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [string][in] */ __RPC__in_string LPCWSTR pszPathRel,
|
||||
/* [in] */ DWORD dwReserved);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Resolve )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [unique][in] */ __RPC__in_opt HWND hwnd,
|
||||
/* [in] */ DWORD fFlags);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetPath )(
|
||||
__RPC__in IShellLinkW * This,
|
||||
/* [string][in] */ __RPC__in_string LPCWSTR pszFile);
|
||||
|
||||
END_INTERFACE
|
||||
} IShellLinkWVtbl;
|
||||
@@ -0,0 +1,59 @@
|
||||
typedef struct IActionVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IAction * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IAction * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IAction * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
IAction * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
IAction * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
IAction * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
IAction * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )(
|
||||
IAction * This,
|
||||
/* [retval][out] */ BSTR *pId);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Id )(
|
||||
IAction * This,
|
||||
/* [in] */ BSTR Id);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )(
|
||||
IAction * This,
|
||||
/* [retval][out] */ TASK_ACTION_TYPE *pType);
|
||||
|
||||
END_INTERFACE
|
||||
} IActionVtbl;
|
||||
@@ -0,0 +1,88 @@
|
||||
typedef struct IActionCollectionVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IActionCollection * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IActionCollection * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IActionCollection * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
IActionCollection * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
IActionCollection * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
IActionCollection * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
IActionCollection * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
|
||||
IActionCollection * This,
|
||||
/* [retval][out] */ long *pCount);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )(
|
||||
IActionCollection * This,
|
||||
/* [in] */ long index,
|
||||
/* [retval][out] */ IAction **ppAction);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
|
||||
IActionCollection * This,
|
||||
/* [retval][out] */ IUnknown **ppEnum);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_XmlText )(
|
||||
IActionCollection * This,
|
||||
/* [retval][out] */ BSTR *pText);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_XmlText )(
|
||||
IActionCollection * This,
|
||||
/* [in] */ BSTR text);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Create )(
|
||||
IActionCollection * This,
|
||||
/* [in] */ TASK_ACTION_TYPE type,
|
||||
/* [retval][out] */ IAction **ppAction);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )(
|
||||
IActionCollection * This,
|
||||
/* [in] */ VARIANT index);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )(
|
||||
IActionCollection * This);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Context )(
|
||||
IActionCollection * This,
|
||||
/* [retval][out] */ BSTR *pContext);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Context )(
|
||||
IActionCollection * This,
|
||||
/* [in] */ BSTR context);
|
||||
|
||||
END_INTERFACE
|
||||
} IActionCollectionVtbl;
|
||||
@@ -0,0 +1,75 @@
|
||||
typedef struct IComHandlerActionVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IComHandlerAction * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IComHandlerAction * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IComHandlerAction * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
IComHandlerAction * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
IComHandlerAction * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
IComHandlerAction * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
IComHandlerAction * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )(
|
||||
IComHandlerAction * This,
|
||||
/* [retval][out] */ BSTR *pId);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Id )(
|
||||
IComHandlerAction * This,
|
||||
/* [in] */ BSTR Id);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )(
|
||||
IComHandlerAction * This,
|
||||
/* [retval][out] */ TASK_ACTION_TYPE *pType);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )(
|
||||
IComHandlerAction * This,
|
||||
/* [retval][out] */ BSTR *pClsid);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClassId )(
|
||||
IComHandlerAction * This,
|
||||
/* [in] */ BSTR clsid);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Data )(
|
||||
IComHandlerAction * This,
|
||||
/* [retval][out] */ BSTR *pData);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Data )(
|
||||
IComHandlerAction * This,
|
||||
/* [in] */ BSTR data);
|
||||
|
||||
END_INTERFACE
|
||||
} IComHandlerActionVtbl;
|
||||
@@ -0,0 +1,139 @@
|
||||
typedef struct IEmailActionVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IEmailAction * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IEmailAction * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IEmailAction * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
IEmailAction * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
IEmailAction * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
IEmailAction * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
IEmailAction * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )(
|
||||
IEmailAction * This,
|
||||
/* [retval][out] */ BSTR *pId);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Id )(
|
||||
IEmailAction * This,
|
||||
/* [in] */ BSTR Id);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )(
|
||||
IEmailAction * This,
|
||||
/* [retval][out] */ TASK_ACTION_TYPE *pType);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )(
|
||||
IEmailAction * This,
|
||||
/* [retval][out] */ BSTR *pServer);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )(
|
||||
IEmailAction * This,
|
||||
/* [in] */ BSTR server);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Subject )(
|
||||
IEmailAction * This,
|
||||
/* [retval][out] */ BSTR *pSubject);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Subject )(
|
||||
IEmailAction * This,
|
||||
/* [in] */ BSTR subject);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_To )(
|
||||
IEmailAction * This,
|
||||
/* [retval][out] */ BSTR *pTo);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_To )(
|
||||
IEmailAction * This,
|
||||
/* [in] */ BSTR to);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Cc )(
|
||||
IEmailAction * This,
|
||||
/* [retval][out] */ BSTR *pCc);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Cc )(
|
||||
IEmailAction * This,
|
||||
/* [in] */ BSTR cc);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Bcc )(
|
||||
IEmailAction * This,
|
||||
/* [retval][out] */ BSTR *pBcc);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Bcc )(
|
||||
IEmailAction * This,
|
||||
/* [in] */ BSTR bcc);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReplyTo )(
|
||||
IEmailAction * This,
|
||||
/* [retval][out] */ BSTR *pReplyTo);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ReplyTo )(
|
||||
IEmailAction * This,
|
||||
/* [in] */ BSTR replyTo);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_From )(
|
||||
IEmailAction * This,
|
||||
/* [retval][out] */ BSTR *pFrom);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_From )(
|
||||
IEmailAction * This,
|
||||
/* [in] */ BSTR from);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HeaderFields )(
|
||||
IEmailAction * This,
|
||||
/* [retval][out] */ ITaskNamedValueCollection **ppHeaderFields);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HeaderFields )(
|
||||
IEmailAction * This,
|
||||
/* [in] */ ITaskNamedValueCollection *pHeaderFields);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Body )(
|
||||
IEmailAction * This,
|
||||
/* [retval][out] */ BSTR *pBody);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Body )(
|
||||
IEmailAction * This,
|
||||
/* [in] */ BSTR body);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Attachments )(
|
||||
IEmailAction * This,
|
||||
/* [retval][out] */ SAFEARRAY * *pAttachements);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Attachments )(
|
||||
IEmailAction * This,
|
||||
/* [max_is][in] */ SAFEARRAY * pAttachements);
|
||||
|
||||
END_INTERFACE
|
||||
} IEmailActionVtbl;
|
||||
@@ -0,0 +1,83 @@
|
||||
typedef struct IExecActionVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IExecAction * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IExecAction * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IExecAction * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
IExecAction * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
IExecAction * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
IExecAction * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
IExecAction * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )(
|
||||
IExecAction * This,
|
||||
/* [retval][out] */ BSTR *pId);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Id )(
|
||||
IExecAction * This,
|
||||
/* [in] */ BSTR Id);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )(
|
||||
IExecAction * This,
|
||||
/* [retval][out] */ TASK_ACTION_TYPE *pType);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Path )(
|
||||
IExecAction * This,
|
||||
/* [retval][out] */ BSTR *pPath);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Path )(
|
||||
IExecAction * This,
|
||||
/* [in] */ BSTR path);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Arguments )(
|
||||
IExecAction * This,
|
||||
/* [retval][out] */ BSTR *pArgument);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Arguments )(
|
||||
IExecAction * This,
|
||||
/* [in] */ BSTR argument);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WorkingDirectory )(
|
||||
IExecAction * This,
|
||||
/* [retval][out] */ BSTR *pWorkingDirectory);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WorkingDirectory )(
|
||||
IExecAction * This,
|
||||
/* [in] */ BSTR workingDirectory);
|
||||
|
||||
END_INTERFACE
|
||||
} IExecActionVtbl;
|
||||
@@ -0,0 +1,79 @@
|
||||
typedef struct IIdleSettingsVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IIdleSettings * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IIdleSettings * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IIdleSettings * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
IIdleSettings * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
IIdleSettings * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
IIdleSettings * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
IIdleSettings * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IdleDuration )(
|
||||
IIdleSettings * This,
|
||||
/* [retval][out] */ BSTR *pDelay);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IdleDuration )(
|
||||
IIdleSettings * This,
|
||||
/* [in] */ BSTR delay);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WaitTimeout )(
|
||||
IIdleSettings * This,
|
||||
/* [retval][out] */ BSTR *pTimeout);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WaitTimeout )(
|
||||
IIdleSettings * This,
|
||||
/* [in] */ BSTR timeout);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StopOnIdleEnd )(
|
||||
IIdleSettings * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pStop);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StopOnIdleEnd )(
|
||||
IIdleSettings * This,
|
||||
/* [in] */ VARIANT_BOOL stop);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RestartOnIdle )(
|
||||
IIdleSettings * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pRestart);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RestartOnIdle )(
|
||||
IIdleSettings * This,
|
||||
/* [in] */ VARIANT_BOOL restart);
|
||||
|
||||
END_INTERFACE
|
||||
} IIdleSettingsVtbl;
|
||||
@@ -0,0 +1,63 @@
|
||||
typedef struct INetworkSettingsVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
INetworkSettings * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
INetworkSettings * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
INetworkSettings * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
INetworkSettings * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
INetworkSettings * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
INetworkSettings * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
INetworkSettings * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
|
||||
INetworkSettings * This,
|
||||
/* [retval][out] */ BSTR *pName);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )(
|
||||
INetworkSettings * This,
|
||||
/* [in] */ BSTR name);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )(
|
||||
INetworkSettings * This,
|
||||
/* [retval][out] */ BSTR *pId);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Id )(
|
||||
INetworkSettings * This,
|
||||
/* [in] */ BSTR id);
|
||||
|
||||
END_INTERFACE
|
||||
} INetworkSettingsVtbl;
|
||||
@@ -0,0 +1,95 @@
|
||||
typedef struct IPrincipalVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IPrincipal * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IPrincipal * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IPrincipal * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
IPrincipal * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
IPrincipal * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
IPrincipal * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
IPrincipal * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )(
|
||||
IPrincipal * This,
|
||||
/* [retval][out] */ BSTR *pId);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Id )(
|
||||
IPrincipal * This,
|
||||
/* [in] */ BSTR Id);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )(
|
||||
IPrincipal * This,
|
||||
/* [retval][out] */ BSTR *pName);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayName )(
|
||||
IPrincipal * This,
|
||||
/* [in] */ BSTR name);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserId )(
|
||||
IPrincipal * This,
|
||||
/* [retval][out] */ BSTR *pUser);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserId )(
|
||||
IPrincipal * This,
|
||||
/* [in] */ BSTR user);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LogonType )(
|
||||
IPrincipal * This,
|
||||
/* [retval][out] */ TASK_LOGON_TYPE *pLogon);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LogonType )(
|
||||
IPrincipal * This,
|
||||
/* [in] */ TASK_LOGON_TYPE logon);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GroupId )(
|
||||
IPrincipal * This,
|
||||
/* [retval][out] */ BSTR *pGroup);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GroupId )(
|
||||
IPrincipal * This,
|
||||
/* [in] */ BSTR group);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RunLevel )(
|
||||
IPrincipal * This,
|
||||
/* [retval][out] */ TASK_RUNLEVEL_TYPE *pRunLevel);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RunLevel )(
|
||||
IPrincipal * This,
|
||||
/* [in] */ TASK_RUNLEVEL_TYPE runLevel);
|
||||
|
||||
END_INTERFACE
|
||||
} IPrincipalVtbl;
|
||||
@@ -0,0 +1,130 @@
|
||||
typedef struct IRegisteredTaskVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IRegisteredTask * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IRegisteredTask * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [out] */ __RPC__out UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
|
||||
/* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
IRegisteredTask * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *pName);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *pPath);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [retval][out] */ __RPC__out TASK_STATE *pState);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *pEnabled);
|
||||
|
||||
/* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
VARIANT_BOOL enabled);
|
||||
|
||||
/* [id] */ HRESULT ( STDMETHODCALLTYPE *Run )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [in] */ VARIANT params,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IRunningTask **ppRunningTask);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RunEx )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [in] */ VARIANT params,
|
||||
/* [in] */ LONG flags,
|
||||
/* [in] */ LONG sessionID,
|
||||
/* [in] */ __RPC__in BSTR user,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IRunningTask **ppRunningTask);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetInstances )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [in] */ LONG flags,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IRunningTaskCollection **ppRunningTasks);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LastRunTime )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [retval][out] */ __RPC__out DATE *pLastRunTime);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LastTaskResult )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [retval][out] */ __RPC__out LONG *pLastTaskResult);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfMissedRuns )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [retval][out] */ __RPC__out LONG *pNumberOfMissedRuns);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NextRunTime )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [retval][out] */ __RPC__out DATE *pNextRunTime);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Definition )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt ITaskDefinition **ppDefinition);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Xml )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *pXml);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSecurityDescriptor )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [in] */ LONG securityInformation,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *pSddl);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetSecurityDescriptor )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [in] */ __RPC__in BSTR sddl,
|
||||
/* [in] */ LONG flags);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Stop )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [in] */ LONG flags);
|
||||
|
||||
/* [helpstring][hidden][restricted] */ HRESULT ( STDMETHODCALLTYPE *GetRunTimes )(
|
||||
__RPC__in IRegisteredTask * This,
|
||||
/* [in] */ __RPC__in const LPSYSTEMTIME pstStart,
|
||||
/* [in] */ __RPC__in const LPSYSTEMTIME pstEnd,
|
||||
/* [out][in] */ __RPC__inout DWORD *pCount,
|
||||
/* [out] */ __RPC__deref_out_opt LPSYSTEMTIME *pRunTimes);
|
||||
|
||||
END_INTERFACE
|
||||
} IRegisteredTaskVtbl;
|
||||
@@ -0,0 +1,60 @@
|
||||
typedef struct IRegisteredTaskCollectionVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IRegisteredTaskCollection * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IRegisteredTaskCollection * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IRegisteredTaskCollection * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
__RPC__in IRegisteredTaskCollection * This,
|
||||
/* [out] */ __RPC__out UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
__RPC__in IRegisteredTaskCollection * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
__RPC__in IRegisteredTaskCollection * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
|
||||
/* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
IRegisteredTaskCollection * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
|
||||
__RPC__in IRegisteredTaskCollection * This,
|
||||
/* [retval][out] */ __RPC__out LONG *pCount);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )(
|
||||
__RPC__in IRegisteredTaskCollection * This,
|
||||
/* [in] */ VARIANT index,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IRegisteredTask **ppRegisteredTask);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
|
||||
__RPC__in IRegisteredTaskCollection * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IUnknown **ppEnum);
|
||||
|
||||
END_INTERFACE
|
||||
} IRegisteredTaskCollectionVtbl;
|
||||
@@ -0,0 +1,119 @@
|
||||
typedef struct IRegistrationInfoVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IRegistrationInfo * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IRegistrationInfo * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IRegistrationInfo * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
IRegistrationInfo * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
IRegistrationInfo * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
IRegistrationInfo * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
IRegistrationInfo * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )(
|
||||
IRegistrationInfo * This,
|
||||
/* [retval][out] */ BSTR *pDescription);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Description )(
|
||||
IRegistrationInfo * This,
|
||||
/* [in] */ BSTR description);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Author )(
|
||||
IRegistrationInfo * This,
|
||||
/* [retval][out] */ BSTR *pAuthor);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Author )(
|
||||
IRegistrationInfo * This,
|
||||
/* [in] */ BSTR author);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )(
|
||||
IRegistrationInfo * This,
|
||||
/* [retval][out] */ BSTR *pVersion);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Version )(
|
||||
IRegistrationInfo * This,
|
||||
/* [in] */ BSTR version);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Date )(
|
||||
IRegistrationInfo * This,
|
||||
/* [retval][out] */ BSTR *pDate);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Date )(
|
||||
IRegistrationInfo * This,
|
||||
/* [in] */ BSTR date);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Documentation )(
|
||||
IRegistrationInfo * This,
|
||||
/* [retval][out] */ BSTR *pDocumentation);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Documentation )(
|
||||
IRegistrationInfo * This,
|
||||
/* [in] */ BSTR documentation);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_XmlText )(
|
||||
IRegistrationInfo * This,
|
||||
/* [retval][out] */ BSTR *pText);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_XmlText )(
|
||||
IRegistrationInfo * This,
|
||||
/* [in] */ BSTR text);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URI )(
|
||||
IRegistrationInfo * This,
|
||||
/* [retval][out] */ BSTR *pUri);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_URI )(
|
||||
IRegistrationInfo * This,
|
||||
/* [in] */ BSTR uri);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecurityDescriptor )(
|
||||
IRegistrationInfo * This,
|
||||
/* [retval][out] */ VARIANT *pSddl);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SecurityDescriptor )(
|
||||
IRegistrationInfo * This,
|
||||
/* [in] */ VARIANT sddl);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Source )(
|
||||
IRegistrationInfo * This,
|
||||
/* [retval][out] */ BSTR *pSource);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Source )(
|
||||
IRegistrationInfo * This,
|
||||
/* [in] */ BSTR source);
|
||||
|
||||
END_INTERFACE
|
||||
} IRegistrationInfoVtbl;
|
||||
@@ -0,0 +1,71 @@
|
||||
typedef struct IRepetitionPatternVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IRepetitionPattern * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IRepetitionPattern * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IRepetitionPattern * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
IRepetitionPattern * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
IRepetitionPattern * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
IRepetitionPattern * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
IRepetitionPattern * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Interval )(
|
||||
IRepetitionPattern * This,
|
||||
/* [retval][out] */ BSTR *pInterval);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Interval )(
|
||||
IRepetitionPattern * This,
|
||||
/* [in] */ BSTR interval);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )(
|
||||
IRepetitionPattern * This,
|
||||
/* [retval][out] */ BSTR *pDuration);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Duration )(
|
||||
IRepetitionPattern * This,
|
||||
/* [in] */ BSTR duration);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StopAtDurationEnd )(
|
||||
IRepetitionPattern * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pStop);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StopAtDurationEnd )(
|
||||
IRepetitionPattern * This,
|
||||
/* [in] */ VARIANT_BOOL stop);
|
||||
|
||||
END_INTERFACE
|
||||
} IRepetitionPatternVtbl;
|
||||
@@ -0,0 +1,77 @@
|
||||
typedef struct IRunningTaskVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IRunningTask * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IRunningTask * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IRunningTask * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
__RPC__in IRunningTask * This,
|
||||
/* [out] */ __RPC__out UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
__RPC__in IRunningTask * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
__RPC__in IRunningTask * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
|
||||
/* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
IRunningTask * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
|
||||
__RPC__in IRunningTask * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *pName);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InstanceGuid )(
|
||||
__RPC__in IRunningTask * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *pGuid);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )(
|
||||
__RPC__in IRunningTask * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *pPath);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )(
|
||||
__RPC__in IRunningTask * This,
|
||||
/* [retval][out] */ __RPC__out TASK_STATE *pState);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentAction )(
|
||||
__RPC__in IRunningTask * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *pName);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Stop )(
|
||||
__RPC__in IRunningTask * This);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Refresh )(
|
||||
__RPC__in IRunningTask * This);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnginePID )(
|
||||
__RPC__in IRunningTask * This,
|
||||
/* [retval][out] */ __RPC__out DWORD *pPID);
|
||||
|
||||
END_INTERFACE
|
||||
} IRunningTaskVtbl;
|
||||
@@ -0,0 +1,60 @@
|
||||
typedef struct IRunningTaskCollectionVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IRunningTaskCollection * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IRunningTaskCollection * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IRunningTaskCollection * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
__RPC__in IRunningTaskCollection * This,
|
||||
/* [out] */ __RPC__out UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
__RPC__in IRunningTaskCollection * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
__RPC__in IRunningTaskCollection * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
|
||||
/* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
IRunningTaskCollection * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
|
||||
__RPC__in IRunningTaskCollection * This,
|
||||
/* [retval][out] */ __RPC__out LONG *pCount);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )(
|
||||
__RPC__in IRunningTaskCollection * This,
|
||||
/* [in] */ VARIANT index,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IRunningTask **ppRunningTask);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
|
||||
__RPC__in IRunningTaskCollection * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IUnknown **ppEnum);
|
||||
|
||||
END_INTERFACE
|
||||
} IRunningTaskCollectionVtbl;
|
||||
@@ -0,0 +1,75 @@
|
||||
typedef struct IShowMessageActionVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IShowMessageAction * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IShowMessageAction * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IShowMessageAction * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
IShowMessageAction * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
IShowMessageAction * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
IShowMessageAction * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
IShowMessageAction * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )(
|
||||
IShowMessageAction * This,
|
||||
/* [retval][out] */ BSTR *pId);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Id )(
|
||||
IShowMessageAction * This,
|
||||
/* [in] */ BSTR Id);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )(
|
||||
IShowMessageAction * This,
|
||||
/* [retval][out] */ TASK_ACTION_TYPE *pType);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )(
|
||||
IShowMessageAction * This,
|
||||
/* [retval][out] */ BSTR *pTitle);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Title )(
|
||||
IShowMessageAction * This,
|
||||
/* [in] */ BSTR title);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MessageBody )(
|
||||
IShowMessageAction * This,
|
||||
/* [retval][out] */ BSTR *pMessageBody);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MessageBody )(
|
||||
IShowMessageAction * This,
|
||||
/* [in] */ BSTR messageBody);
|
||||
|
||||
END_INTERFACE
|
||||
} IShowMessageActionVtbl;
|
||||
@@ -0,0 +1,103 @@
|
||||
typedef struct ITaskDefinitionVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ITaskDefinition * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ITaskDefinition * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ITaskDefinition * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
ITaskDefinition * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
ITaskDefinition * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
ITaskDefinition * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
ITaskDefinition * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegistrationInfo )(
|
||||
ITaskDefinition * This,
|
||||
/* [retval][out] */ IRegistrationInfo **ppRegistrationInfo);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RegistrationInfo )(
|
||||
ITaskDefinition * This,
|
||||
/* [in] */ IRegistrationInfo *pRegistrationInfo);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Triggers )(
|
||||
ITaskDefinition * This,
|
||||
/* [retval][out] */ ITriggerCollection **ppTriggers);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Triggers )(
|
||||
ITaskDefinition * This,
|
||||
/* [in] */ ITriggerCollection *pTriggers);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )(
|
||||
ITaskDefinition * This,
|
||||
/* [retval][out] */ ITaskSettings **ppSettings);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Settings )(
|
||||
ITaskDefinition * This,
|
||||
/* [in] */ ITaskSettings *pSettings);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Data )(
|
||||
ITaskDefinition * This,
|
||||
/* [retval][out] */ BSTR *pData);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Data )(
|
||||
ITaskDefinition * This,
|
||||
/* [in] */ BSTR data);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Principal )(
|
||||
ITaskDefinition * This,
|
||||
/* [retval][out] */ IPrincipal **ppPrincipal);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Principal )(
|
||||
ITaskDefinition * This,
|
||||
/* [in] */ IPrincipal *pPrincipal);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Actions )(
|
||||
ITaskDefinition * This,
|
||||
/* [retval][out] */ IActionCollection **ppActions);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Actions )(
|
||||
ITaskDefinition * This,
|
||||
/* [in] */ IActionCollection *pActions);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_XmlText )(
|
||||
ITaskDefinition * This,
|
||||
/* [retval][out] */ BSTR *pXml);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_XmlText )(
|
||||
ITaskDefinition * This,
|
||||
/* [in] */ BSTR xml);
|
||||
|
||||
END_INTERFACE
|
||||
} ITaskDefinitionVtbl;
|
||||
@@ -0,0 +1,123 @@
|
||||
typedef struct ITaskFolderVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in ITaskFolder * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in ITaskFolder * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
/* [out] */ __RPC__out UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
|
||||
/* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
ITaskFolder * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *pName);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *pPath);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetFolder )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
__RPC__in BSTR path,
|
||||
/* [retval][out] */ __RPC__deref_out_opt ITaskFolder **ppFolder);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetFolders )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
/* [in] */ LONG flags,
|
||||
/* [retval][out] */ __RPC__deref_out_opt ITaskFolderCollection **ppFolders);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateFolder )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
/* [in] */ __RPC__in BSTR subFolderName,
|
||||
/* [optional][in] */ VARIANT sddl,
|
||||
/* [retval][out] */ __RPC__deref_out_opt ITaskFolder **ppFolder);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteFolder )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
__RPC__in BSTR subFolderName,
|
||||
/* [in] */ LONG flags);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetTask )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
/* [in] */ __RPC__in BSTR path,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IRegisteredTask **ppTask);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetTasks )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
/* [in] */ LONG flags,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IRegisteredTaskCollection **ppTasks);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteTask )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
/* [in] */ __RPC__in BSTR name,
|
||||
/* [in] */ LONG flags);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RegisterTask )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
/* [in] */ __RPC__in BSTR path,
|
||||
/* [in] */ __RPC__in BSTR xmlText,
|
||||
/* [in] */ LONG flags,
|
||||
/* [in] */ VARIANT userId,
|
||||
/* [in] */ VARIANT password,
|
||||
/* [in] */ TASK_LOGON_TYPE logonType,
|
||||
/* [optional][in] */ VARIANT sddl,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IRegisteredTask **ppTask);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RegisterTaskDefinition )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
/* [in] */ __RPC__in BSTR path,
|
||||
/* [in] */ __RPC__in_opt ITaskDefinition *pDefinition,
|
||||
/* [in] */ LONG flags,
|
||||
/* [in] */ VARIANT userId,
|
||||
/* [in] */ VARIANT password,
|
||||
/* [in] */ TASK_LOGON_TYPE logonType,
|
||||
/* [optional][in] */ VARIANT sddl,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IRegisteredTask **ppTask);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSecurityDescriptor )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
LONG securityInformation,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *pSddl);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetSecurityDescriptor )(
|
||||
__RPC__in ITaskFolder * This,
|
||||
/* [in] */ __RPC__in BSTR sddl,
|
||||
/* [in] */ LONG flags);
|
||||
|
||||
END_INTERFACE
|
||||
} ITaskFolderVtbl;
|
||||
@@ -0,0 +1,60 @@
|
||||
typedef struct ITaskFolderCollectionVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in ITaskFolderCollection * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in ITaskFolderCollection * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in ITaskFolderCollection * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
__RPC__in ITaskFolderCollection * This,
|
||||
/* [out] */ __RPC__out UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
__RPC__in ITaskFolderCollection * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
__RPC__in ITaskFolderCollection * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
|
||||
/* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
ITaskFolderCollection * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
|
||||
__RPC__in ITaskFolderCollection * This,
|
||||
/* [retval][out] */ __RPC__out LONG *pCount);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )(
|
||||
__RPC__in ITaskFolderCollection * This,
|
||||
/* [in] */ VARIANT index,
|
||||
/* [retval][out] */ __RPC__deref_out_opt ITaskFolder **ppFolder);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
|
||||
__RPC__in ITaskFolderCollection * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IUnknown **ppEnum);
|
||||
|
||||
END_INTERFACE
|
||||
} ITaskFolderCollectionVtbl;
|
||||
@@ -0,0 +1,73 @@
|
||||
typedef struct ITaskNamedValueCollectionVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ITaskNamedValueCollection * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ITaskNamedValueCollection * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ITaskNamedValueCollection * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
ITaskNamedValueCollection * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
ITaskNamedValueCollection * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
ITaskNamedValueCollection * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
ITaskNamedValueCollection * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
|
||||
ITaskNamedValueCollection * This,
|
||||
/* [retval][out] */ long *pCount);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )(
|
||||
ITaskNamedValueCollection * This,
|
||||
/* [in] */ LONG index,
|
||||
/* [retval][out] */ ITaskNamedValuePair **ppPair);
|
||||
|
||||
/* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
|
||||
ITaskNamedValueCollection * This,
|
||||
/* [retval][out] */ IUnknown **ppEnum);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Create )(
|
||||
ITaskNamedValueCollection * This,
|
||||
/* [in] */ BSTR name,
|
||||
/* [in] */ BSTR value,
|
||||
/* [retval][out] */ ITaskNamedValuePair **ppPair);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )(
|
||||
ITaskNamedValueCollection * This,
|
||||
/* [in] */ LONG index);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )(
|
||||
ITaskNamedValueCollection * This);
|
||||
|
||||
END_INTERFACE
|
||||
} ITaskNamedValueCollectionVtbl;
|
||||
@@ -0,0 +1,63 @@
|
||||
typedef struct ITaskNamedValuePairVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ITaskNamedValuePair * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ITaskNamedValuePair * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ITaskNamedValuePair * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
ITaskNamedValuePair * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
ITaskNamedValuePair * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
ITaskNamedValuePair * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
ITaskNamedValuePair * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
|
||||
ITaskNamedValuePair * This,
|
||||
/* [retval][out] */ BSTR *pName);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )(
|
||||
ITaskNamedValuePair * This,
|
||||
/* [in] */ BSTR name);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Value )(
|
||||
ITaskNamedValuePair * This,
|
||||
/* [retval][out] */ BSTR *pValue);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Value )(
|
||||
ITaskNamedValuePair * This,
|
||||
/* [in] */ BSTR value);
|
||||
|
||||
END_INTERFACE
|
||||
} ITaskNamedValuePairVtbl;
|
||||
@@ -0,0 +1,89 @@
|
||||
typedef struct ITaskServiceVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in ITaskService * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in ITaskService * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in ITaskService * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
__RPC__in ITaskService * This,
|
||||
/* [out] */ __RPC__out UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
__RPC__in ITaskService * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
__RPC__in ITaskService * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames,
|
||||
/* [range][in] */ __RPC__in_range(0,16384) UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
ITaskService * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetFolder )(
|
||||
__RPC__in ITaskService * This,
|
||||
/* [in] */ __RPC__in BSTR path,
|
||||
/* [retval][out] */ __RPC__deref_out_opt ITaskFolder **ppFolder);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetRunningTasks )(
|
||||
__RPC__in ITaskService * This,
|
||||
/* [in] */ LONG flags,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IRunningTaskCollection **ppRunningTasks);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *NewTask )(
|
||||
__RPC__in ITaskService * This,
|
||||
/* [in] */ DWORD flags,
|
||||
/* [retval][out] */ __RPC__deref_out_opt ITaskDefinition **ppDefinition);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Connect )(
|
||||
__RPC__in ITaskService * This,
|
||||
/* [optional][in] */ VARIANT serverName,
|
||||
/* [optional][in] */ VARIANT user,
|
||||
/* [optional][in] */ VARIANT domain,
|
||||
/* [optional][in] */ VARIANT password);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )(
|
||||
__RPC__in ITaskService * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *pConnected);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TargetServer )(
|
||||
__RPC__in ITaskService * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *pServer);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectedUser )(
|
||||
__RPC__in ITaskService * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *pUser);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectedDomain )(
|
||||
__RPC__in ITaskService * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *pDomain);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HighestVersion )(
|
||||
__RPC__in ITaskService * This,
|
||||
/* [retval][out] */ __RPC__out DWORD *pVersion);
|
||||
|
||||
END_INTERFACE
|
||||
} ITaskServiceVtbl;
|
||||
@@ -0,0 +1,207 @@
|
||||
typedef struct ITaskSettingsVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ITaskSettings * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ITaskSettings * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
ITaskSettings * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AllowDemandStart )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pAllowDemandStart);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AllowDemandStart )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ VARIANT_BOOL allowDemandStart);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RestartInterval )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ BSTR *pRestartInterval);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RestartInterval )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ BSTR restartInterval);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RestartCount )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ int *pRestartCount);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RestartCount )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ int restartCount);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MultipleInstances )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ TASK_INSTANCES_POLICY *pPolicy);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MultipleInstances )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ TASK_INSTANCES_POLICY policy);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StopIfGoingOnBatteries )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pStopIfOnBatteries);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StopIfGoingOnBatteries )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ VARIANT_BOOL stopIfOnBatteries);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisallowStartIfOnBatteries )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pDisallowStart);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisallowStartIfOnBatteries )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ VARIANT_BOOL disallowStart);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AllowHardTerminate )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pAllowHardTerminate);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AllowHardTerminate )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ VARIANT_BOOL allowHardTerminate);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartWhenAvailable )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pStartWhenAvailable);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartWhenAvailable )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ VARIANT_BOOL startWhenAvailable);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_XmlText )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ BSTR *pText);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_XmlText )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ BSTR text);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RunOnlyIfNetworkAvailable )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pRunOnlyIfNetworkAvailable);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RunOnlyIfNetworkAvailable )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ VARIANT_BOOL runOnlyIfNetworkAvailable);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExecutionTimeLimit )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ BSTR *pExecutionTimeLimit);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ExecutionTimeLimit )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ BSTR executionTimeLimit);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pEnabled);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ VARIANT_BOOL enabled);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DeleteExpiredTaskAfter )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ BSTR *pExpirationDelay);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DeleteExpiredTaskAfter )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ BSTR expirationDelay);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Priority )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ int *pPriority);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Priority )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ int priority);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compatibility )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ TASK_COMPATIBILITY *pCompatLevel);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compatibility )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ TASK_COMPATIBILITY compatLevel);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hidden )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pHidden);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Hidden )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ VARIANT_BOOL hidden);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IdleSettings )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ IIdleSettings **ppIdleSettings);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IdleSettings )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ IIdleSettings *pIdleSettings);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RunOnlyIfIdle )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pRunOnlyIfIdle);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RunOnlyIfIdle )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ VARIANT_BOOL runOnlyIfIdle);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WakeToRun )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pWake);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WakeToRun )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ VARIANT_BOOL wake);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NetworkSettings )(
|
||||
ITaskSettings * This,
|
||||
/* [retval][out] */ INetworkSettings **ppNetworkSettings);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NetworkSettings )(
|
||||
ITaskSettings * This,
|
||||
/* [in] */ INetworkSettings *pNetworkSettings);
|
||||
|
||||
END_INTERFACE
|
||||
} ITaskSettingsVtbl;
|
||||
@@ -0,0 +1,99 @@
|
||||
typedef struct ITriggerVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ITrigger * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ITrigger * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ITrigger * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
ITrigger * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
ITrigger * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
ITrigger * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
ITrigger * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )(
|
||||
ITrigger * This,
|
||||
/* [retval][out] */ TASK_TRIGGER_TYPE2 *pType);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )(
|
||||
ITrigger * This,
|
||||
/* [retval][out] */ BSTR *pId);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Id )(
|
||||
ITrigger * This,
|
||||
/* [in] */ BSTR id);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Repetition )(
|
||||
ITrigger * This,
|
||||
/* [retval][out] */ IRepetitionPattern **ppRepeat);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Repetition )(
|
||||
ITrigger * This,
|
||||
/* [in] */ IRepetitionPattern *pRepeat);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExecutionTimeLimit )(
|
||||
ITrigger * This,
|
||||
/* [retval][out] */ BSTR *pTimeLimit);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ExecutionTimeLimit )(
|
||||
ITrigger * This,
|
||||
/* [in] */ BSTR timelimit);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartBoundary )(
|
||||
ITrigger * This,
|
||||
/* [retval][out] */ BSTR *pStart);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartBoundary )(
|
||||
ITrigger * This,
|
||||
/* [in] */ BSTR start);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EndBoundary )(
|
||||
ITrigger * This,
|
||||
/* [retval][out] */ BSTR *pEnd);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EndBoundary )(
|
||||
ITrigger * This,
|
||||
/* [in] */ BSTR end);
|
||||
|
||||
/* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )(
|
||||
ITrigger * This,
|
||||
/* [retval][out] */ VARIANT_BOOL *pEnabled);
|
||||
|
||||
/* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )(
|
||||
ITrigger * This,
|
||||
/* [in] */ VARIANT_BOOL enabled);
|
||||
|
||||
END_INTERFACE
|
||||
} ITriggerVtbl;
|
||||
@@ -0,0 +1,72 @@
|
||||
typedef struct ITriggerCollectionVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
ITriggerCollection * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
ITriggerCollection * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
ITriggerCollection * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
ITriggerCollection * This,
|
||||
/* [out] */ UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
ITriggerCollection * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
ITriggerCollection * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [size_is][in] */ LPOLESTR *rgszNames,
|
||||
/* [range][in] */ UINT cNames,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [size_is][out] */ DISPID *rgDispId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
ITriggerCollection * This,
|
||||
/* [in] */ DISPID dispIdMember,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
|
||||
ITriggerCollection * This,
|
||||
/* [retval][out] */ long *pCount);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )(
|
||||
ITriggerCollection * This,
|
||||
/* [in] */ long index,
|
||||
/* [retval][out] */ ITrigger **ppTrigger);
|
||||
|
||||
/* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
|
||||
ITriggerCollection * This,
|
||||
/* [retval][out] */ IUnknown **ppEnum);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Create )(
|
||||
ITriggerCollection * This,
|
||||
/* [in] */ TASK_TRIGGER_TYPE2 type,
|
||||
/* [retval][out] */ ITrigger **ppTrigger);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )(
|
||||
ITriggerCollection * This,
|
||||
/* [in] */ VARIANT index);
|
||||
|
||||
/* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )(
|
||||
ITriggerCollection * This);
|
||||
|
||||
END_INTERFACE
|
||||
} ITriggerCollectionVtbl;
|
||||
@@ -0,0 +1,58 @@
|
||||
import functools
|
||||
import ctypes
|
||||
|
||||
|
||||
generate_IID = IID.from_raw
|
||||
|
||||
|
||||
class COMHRESULT(HRESULT):
|
||||
_type_ = HRESULT._type_
|
||||
def _check_retval_(self):
|
||||
# We CAN NOT try to adapt the self.value and transform it with flags
|
||||
# here, we need to do it with the errcheck
|
||||
# So we have the peer-interface callback system on errcheck :)
|
||||
return self.value # The value will be send to errcheck :)
|
||||
|
||||
class COMInterface(ctypes.c_void_p):
|
||||
_functions_ = {
|
||||
}
|
||||
|
||||
# So COMInterface completely bypass the HRESULT
|
||||
# return value check on restype by setting the restype to COMHRESULT
|
||||
# But we add the 'errcheck' callbakc capacity for all COMInterface and subclasses
|
||||
# So the default implem of the callbakc must have the same behavior as
|
||||
# standard HRESULT restype.
|
||||
# This is why default errcheck callback call ctypes._check_HRESULT
|
||||
def _default_errcheck(self, result, func, args):
|
||||
ctypes._check_HRESULT(result)
|
||||
return args
|
||||
|
||||
def __getattr__(self, name):
|
||||
if name in self._functions_:
|
||||
winfunc = self._functions_[name]
|
||||
# Hacking the HRESULT _check_retval_ and
|
||||
# letting COMInterface.errcheck do the work of validating / raising
|
||||
winfunc.restype = COMHRESULT
|
||||
effective_errcheck = getattr(self, "errcheck", self._default_errcheck)
|
||||
winfunc.errcheck = effective_errcheck
|
||||
return functools.partial(winfunc, self)
|
||||
return super(COMInterface, self).__getattribute__(name)
|
||||
|
||||
def __repr__(self):
|
||||
description = "<NULL>" if not self.value else ""
|
||||
return "<{0}{1} at {2:#x}>".format(type(self).__name__, description, id(self))
|
||||
|
||||
# Simplified API for QueryInterface for interface embeding there IID
|
||||
def query(self, interfacetype):
|
||||
interface = interfacetype()
|
||||
self.QueryInterface(interface.IID, interface)
|
||||
return interface
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
#define CWCSTORAGENAME 32
|
||||
|
||||
/* Storage instantiation modes */
|
||||
#define STGM_DIRECT 0x00000000L
|
||||
#define STGM_TRANSACTED 0x00010000L
|
||||
#define STGM_SIMPLE 0x08000000L
|
||||
|
||||
#define STGM_READ 0x00000000L
|
||||
#define STGM_WRITE 0x00000001L
|
||||
#define STGM_READWRITE 0x00000002L
|
||||
|
||||
#define STGM_SHARE_DENY_NONE 0x00000040L
|
||||
#define STGM_SHARE_DENY_READ 0x00000030L
|
||||
#define STGM_SHARE_DENY_WRITE 0x00000020L
|
||||
#define STGM_SHARE_EXCLUSIVE 0x00000010L
|
||||
|
||||
#define STGM_PRIORITY 0x00040000L
|
||||
#define STGM_DELETEONRELEASE 0x04000000L
|
||||
#define STGM_NOSCRATCH 0x00100000L
|
||||
|
||||
#define STGM_CREATE 0x00001000L
|
||||
#define STGM_CONVERT 0x00020000L
|
||||
#define STGM_FAILIFTHERE 0x00000000L
|
||||
|
||||
#define STGM_NOSNAPSHOT 0x00200000L
|
||||
#define STGM_DIRECT_SWMR 0x00400000L
|
||||
|
||||
/* flags for internet asyncronous and layout docfile */
|
||||
#define ASYNC_MODE_COMPATIBILITY 0x00000001L
|
||||
#define ASYNC_MODE_DEFAULT 0x00000000L
|
||||
|
||||
#define STGTY_REPEAT 0x00000100L
|
||||
#define STG_TOEND 0xFFFFFFFFL
|
||||
|
||||
#define STG_LAYOUT_SEQUENTIAL 0x00000000L
|
||||
#define STG_LAYOUT_INTERLEAVED 0x00000001L
|
||||
|
||||
|
||||
#define STGFMT_STORAGE 0
|
||||
#define STGFMT_NATIVE 1
|
||||
#define STGFMT_FILE 3
|
||||
#define STGFMT_ANY 4
|
||||
#define STGFMT_DOCFILE 5
|
||||
|
||||
// This is a legacy define to allow old component to builds
|
||||
#define STGFMT_DOCUMENT 0
|
||||
@@ -0,0 +1,10 @@
|
||||
#define RPC_REQUEST_TYPE_CALL 0
|
||||
#define RPC_REQUEST_TYPE_BIND 1
|
||||
|
||||
#define RPC_RESPONSE_TYPE_BIND_OK 1
|
||||
#define RPC_RESPONSE_TYPE_FAIL 2
|
||||
#define RPC_RESPONSE_TYPE_SUCCESS 3
|
||||
|
||||
#define BIND_IF_SYNTAX_NDR32 1
|
||||
#define BIND_IF_SYNTAX_NDR64 2
|
||||
#define BIND_IF_SYNTAX_UNKNOWN 4
|
||||
@@ -0,0 +1,88 @@
|
||||
#define PRODUCT_UNDEFINED 0x00000000
|
||||
|
||||
#define PRODUCT_ULTIMATE 0x00000001
|
||||
#define PRODUCT_HOME_BASIC 0x00000002
|
||||
#define PRODUCT_HOME_PREMIUM 0x00000003
|
||||
#define PRODUCT_ENTERPRISE 0x00000004
|
||||
#define PRODUCT_HOME_BASIC_N 0x00000005
|
||||
#define PRODUCT_BUSINESS 0x00000006
|
||||
#define PRODUCT_STANDARD_SERVER 0x00000007
|
||||
#define PRODUCT_DATACENTER_SERVER 0x00000008
|
||||
#define PRODUCT_SMALLBUSINESS_SERVER 0x00000009
|
||||
#define PRODUCT_ENTERPRISE_SERVER 0x0000000A
|
||||
#define PRODUCT_STARTER 0x0000000B
|
||||
#define PRODUCT_DATACENTER_SERVER_CORE 0x0000000C
|
||||
#define PRODUCT_STANDARD_SERVER_CORE 0x0000000D
|
||||
#define PRODUCT_ENTERPRISE_SERVER_CORE 0x0000000E
|
||||
#define PRODUCT_ENTERPRISE_SERVER_IA64 0x0000000F
|
||||
#define PRODUCT_BUSINESS_N 0x00000010
|
||||
#define PRODUCT_WEB_SERVER 0x00000011
|
||||
#define PRODUCT_CLUSTER_SERVER 0x00000012
|
||||
#define PRODUCT_HOME_SERVER 0x00000013
|
||||
#define PRODUCT_STORAGE_EXPRESS_SERVER 0x00000014
|
||||
#define PRODUCT_STORAGE_STANDARD_SERVER 0x00000015
|
||||
#define PRODUCT_STORAGE_WORKGROUP_SERVER 0x00000016
|
||||
#define PRODUCT_STORAGE_ENTERPRISE_SERVER 0x00000017
|
||||
#define PRODUCT_SERVER_FOR_SMALLBUSINESS 0x00000018
|
||||
#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM 0x00000019
|
||||
#define PRODUCT_HOME_PREMIUM_N 0x0000001A
|
||||
#define PRODUCT_ENTERPRISE_N 0x0000001B
|
||||
#define PRODUCT_ULTIMATE_N 0x0000001C
|
||||
#define PRODUCT_WEB_SERVER_CORE 0x0000001D
|
||||
#define PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT 0x0000001E
|
||||
#define PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY 0x0000001F
|
||||
#define PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING 0x00000020
|
||||
#define PRODUCT_SERVER_FOUNDATION 0x00000021
|
||||
#define PRODUCT_HOME_PREMIUM_SERVER 0x00000022
|
||||
#define PRODUCT_SERVER_FOR_SMALLBUSINESS_V 0x00000023
|
||||
#define PRODUCT_STANDARD_SERVER_V 0x00000024
|
||||
#define PRODUCT_DATACENTER_SERVER_V 0x00000025
|
||||
#define PRODUCT_ENTERPRISE_SERVER_V 0x00000026
|
||||
#define PRODUCT_DATACENTER_SERVER_CORE_V 0x00000027
|
||||
#define PRODUCT_STANDARD_SERVER_CORE_V 0x00000028
|
||||
#define PRODUCT_ENTERPRISE_SERVER_CORE_V 0x00000029
|
||||
#define PRODUCT_HYPERV 0x0000002A
|
||||
#define PRODUCT_STORAGE_EXPRESS_SERVER_CORE 0x0000002B
|
||||
#define PRODUCT_STORAGE_STANDARD_SERVER_CORE 0x0000002C
|
||||
#define PRODUCT_STORAGE_WORKGROUP_SERVER_CORE 0x0000002D
|
||||
#define PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE 0x0000002E
|
||||
#define PRODUCT_STARTER_N 0x0000002F
|
||||
#define PRODUCT_PROFESSIONAL 0x00000030
|
||||
#define PRODUCT_PROFESSIONAL_N 0x00000031
|
||||
#define PRODUCT_SB_SOLUTION_SERVER 0x00000032
|
||||
#define PRODUCT_SERVER_FOR_SB_SOLUTIONS 0x00000033
|
||||
#define PRODUCT_STANDARD_SERVER_SOLUTIONS 0x00000034
|
||||
#define PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE 0x00000035
|
||||
#define PRODUCT_SB_SOLUTION_SERVER_EM 0x00000036
|
||||
#define PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM 0x00000037
|
||||
#define PRODUCT_SOLUTION_EMBEDDEDSERVER 0x00000038
|
||||
#define PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE 0x00000039
|
||||
#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE 0x0000003F
|
||||
#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT 0x0000003B
|
||||
#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL 0x0000003C
|
||||
#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC 0x0000003D
|
||||
#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC 0x0000003E
|
||||
#define PRODUCT_CLUSTER_SERVER_V 0x00000040
|
||||
#define PRODUCT_EMBEDDED 0x00000041
|
||||
#define PRODUCT_STARTER_E 0x00000042
|
||||
#define PRODUCT_HOME_BASIC_E 0x00000043
|
||||
#define PRODUCT_HOME_PREMIUM_E 0x00000044
|
||||
#define PRODUCT_PROFESSIONAL_E 0x00000045
|
||||
#define PRODUCT_ENTERPRISE_E 0x00000046
|
||||
#define PRODUCT_ULTIMATE_E 0x00000047
|
||||
#define PRODUCT_ENTERPRISE_EVALUATION 0x00000048
|
||||
#define PRODUCT_MULTIPOINT_STANDARD_SERVER 0x0000004C
|
||||
#define PRODUCT_MULTIPOINT_PREMIUM_SERVER 0x0000004D
|
||||
#define PRODUCT_STANDARD_EVALUATION_SERVER 0x0000004F
|
||||
#define PRODUCT_DATACENTER_EVALUATION_SERVER 0x00000050
|
||||
#define PRODUCT_ENTERPRISE_N_EVALUATION 0x00000054
|
||||
#define PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER 0x0000005F
|
||||
#define PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER 0x00000060
|
||||
#define PRODUCT_CORE_ARM 0x00000061
|
||||
#define PRODUCT_CORE_N 0x00000062
|
||||
#define PRODUCT_CORE_COUNTRYSPECIFIC 0x00000063
|
||||
#define PRODUCT_CORE_LANGUAGESPECIFIC 0x00000064
|
||||
#define PRODUCT_CORE 0x00000065
|
||||
#define PRODUCT_PROFESSIONAL_WMC 0x00000067
|
||||
|
||||
#define PRODUCT_UNLICENSED 0xABCDABCD
|
||||
@@ -0,0 +1,34 @@
|
||||
#define PIPE_ACCESS_INBOUND 0x00000001
|
||||
#define PIPE_ACCESS_OUTBOUND 0x00000002
|
||||
#define PIPE_ACCESS_DUPLEX 0x00000003
|
||||
|
||||
//
|
||||
// Define the Named Pipe End flags for GetNamedPipeInfo
|
||||
//
|
||||
|
||||
#define PIPE_CLIENT_END 0x00000000
|
||||
#define PIPE_SERVER_END 0x00000001
|
||||
|
||||
//
|
||||
// Define the dwPipeMode values for CreateNamedPipe
|
||||
//
|
||||
|
||||
#define PIPE_WAIT 0x00000000
|
||||
#define PIPE_NOWAIT 0x00000001
|
||||
#define PIPE_READMODE_BYTE 0x00000000
|
||||
#define PIPE_READMODE_MESSAGE 0x00000002
|
||||
#define PIPE_TYPE_BYTE 0x00000000
|
||||
#define PIPE_TYPE_MESSAGE 0x00000004
|
||||
#define PIPE_ACCEPT_REMOTE_CLIENTS 0x00000000
|
||||
#define PIPE_REJECT_REMOTE_CLIENTS 0x00000008
|
||||
|
||||
//
|
||||
// Define the well known values for CreateNamedPipe nMaxInstances
|
||||
//
|
||||
|
||||
#define PIPE_UNLIMITED_INSTANCES 255
|
||||
|
||||
|
||||
#define NMPWAIT_WAIT_FOREVER 0xffffffff
|
||||
#define NMPWAIT_NOWAIT 0x00000001
|
||||
#define NMPWAIT_USE_DEFAULT_WAIT 0x00000000
|
||||
@@ -0,0 +1,120 @@
|
||||
#define ACCESS_MIN_MS_ACE_TYPE (0x0)
|
||||
#define ACCESS_ALLOWED_ACE_TYPE (0x0)
|
||||
#define ACCESS_DENIED_ACE_TYPE (0x1)
|
||||
#define SYSTEM_AUDIT_ACE_TYPE (0x2)
|
||||
#define SYSTEM_ALARM_ACE_TYPE (0x3)
|
||||
#define ACCESS_MAX_MS_V2_ACE_TYPE (0x3)
|
||||
#define ACCESS_ALLOWED_COMPOUND_ACE_TYPE (0x4)
|
||||
#define ACCESS_MAX_MS_V3_ACE_TYPE (0x4)
|
||||
#define ACCESS_MIN_MS_OBJECT_ACE_TYPE (0x5)
|
||||
#define ACCESS_ALLOWED_OBJECT_ACE_TYPE (0x5)
|
||||
#define ACCESS_DENIED_OBJECT_ACE_TYPE (0x6)
|
||||
#define SYSTEM_AUDIT_OBJECT_ACE_TYPE (0x7)
|
||||
#define SYSTEM_ALARM_OBJECT_ACE_TYPE (0x8)
|
||||
#define ACCESS_MAX_MS_OBJECT_ACE_TYPE (0x8)
|
||||
#define ACCESS_MAX_MS_V4_ACE_TYPE (0x8)
|
||||
#define ACCESS_MAX_MS_ACE_TYPE (0x8)
|
||||
#define ACCESS_ALLOWED_CALLBACK_ACE_TYPE (0x9)
|
||||
#define ACCESS_DENIED_CALLBACK_ACE_TYPE (0xA)
|
||||
#define ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE (0xB)
|
||||
#define ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE (0xC)
|
||||
#define SYSTEM_AUDIT_CALLBACK_ACE_TYPE (0xD)
|
||||
#define SYSTEM_ALARM_CALLBACK_ACE_TYPE (0xE)
|
||||
#define SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE (0xF)
|
||||
#define SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE (0x10)
|
||||
#define SYSTEM_MANDATORY_LABEL_ACE_TYPE (0x11)
|
||||
#define ACCESS_MAX_MS_V5_ACE_TYPE (0x11)
|
||||
#define SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE (0x12)
|
||||
#define SYSTEM_SCOPED_POLICY_ID_ACE_TYPE (0x13)
|
||||
#define SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE (0x14)
|
||||
#define ACCESS_MAX_MS_V5_ACE_TYPE (0x14)
|
||||
|
||||
#define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1
|
||||
#define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
|
||||
|
||||
#define SE_OWNER_DEFAULTED 0x00000001
|
||||
#define SE_GROUP_DEFAULTED 0x00000002
|
||||
#define SE_DACL_PRESENT 0x00000004
|
||||
#define SE_DACL_DEFAULTED 0x00000008
|
||||
#define SE_SACL_PRESENT 0x00000010
|
||||
#define SE_SACL_DEFAULTED 0x00000020
|
||||
#define SE_DACL_AUTO_INHERIT_REQ 0x00000100
|
||||
#define SE_SACL_AUTO_INHERIT_REQ 0x00000200
|
||||
#define SE_DACL_AUTO_INHERITED 0x00000400
|
||||
#define SE_SACL_AUTO_INHERITED 0x00000800
|
||||
#define SE_DACL_PROTECTED 0x00001000
|
||||
#define SE_SACL_PROTECTED 0x00002000
|
||||
#define SE_RM_CONTROL_VALID 0x00004000
|
||||
#define SE_SELF_RELATIVE 0x00008000
|
||||
|
||||
#define SDDL_REVISION_1 0x1
|
||||
|
||||
|
||||
#define ACE_OBJECT_TYPE_PRESENT 0x1
|
||||
#define ACE_INHERITED_OBJECT_TYPE_PRESENT 0x2
|
||||
|
||||
|
||||
#define OBJECT_INHERIT_ACE (0x1)
|
||||
#define CONTAINER_INHERIT_ACE (0x2)
|
||||
#define NO_PROPAGATE_INHERIT_ACE (0x4)
|
||||
#define INHERIT_ONLY_ACE (0x8)
|
||||
#define INHERITED_ACE (0x10)
|
||||
#define VALID_INHERIT_FLAGS (0x1F)
|
||||
#define SUCCESSFUL_ACCESS_ACE_FLAG (0x40)
|
||||
#define FAILED_ACCESS_ACE_FLAG (0x80)
|
||||
|
||||
|
||||
#define SYSTEM_MANDATORY_LABEL_NO_WRITE_UP 0x1
|
||||
#define SYSTEM_MANDATORY_LABEL_NO_READ_UP 0x2
|
||||
#define SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP 0x4
|
||||
|
||||
#define SYSTEM_PROCESS_TRUST_LABEL_VALID_MASK 0x00ffffff
|
||||
#define SYSTEM_PROCESS_TRUST_NOCONSTRAINT_MASK 0xffffffff
|
||||
|
||||
|
||||
#define CLAIM_SECURITY_ATTRIBUTE_TYPE_INVALID 0x00
|
||||
#define CLAIM_SECURITY_ATTRIBUTE_TYPE_INT64 0x01
|
||||
#define CLAIM_SECURITY_ATTRIBUTE_TYPE_UINT64 0x02
|
||||
#define CLAIM_SECURITY_ATTRIBUTE_TYPE_STRING 0x03
|
||||
#define CLAIM_SECURITY_ATTRIBUTE_TYPE_FQBN 0x04
|
||||
#define CLAIM_SECURITY_ATTRIBUTE_TYPE_SID 0x05
|
||||
#define CLAIM_SECURITY_ATTRIBUTE_TYPE_BOOLEAN 0x06
|
||||
#define CLAIM_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING 0x10
|
||||
|
||||
|
||||
|
||||
#define SE_GROUP_MANDATORY (0x00000001L)
|
||||
#define SE_GROUP_ENABLED_BY_DEFAULT (0x00000002L)
|
||||
#define SE_GROUP_ENABLED (0x00000004L)
|
||||
#define SE_GROUP_OWNER (0x00000008L)
|
||||
#define SE_GROUP_USE_FOR_DENY_ONLY (0x00000010L)
|
||||
#define SE_GROUP_INTEGRITY (0x00000020L)
|
||||
#define SE_GROUP_INTEGRITY_ENABLED (0x00000040L)
|
||||
#define SE_GROUP_LOGON_ID (0xC0000000L)
|
||||
#define SE_GROUP_RESOURCE (0x20000000L)
|
||||
|
||||
#define SE_GROUP_VALID_ATTRIBUTES (SE_GROUP_MANDATORY | \
|
||||
SE_GROUP_ENABLED_BY_DEFAULT | \
|
||||
SE_GROUP_ENABLED | \
|
||||
SE_GROUP_OWNER | \
|
||||
SE_GROUP_USE_FOR_DENY_ONLY | \
|
||||
SE_GROUP_LOGON_ID | \
|
||||
SE_GROUP_RESOURCE | \
|
||||
SE_GROUP_INTEGRITY | \
|
||||
SE_GROUP_INTEGRITY_ENABLED)
|
||||
|
||||
|
||||
#define OWNER_SECURITY_INFORMATION (0x00000001L)
|
||||
#define GROUP_SECURITY_INFORMATION (0x00000002L)
|
||||
#define DACL_SECURITY_INFORMATION (0x00000004L)
|
||||
#define SACL_SECURITY_INFORMATION (0x00000008L)
|
||||
#define LABEL_SECURITY_INFORMATION (0x00000010L)
|
||||
#define ATTRIBUTE_SECURITY_INFORMATION (0x00000020L)
|
||||
#define SCOPE_SECURITY_INFORMATION (0x00000040L)
|
||||
#define PROCESS_TRUST_LABEL_SECURITY_INFORMATION (0x00000080L)
|
||||
#define BACKUP_SECURITY_INFORMATION (0x00010000L)
|
||||
|
||||
#define PROTECTED_DACL_SECURITY_INFORMATION (0x80000000L)
|
||||
#define PROTECTED_SACL_SECURITY_INFORMATION (0x40000000L)
|
||||
#define UNPROTECTED_DACL_SECURITY_INFORMATION (0x20000000L)
|
||||
#define UNPROTECTED_SACL_SECURITY_INFORMATION (0x10000000L)
|
||||
@@ -0,0 +1,20 @@
|
||||
//
|
||||
// Service trigger types
|
||||
//
|
||||
#define SERVICE_TRIGGER_TYPE_DEVICE_INTERFACE_ARRIVAL 1
|
||||
#define SERVICE_TRIGGER_TYPE_IP_ADDRESS_AVAILABILITY 2
|
||||
#define SERVICE_TRIGGER_TYPE_DOMAIN_JOIN 3
|
||||
#define SERVICE_TRIGGER_TYPE_FIREWALL_PORT_EVENT 4
|
||||
#define SERVICE_TRIGGER_TYPE_GROUP_POLICY 5
|
||||
#define SERVICE_TRIGGER_TYPE_NETWORK_ENDPOINT 6
|
||||
#define SERVICE_TRIGGER_TYPE_CUSTOM_SYSTEM_STATE_CHANGE 7
|
||||
#define SERVICE_TRIGGER_TYPE_CUSTOM 20
|
||||
|
||||
//
|
||||
// Service trigger data types
|
||||
//
|
||||
#define SERVICE_TRIGGER_DATA_TYPE_BINARY 1
|
||||
#define SERVICE_TRIGGER_DATA_TYPE_STRING 2
|
||||
#define SERVICE_TRIGGER_DATA_TYPE_LEVEL 3
|
||||
#define SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ANY 4
|
||||
#define SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ALL 5
|
||||
@@ -0,0 +1,40 @@
|
||||
// Returns TRUE/FALSE depending on question
|
||||
#define OS_WINDOWS 0 // Windows 9x vs. NT
|
||||
#define OS_NT 1 // Windows 9x vs. NT
|
||||
#define OS_WIN95ORGREATER 2 // Win95 or greater
|
||||
#define OS_NT4ORGREATER 3 // NT4 or greater
|
||||
#define OS_WIN98ORGREATER 5 // Win98 or greater
|
||||
#define OS_WIN98_GOLD 6 // Win98 Gold (Version 4.10 build 1998)
|
||||
#define OS_WIN2000ORGREATER 7 // Some derivative of Win2000
|
||||
|
||||
// NOTE: these flags check explicitly for (dwMajorVersion == 5)
|
||||
#define OS_WIN2000PRO 8 // Windows 2000 Professional (Workstation)
|
||||
#define OS_WIN2000SERVER 9 // Windows 2000 Server
|
||||
#define OS_WIN2000ADVSERVER 10 // Windows 2000 Advanced Server
|
||||
#define OS_WIN2000DATACENTER 11 // Windows 2000 Data Center Server
|
||||
#define OS_WIN2000TERMINAL 12 // Windows 2000 Terminal Server in "Application Server" mode (now simply called "Terminal Server")
|
||||
|
||||
#define OS_EMBEDDED 13 // Embedded Windows Edition
|
||||
#define OS_TERMINALCLIENT 14 // Windows Terminal Client (eg user is comming in via tsclient)
|
||||
#define OS_TERMINALREMOTEADMIN 15 // Terminal Server in "Remote Administration" mode
|
||||
#define OS_WIN95_GOLD 16 // Windows 95 Gold (Version 4.0 Build 1995)
|
||||
#define OS_MEORGREATER 17 // Windows Millennium (Version 5.0)
|
||||
#define OS_XPORGREATER 18 // Windows XP or greater
|
||||
#define OS_HOME 19 // Home Edition (eg NOT Professional, Server, Advanced Server, or Datacenter)
|
||||
#define OS_PROFESSIONAL 20 // Professional (aka Workstation; eg NOT Server, Advanced Server, or Datacenter)
|
||||
#define OS_DATACENTER 21 // Datacenter (eg NOT Server, Advanced Server, Professional, or Personal)
|
||||
#define OS_ADVSERVER 22 // Advanced Server (eg NOT Datacenter, Server, Professional, or Personal)
|
||||
#define OS_SERVER 23 // Server (eg NOT Datacenter, Advanced Server, Professional, or Personal)
|
||||
#define OS_TERMINALSERVER 24 // Terminal Server - server running in what used to be called "Application Server" mode (now simply called "Terminal Server")
|
||||
#define OS_PERSONALTERMINALSERVER 25 // Personal Terminal Server - per/pro machine running in single user TS mode
|
||||
#define OS_FASTUSERSWITCHING 26 // Fast User Switching
|
||||
#define OS_WELCOMELOGONUI 27 // New friendly logon UI
|
||||
#define OS_DOMAINMEMBER 28 // Is this machine a member of a domain (eg NOT a workgroup)
|
||||
#define OS_ANYSERVER 29 // is this machine any type of server? (eg datacenter or advanced server or server)?
|
||||
#define OS_WOW6432 30 // Is this process a 32-bit process running on an 64-bit platform?
|
||||
#define OS_WEBSERVER 31 // Web Edition Server
|
||||
#define OS_SMALLBUSINESSSERVER 32 // SBS Server
|
||||
#define OS_TABLETPC 33 // Are we running on a TabletPC?
|
||||
#define OS_SERVERADMINUI 34 // Should defaults lean towards those preferred by server administrators?
|
||||
#define OS_MEDIACENTER 35 // eHome Freestyle Project
|
||||
#define OS_APPLIANCE 36 // Windows .NET Appliance Server
|
||||
@@ -0,0 +1,259 @@
|
||||
//
|
||||
// AccessSystemAcl access type
|
||||
//
|
||||
|
||||
#define ACCESS_SYSTEM_SECURITY (0x01000000L)
|
||||
|
||||
//
|
||||
// MaximumAllowed access type
|
||||
//
|
||||
|
||||
#define MAXIMUM_ALLOWED (0x02000000L)
|
||||
|
||||
//
|
||||
// Define access rights to files and directories
|
||||
//
|
||||
|
||||
#define FILE_READ_DATA ( 0x0001 ) // file & pipe
|
||||
#define FILE_LIST_DIRECTORY ( 0x0001 ) // directory
|
||||
#define FILE_WRITE_DATA ( 0x0002 ) // file & pipe
|
||||
#define FILE_ADD_FILE ( 0x0002 ) // directory
|
||||
#define FILE_APPEND_DATA ( 0x0004 ) // file
|
||||
#define FILE_ADD_SUBDIRECTORY ( 0x0004 ) // directory
|
||||
#define FILE_CREATE_PIPE_INSTANCE ( 0x0004 ) // named pipe
|
||||
#define FILE_READ_EA ( 0x0008 ) // file & directory
|
||||
#define FILE_WRITE_EA ( 0x0010 ) // file & directory
|
||||
#define FILE_EXECUTE ( 0x0020 ) // file
|
||||
#define FILE_TRAVERSE ( 0x0020 ) // directory
|
||||
#define FILE_DELETE_CHILD ( 0x0040 ) // directory
|
||||
#define FILE_READ_ATTRIBUTES ( 0x0080 ) // all
|
||||
#define FILE_WRITE_ATTRIBUTES ( 0x0100 ) // all
|
||||
|
||||
#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)
|
||||
|
||||
#define FILE_GENERIC_READ (STANDARD_RIGHTS_READ |\
|
||||
FILE_READ_DATA |\
|
||||
FILE_READ_ATTRIBUTES |\
|
||||
FILE_READ_EA |\
|
||||
SYNCHRONIZE)
|
||||
|
||||
|
||||
#define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE |\
|
||||
FILE_WRITE_DATA |\
|
||||
FILE_WRITE_ATTRIBUTES |\
|
||||
FILE_WRITE_EA |\
|
||||
FILE_APPEND_DATA |\
|
||||
SYNCHRONIZE)
|
||||
|
||||
|
||||
#define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE |\
|
||||
FILE_READ_ATTRIBUTES |\
|
||||
FILE_EXECUTE |\
|
||||
SYNCHRONIZE)
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Callback Specific Access Rights.
|
||||
//
|
||||
|
||||
#define CALLBACK_MODIFY_STATE 0x0001
|
||||
|
||||
#define CALLBACK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|\
|
||||
CALLBACK_MODIFY_STATE )
|
||||
|
||||
|
||||
// Event Specific Access Rights.
|
||||
//
|
||||
|
||||
#define EVENT_QUERY_STATE 0x0001
|
||||
#define EVENT_MODIFY_STATE 0x0002 // winnt
|
||||
#define EVENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) // winnt
|
||||
|
||||
|
||||
//
|
||||
// Mutant Specific Access Rights.
|
||||
//
|
||||
// begin_winnt
|
||||
|
||||
#define MUTANT_QUERY_STATE 0x0001
|
||||
|
||||
#define MUTANT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|\
|
||||
MUTANT_QUERY_STATE)
|
||||
|
||||
|
||||
//
|
||||
// Semaphore Specific Access Rights.
|
||||
//
|
||||
|
||||
#define SEMAPHORE_QUERY_STATE 0x0001
|
||||
#define SEMAPHORE_MODIFY_STATE 0x0002 // winnt
|
||||
|
||||
#define SEMAPHORE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) // winnt
|
||||
|
||||
|
||||
// Timer Specific Access Rights.
|
||||
//
|
||||
|
||||
#define TIMER_QUERY_STATE 0x0001
|
||||
#define TIMER_MODIFY_STATE 0x0002
|
||||
|
||||
#define TIMER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|\
|
||||
TIMER_QUERY_STATE|TIMER_MODIFY_STATE)
|
||||
|
||||
// I/O Completion Specific Access Rights.
|
||||
//
|
||||
|
||||
#define IO_COMPLETION_QUERY_STATE 0x0001
|
||||
#define IO_COMPLETION_MODIFY_STATE 0x0002 // winnt
|
||||
#define IO_COMPLETION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) // winnt
|
||||
|
||||
|
||||
//
|
||||
// Connection Port Type Specific Access Rights.
|
||||
//
|
||||
|
||||
#define PORT_CONNECT (0x0001)
|
||||
|
||||
#define PORT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
|
||||
SYNCHRONIZE | 0x1)
|
||||
|
||||
|
||||
//
|
||||
// Object Manager Object Type Specific Access Rights.
|
||||
//
|
||||
|
||||
#define OBJECT_TYPE_CREATE (0x0001)
|
||||
|
||||
#define OBJECT_TYPE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)
|
||||
|
||||
//
|
||||
// Object Manager Directory Specific Access Rights.
|
||||
//
|
||||
|
||||
#define DIRECTORY_QUERY (0x0001)
|
||||
#define DIRECTORY_TRAVERSE (0x0002)
|
||||
#define DIRECTORY_CREATE_OBJECT (0x0004)
|
||||
#define DIRECTORY_CREATE_SUBDIRECTORY (0x0008)
|
||||
|
||||
#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
|
||||
|
||||
|
||||
//
|
||||
// Object Manager Symbolic Link Specific Access Rights.
|
||||
//
|
||||
|
||||
#define SYMBOLIC_LINK_QUERY (0x0001)
|
||||
#define SYMBOLIC_LINK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)
|
||||
|
||||
|
||||
//
|
||||
// Process Specific Access Rights
|
||||
//
|
||||
|
||||
#define PROCESS_TERMINATE (0x0001)
|
||||
#define PROCESS_CREATE_THREAD (0x0002)
|
||||
#define PROCESS_SET_SESSIONID (0x0004)
|
||||
#define PROCESS_VM_OPERATION (0x0008)
|
||||
#define PROCESS_VM_READ (0x0010)
|
||||
#define PROCESS_VM_WRITE (0x0020)
|
||||
#define PROCESS_DUP_HANDLE (0x0040)
|
||||
#define PROCESS_CREATE_PROCESS (0x0080)
|
||||
#define PROCESS_SET_QUOTA (0x0100)
|
||||
#define PROCESS_SET_INFORMATION (0x0200)
|
||||
#define PROCESS_QUERY_INFORMATION (0x0400)
|
||||
#define PROCESS_SUSPEND_RESUME (0x0800)
|
||||
#define PROCESS_QUERY_LIMITED_INFORMATION (0x1000)
|
||||
#define PROCESS_SET_LIMITED_INFORMATION (0x2000)
|
||||
|
||||
|
||||
#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \
|
||||
0xFFF)
|
||||
|
||||
|
||||
//
|
||||
// Thread Specific Access Rights
|
||||
//
|
||||
|
||||
#define THREAD_TERMINATE (0x0001)
|
||||
#define THREAD_SUSPEND_RESUME (0x0002)
|
||||
#define THREAD_GET_CONTEXT (0x0008)
|
||||
#define THREAD_SET_CONTEXT (0x0010)
|
||||
#define THREAD_QUERY_INFORMATION (0x0040)
|
||||
#define THREAD_SET_INFORMATION (0x0020)
|
||||
#define THREAD_SET_THREAD_TOKEN (0x0080)
|
||||
#define THREAD_IMPERSONATE (0x0100)
|
||||
#define THREAD_DIRECT_IMPERSONATION (0x0200)
|
||||
|
||||
#define THREAD_ALL_ACCESS 0x001F03FF
|
||||
|
||||
//
|
||||
// Job Object Specific Access Rights
|
||||
//
|
||||
|
||||
// begin_winnt
|
||||
#define JOB_OBJECT_ASSIGN_PROCESS (0x0001)
|
||||
#define JOB_OBJECT_SET_ATTRIBUTES (0x0002)
|
||||
#define JOB_OBJECT_QUERY (0x0004)
|
||||
#define JOB_OBJECT_TERMINATE (0x0008)
|
||||
#define JOB_OBJECT_SET_SECURITY_ATTRIBUTES (0x0010)
|
||||
#define JOB_OBJECT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \
|
||||
0x1F )
|
||||
|
||||
|
||||
//
|
||||
// Registry Specific Access Rights.
|
||||
//
|
||||
|
||||
#define KEY_QUERY_VALUE (0x0001)
|
||||
#define KEY_SET_VALUE (0x0002)
|
||||
#define KEY_CREATE_SUB_KEY (0x0004)
|
||||
#define KEY_ENUMERATE_SUB_KEYS (0x0008)
|
||||
#define KEY_NOTIFY (0x0010)
|
||||
#define KEY_CREATE_LINK (0x0020)
|
||||
#define KEY_WOW64_32KEY (0x0200)
|
||||
#define KEY_WOW64_64KEY (0x0100)
|
||||
#define KEY_WOW64_RES (0x0300)
|
||||
|
||||
|
||||
#define KEY_READ ((STANDARD_RIGHTS_READ|KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY)&(~SYNCHRONIZE))
|
||||
#define KEY_WRITE ((STANDARD_RIGHTS_WRITE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY)&(~SYNCHRONIZE))
|
||||
#define KEY_EXECUTE ((KEY_READ)&(~SYNCHRONIZE))
|
||||
#define KEY_ALL_ACCESS ((STANDARD_RIGHTS_ALL|KEY_QUERY_VALUE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY|KEY_CREATE_LINK)&(~SYNCHRONIZE))
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Token Specific Access Rights.
|
||||
//// Documentation purpose only real define are in token.txt
|
||||
// #define TOKEN_ASSIGN_PRIMARY (0x0001)
|
||||
// #define TOKEN_DUPLICATE (0x0002)
|
||||
// #define TOKEN_IMPERSONATE (0x0004)
|
||||
// #define TOKEN_QUERY (0x0008)
|
||||
// #define TOKEN_QUERY_SOURCE (0x0010)
|
||||
// #define TOKEN_ADJUST_PRIVILEGES (0x0020)
|
||||
// #define TOKEN_ADJUST_GROUPS (0x0040)
|
||||
// #define TOKEN_ADJUST_DEFAULT (0x0080)
|
||||
// #define TOKEN_ADJUST_SESSIONID (0x0100)
|
||||
|
||||
|
||||
//
|
||||
// Cluster API Specific Access Rights
|
||||
//
|
||||
#define CLUSAPI_READ_ACCESS 0x00000001L
|
||||
#define CLUSAPI_CHANGE_ACCESS 0x00000002L
|
||||
#define CLUSAPI_NO_ACCESS 0x00000004L
|
||||
#define CLUSAPI_ALL_ACCESS (CLUSAPI_READ_ACCESS | CLUSAPI_CHANGE_ACCESS)
|
||||
|
||||
|
||||
//
|
||||
// Fax Specific Access Rights
|
||||
//
|
||||
|
||||
#define FAX_JOB_SUBMIT (0x0001)
|
||||
#define FAX_JOB_QUERY (0x0002)
|
||||
#define FAX_CONFIG_QUERY (0x0004)
|
||||
#define FAX_CONFIG_SET (0x0008)
|
||||
#define FAX_PORT_QUERY (0x0010)
|
||||
#define FAX_PORT_SET (0x0020)
|
||||
#define FAX_JOB_MANAGE (0x0040)
|
||||
@@ -0,0 +1,7 @@
|
||||
import platform
|
||||
from flag import make_flag
|
||||
|
||||
bits = platform.architecture()[0]
|
||||
bitness = int(bits[:2])
|
||||
|
||||
NATIVE_WORD_MAX_VALUE = 0xffffffff if bitness == 32 else 0xffffffffffffffff
|
||||
@@ -0,0 +1,100 @@
|
||||
#define TOKEN_SOURCE_LENGTH 8
|
||||
#define SID_HASH_SIZE 32
|
||||
|
||||
#define TOKEN_MANDATORY_POLICY_OFF 0x0
|
||||
#define TOKEN_MANDATORY_POLICY_NO_WRITE_UP 0x1
|
||||
#define TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN 0x2
|
||||
|
||||
#define TOKEN_MANDATORY_POLICY_VALID_MASK (TOKEN_MANDATORY_POLICY_NO_WRITE_UP | \
|
||||
TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN)
|
||||
|
||||
/* from ntseapi.h
|
||||
* https://github.com/PKRoma/ProcessHacker/blob/8cd2217e9ff2170096d85b0fdafd5f1e1a8c925f/phnt/include/ntseapi.h
|
||||
*/
|
||||
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_TYPE_INVALID 0x00
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_TYPE_INT64 0x01
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_TYPE_UINT64 0x02
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_TYPE_STRING 0x03
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_TYPE_FQBN 0x04
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_TYPE_SID 0x05
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_TYPE_BOOLEAN 0x06
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING 0x10
|
||||
|
||||
// Flags
|
||||
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_NON_INHERITABLE 0x0001
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE 0x0002
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY 0x0004
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT 0x0008
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_DISABLED 0x0010
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_MANDATORY 0x0020
|
||||
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_VALID_FLAGS ( \
|
||||
TOKEN_SECURITY_ATTRIBUTE_NON_INHERITABLE | \
|
||||
TOKEN_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE | \
|
||||
TOKEN_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY | \
|
||||
TOKEN_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT | \
|
||||
TOKEN_SECURITY_ATTRIBUTE_DISABLED | \
|
||||
TOKEN_SECURITY_ATTRIBUTE_MANDATORY)
|
||||
|
||||
#define TOKEN_SECURITY_ATTRIBUTE_CUSTOM_FLAGS 0xffff0000
|
||||
|
||||
#define TOKEN_ASSIGN_PRIMARY (0x0001)
|
||||
#define TOKEN_DUPLICATE (0x0002)
|
||||
#define TOKEN_IMPERSONATE (0x0004)
|
||||
#define TOKEN_QUERY (0x0008)
|
||||
#define TOKEN_QUERY_SOURCE (0x0010)
|
||||
#define TOKEN_ADJUST_PRIVILEGES (0x0020)
|
||||
#define TOKEN_ADJUST_GROUPS (0x0040)
|
||||
#define TOKEN_ADJUST_DEFAULT (0x0080)
|
||||
#define TOKEN_ADJUST_SESSIONID (0x0100)
|
||||
|
||||
#define TOKEN_ALL_ACCESS_P (STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT)
|
||||
|
||||
#define TOKEN_ALL_ACCESS (TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID )
|
||||
|
||||
/* Privileges attributes */
|
||||
|
||||
#define SE_PRIVILEGE_ENABLED_BY_DEFAULT (0x00000001L)
|
||||
#define SE_PRIVILEGE_ENABLED (0x00000002L)
|
||||
#define SE_PRIVILEGE_REMOVED (0X00000004L)
|
||||
#define SE_PRIVILEGE_USED_FOR_ACCESS (0x80000000L)
|
||||
|
||||
/* PRIVILEGES Names*/
|
||||
|
||||
#define SE_CREATE_TOKEN_NAME ("SeCreateTokenPrivilege")
|
||||
#define SE_ASSIGNPRIMARYTOKEN_NAME ("SeAssignPrimaryTokenPrivilege")
|
||||
#define SE_LOCK_MEMORY_NAME ("SeLockMemoryPrivilege")
|
||||
#define SE_INCREASE_QUOTA_NAME ("SeIncreaseQuotaPrivilege")
|
||||
#define SE_UNSOLICITED_INPUT_NAME ("SeUnsolicitedInputPrivilege")
|
||||
#define SE_MACHINE_ACCOUNT_NAME ("SeMachineAccountPrivilege")
|
||||
#define SE_TCB_NAME ("SeTcbPrivilege")
|
||||
#define SE_SECURITY_NAME ("SeSecurityPrivilege")
|
||||
#define SE_TAKE_OWNERSHIP_NAME ("SeTakeOwnershipPrivilege")
|
||||
#define SE_LOAD_DRIVER_NAME ("SeLoadDriverPrivilege")
|
||||
#define SE_SYSTEM_PROFILE_NAME ("SeSystemProfilePrivilege")
|
||||
#define SE_SYSTEMTIME_NAME ("SeSystemtimePrivilege")
|
||||
#define SE_PROF_SINGLE_PROCESS_NAME ("SeProfileSingleProcessPrivilege")
|
||||
#define SE_INC_BASE_PRIORITY_NAME ("SeIncreaseBasePriorityPrivilege")
|
||||
#define SE_CREATE_PAGEFILE_NAME ("SeCreatePagefilePrivilege")
|
||||
#define SE_CREATE_PERMANENT_NAME ("SeCreatePermanentPrivilege")
|
||||
#define SE_BACKUP_NAME ("SeBackupPrivilege")
|
||||
#define SE_RESTORE_NAME ("SeRestorePrivilege")
|
||||
#define SE_SHUTDOWN_NAME ("SeShutdownPrivilege")
|
||||
#define SE_DEBUG_NAME ("SeDebugPrivilege")
|
||||
#define SE_AUDIT_NAME ("SeAuditPrivilege")
|
||||
#define SE_SYSTEM_ENVIRONMENT_NAME ("SeSystemEnvironmentPrivilege")
|
||||
#define SE_CHANGE_NOTIFY_NAME ("SeChangeNotifyPrivilege")
|
||||
#define SE_REMOTE_SHUTDOWN_NAME ("SeRemoteShutdownPrivilege")
|
||||
#define SE_UNDOCK_NAME ("SeUndockPrivilege")
|
||||
#define SE_SYNC_AGENT_NAME ("SeSyncAgentPrivilege")
|
||||
#define SE_ENABLE_DELEGATION_NAME ("SeEnableDelegationPrivilege")
|
||||
#define SE_MANAGE_VOLUME_NAME ("SeManageVolumePrivilege")
|
||||
#define SE_IMPERSONATE_NAME ("SeImpersonatePrivilege")
|
||||
#define SE_CREATE_GLOBAL_NAME ("SeCreateGlobalPrivilege")
|
||||
#define SE_TRUSTED_CREDMAN_ACCESS_NAME ("SeTrustedCredManAccessPrivilege")
|
||||
#define SE_RELABEL_NAME ("SeRelabelPrivilege")
|
||||
#define SE_INC_WORKING_SET_NAME ("SeIncreaseWorkingSetPrivilege")
|
||||
#define SE_TIME_ZONE_NAME ("SeTimeZonePrivilege")
|
||||
#define SE_CREATE_SYMBOLIC_LINK_NAME ("SeCreateSymbolicLinkPrivilege")
|
||||
+153
-208
@@ -13,33 +13,8 @@
|
||||
|
||||
#define WARMING_NOT_SAME_FLAG_FOR_WINXP 0
|
||||
|
||||
#define PROCESS_TERMINATE (0x0001)
|
||||
#define PROCESS_CREATE_THREAD (0x0002)
|
||||
#define PROCESS_SET_SESSIONID (0x0004)
|
||||
#define PROCESS_VM_OPERATION (0x0008)
|
||||
#define PROCESS_VM_READ (0x0010)
|
||||
#define PROCESS_VM_WRITE (0x0020)
|
||||
#define PROCESS_DUP_HANDLE (0x0040)
|
||||
#define PROCESS_CREATE_PROCESS (0x0080)
|
||||
#define PROCESS_SET_QUOTA (0x0100)
|
||||
#define PROCESS_SET_INFORMATION (0x0200)
|
||||
#define PROCESS_QUERY_INFORMATION (0x0400)
|
||||
#define PROCESS_SUSPEND_RESUME (0x0800)
|
||||
#define PROCESS_QUERY_LIMITED_INFORMATION (0x1000)
|
||||
|
||||
#define THREAD_TERMINATE (0x0001)
|
||||
#define THREAD_SUSPEND_RESUME (0x0002)
|
||||
#define THREAD_GET_CONTEXT (0x0008)
|
||||
#define THREAD_SET_CONTEXT (0x0010)
|
||||
#define THREAD_QUERY_INFORMATION (0x0040)
|
||||
#define THREAD_SET_INFORMATION (0x0020)
|
||||
#define THREAD_SET_THREAD_TOKEN (0x0080)
|
||||
#define THREAD_IMPERSONATE (0x0100)
|
||||
#define THREAD_DIRECT_IMPERSONATION (0x0200)
|
||||
|
||||
|
||||
#define PROCESS_ALL_ACCESS 0x001F0FFF
|
||||
#define THREAD_ALL_ACCESS 0x001F03FF
|
||||
|
||||
|
||||
#define STARTF_USESHOWWINDOW 0x00000001
|
||||
@@ -108,61 +83,6 @@
|
||||
#define CREATE_IGNORE_SYSTEM_DEFAULT 0x80000000
|
||||
|
||||
|
||||
#define STATUS_WAIT_0 (0x00000000L)
|
||||
#define STATUS_ABANDONED_WAIT_0 (0x00000080L)
|
||||
#define STATUS_USER_APC (0x000000C0L)
|
||||
#define STATUS_TIMEOUT (0x00000102L)
|
||||
#define STATUS_PENDING (0x00000103L)
|
||||
#define DBG_EXCEPTION_HANDLED (0x00010001L)
|
||||
#define DBG_CONTINUE (0x00010002L)
|
||||
#define STATUS_SEGMENT_NOTIFICATION (0x40000005L)
|
||||
#define DBG_TERMINATE_THREAD (0x40010003L)
|
||||
#define DBG_TERMINATE_PROCESS (0x40010004L)
|
||||
#define DBG_CONTROL_C (0x40010005L)
|
||||
#define DBG_PRINTEXCEPTION_C (0x40010006L)
|
||||
#define DBG_RIPEXCEPTION (0x40010007L)
|
||||
#define DBG_CONTROL_BREAK (0x40010008L)
|
||||
#define DBG_COMMAND_EXCEPTION (0x40010009L)
|
||||
#define STATUS_GUARD_PAGE_VIOLATION (0x80000001L)
|
||||
#define STATUS_DATATYPE_MISALIGNMENT (0x80000002L)
|
||||
#define STATUS_BREAKPOINT (0x80000003L)
|
||||
#define STATUS_SINGLE_STEP (0x80000004L)
|
||||
#define STATUS_LONGJUMP (0x80000026L)
|
||||
#define STATUS_UNWIND_CONSOLIDATE (0x80000029L)
|
||||
#define DBG_EXCEPTION_NOT_HANDLED (0x80010001L)
|
||||
#define STATUS_ACCESS_VIOLATION (0xC0000005L)
|
||||
#define STATUS_IN_PAGE_ERROR (0xC0000006L)
|
||||
#define STATUS_INVALID_HANDLE (0xC0000008L)
|
||||
#define STATUS_INVALID_PARAMETER (0xC000000DL)
|
||||
#define STATUS_NO_MEMORY (0xC0000017L)
|
||||
#define STATUS_ILLEGAL_INSTRUCTION (0xC000001DL)
|
||||
#define STATUS_NONCONTINUABLE_EXCEPTION (0xC0000025L)
|
||||
#define STATUS_INVALID_DISPOSITION (0xC0000026L)
|
||||
#define STATUS_ARRAY_BOUNDS_EXCEEDED (0xC000008CL)
|
||||
#define STATUS_FLOAT_DENORMAL_OPERAND (0xC000008DL)
|
||||
#define STATUS_FLOAT_DIVIDE_BY_ZERO (0xC000008EL)
|
||||
#define STATUS_FLOAT_INEXACT_RESULT (0xC000008FL)
|
||||
#define STATUS_FLOAT_INVALID_OPERATION (0xC0000090L)
|
||||
#define STATUS_FLOAT_OVERFLOW (0xC0000091L)
|
||||
#define STATUS_FLOAT_STACK_CHECK (0xC0000092L)
|
||||
#define STATUS_FLOAT_UNDERFLOW (0xC0000093L)
|
||||
#define STATUS_INTEGER_DIVIDE_BY_ZERO (0xC0000094L)
|
||||
#define STATUS_INTEGER_OVERFLOW (0xC0000095L)
|
||||
#define STATUS_PRIVILEGED_INSTRUCTION (0xC0000096L)
|
||||
#define STATUS_STACK_OVERFLOW (0xC00000FDL)
|
||||
#define STATUS_DLL_NOT_FOUND (0xC0000135L)
|
||||
#define STATUS_ORDINAL_NOT_FOUND (0xC0000138L)
|
||||
#define STATUS_ENTRYPOINT_NOT_FOUND (0xC0000139L)
|
||||
#define STATUS_CONTROL_C_EXIT (0xC000013AL)
|
||||
#define STATUS_DLL_INIT_FAILED (0xC0000142L)
|
||||
#define STATUS_FLOAT_MULTIPLE_FAULTS (0xC00002B4L)
|
||||
#define STATUS_FLOAT_MULTIPLE_TRAPS (0xC00002B5L)
|
||||
#define STATUS_REG_NAT_CONSUMPTION (0xC00002C9L)
|
||||
#define STATUS_STACK_BUFFER_OVERRUN (0xC0000409L)
|
||||
#define STATUS_INVALID_CRUNTIME_PARAMETER (0xC0000417L)
|
||||
#define STATUS_ASSERTION_FAILURE (0xC0000420L)
|
||||
#define STATUS_POSSIBLE_DEADLOCK (0xC0000194)
|
||||
|
||||
|
||||
#define WAIT_IO_COMPLETION STATUS_USER_APC
|
||||
#define STILL_ACTIVE STATUS_PENDING
|
||||
@@ -277,26 +197,6 @@
|
||||
|
||||
#define SPECIFIC_RIGHTS_ALL (0x0000FFFFL)
|
||||
|
||||
#define TOKEN_ASSIGN_PRIMARY (0x0001)
|
||||
#define TOKEN_DUPLICATE (0x0002)
|
||||
#define TOKEN_IMPERSONATE (0x0004)
|
||||
#define TOKEN_QUERY (0x0008)
|
||||
#define TOKEN_QUERY_SOURCE (0x0010)
|
||||
#define TOKEN_ADJUST_PRIVILEGES (0x0020)
|
||||
#define TOKEN_ADJUST_GROUPS (0x0040)
|
||||
#define TOKEN_ADJUST_DEFAULT (0x0080)
|
||||
#define TOKEN_ADJUST_SESSIONID (0x0100)
|
||||
|
||||
#define TOKEN_ALL_ACCESS_P (STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT)
|
||||
|
||||
|
||||
#define TOKEN_ALL_ACCESS (TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID )
|
||||
|
||||
#define SE_PRIVILEGE_ENABLED_BY_DEFAULT (0x00000001L)
|
||||
#define SE_PRIVILEGE_ENABLED (0x00000002L)
|
||||
#define SE_PRIVILEGE_REMOVED (0X00000004L)
|
||||
#define SE_PRIVILEGE_USED_FOR_ACCESS (0x80000000L)
|
||||
|
||||
|
||||
#define AF_UNSPEC 0
|
||||
#define AF_UNIX 1
|
||||
@@ -334,89 +234,6 @@
|
||||
#define EXCEPTION_MAXIMUM_PARAMETERS 15
|
||||
|
||||
|
||||
#define STATUS_WAIT_0 (0x00000000)
|
||||
#define STATUS_ABANDONED_WAIT_0 (0x00000080)
|
||||
#define STATUS_USER_APC (0x000000C0)
|
||||
#define STATUS_TIMEOUT (0x00000102)
|
||||
#define STATUS_PENDING (0x00000103)
|
||||
#define DBG_EXCEPTION_HANDLED (0x00010001)
|
||||
#define DBG_CONTINUE (0x00010002)
|
||||
#define STATUS_SEGMENT_NOTIFICATION (0x40000005)
|
||||
#define DBG_TERMINATE_THREAD (0x40010003)
|
||||
#define DBG_TERMINATE_PROCESS (0x40010004)
|
||||
#define DBG_CONTROL_C (0x40010005)
|
||||
#define DBG_PRINTEXCEPTION_C (0x40010006)
|
||||
#define DBG_RIPEXCEPTION (0x40010007)
|
||||
#define DBG_CONTROL_BREAK (0x40010008)
|
||||
#define DBG_COMMAND_EXCEPTION (0x40010009)
|
||||
#define STATUS_GUARD_PAGE_VIOLATION (0x80000001)
|
||||
#define STATUS_DATATYPE_MISALIGNMENT (0x80000002)
|
||||
#define STATUS_BREAKPOINT (0x80000003)
|
||||
#define STATUS_SINGLE_STEP (0x80000004)
|
||||
#define STATUS_LONGJUMP (0x80000026)
|
||||
#define STATUS_UNWIND_CONSOLIDATE (0x80000029)
|
||||
#define DBG_EXCEPTION_NOT_HANDLED (0x80010001)
|
||||
#define STATUS_ACCESS_VIOLATION (0xC0000005)
|
||||
#define STATUS_IN_PAGE_ERROR (0xC0000006)
|
||||
#define STATUS_INVALID_HANDLE (0xC0000008)
|
||||
#define STATUS_INVALID_PARAMETER (0xC000000D)
|
||||
#define STATUS_NO_MEMORY (0xC0000017)
|
||||
#define STATUS_ILLEGAL_INSTRUCTION (0xC000001D)
|
||||
#define STATUS_NONCONTINUABLE_EXCEPTION (0xC0000025)
|
||||
#define STATUS_INVALID_DISPOSITION (0xC0000026)
|
||||
#define STATUS_ARRAY_BOUNDS_EXCEEDED (0xC000008C)
|
||||
#define STATUS_FLOAT_DENORMAL_OPERAND (0xC000008D)
|
||||
#define STATUS_FLOAT_DIVIDE_BY_ZERO (0xC000008E)
|
||||
#define STATUS_FLOAT_INEXACT_RESULT (0xC000008F)
|
||||
#define STATUS_FLOAT_INVALID_OPERATION (0xC0000090)
|
||||
#define STATUS_FLOAT_OVERFLOW (0xC0000091)
|
||||
#define STATUS_FLOAT_STACK_CHECK (0xC0000092)
|
||||
#define STATUS_FLOAT_UNDERFLOW (0xC0000093)
|
||||
#define STATUS_INTEGER_DIVIDE_BY_ZERO (0xC0000094)
|
||||
#define STATUS_INTEGER_OVERFLOW (0xC0000095)
|
||||
#define STATUS_PRIVILEGED_INSTRUCTION (0xC0000096)
|
||||
#define STATUS_STACK_OVERFLOW (0xC00000FD)
|
||||
#define STATUS_DLL_NOT_FOUND (0xC0000135)
|
||||
#define STATUS_ORDINAL_NOT_FOUND (0xC0000138)
|
||||
#define STATUS_ENTRYPOINT_NOT_FOUND (0xC0000139)
|
||||
#define STATUS_CONTROL_C_EXIT (0xC000013A)
|
||||
#define STATUS_DLL_INIT_FAILED (0xC0000142)
|
||||
#define STATUS_FLOAT_MULTIPLE_FAULTS (0xC00002B4)
|
||||
#define STATUS_FLOAT_MULTIPLE_TRAPS (0xC00002B5)
|
||||
#define STATUS_REG_NAT_CONSUMPTION (0xC00002C9)
|
||||
#define STATUS_STACK_BUFFER_OVERRUN (0xC0000409)
|
||||
#define STATUS_INVALID_CRUNTIME_PARAMETER (0xC0000417)
|
||||
#define STATUS_ASSERTION_FAILURE (0xC0000420)
|
||||
|
||||
|
||||
#define WAIT_IO_COMPLETION STATUS_USER_APC
|
||||
#define STILL_ACTIVE STATUS_PENDING
|
||||
#define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION
|
||||
#define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT
|
||||
#define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT
|
||||
#define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP
|
||||
#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED
|
||||
#define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND
|
||||
#define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO
|
||||
#define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT
|
||||
#define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION
|
||||
#define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW
|
||||
#define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK
|
||||
#define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW
|
||||
#define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO
|
||||
#define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW
|
||||
#define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION
|
||||
#define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR
|
||||
#define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION
|
||||
#define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION
|
||||
#define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW
|
||||
#define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION
|
||||
#define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION
|
||||
#define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE
|
||||
#define EXCEPTION_POSSIBLE_DEADLOCK STATUS_POSSIBLE_DEADLOCK
|
||||
#define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT
|
||||
|
||||
|
||||
#define EXCEPTION_EXECUTE_HANDLER 1
|
||||
#define EXCEPTION_CONTINUE_SEARCH 0
|
||||
#define EXCEPTION_CONTINUE_EXECUTION -1
|
||||
@@ -524,27 +341,9 @@
|
||||
#define RRF_ZEROONFAILURE 0x20000000
|
||||
|
||||
|
||||
#define KEY_QUERY_VALUE (0x0001)
|
||||
#define KEY_SET_VALUE (0x0002)
|
||||
#define KEY_CREATE_SUB_KEY (0x0004)
|
||||
#define KEY_ENUMERATE_SUB_KEYS (0x0008)
|
||||
#define KEY_NOTIFY (0x0010)
|
||||
#define KEY_CREATE_LINK (0x0020)
|
||||
#define KEY_WOW64_32KEY (0x0200)
|
||||
#define KEY_WOW64_64KEY (0x0100)
|
||||
#define KEY_WOW64_RES (0x0300)
|
||||
|
||||
|
||||
#define KEY_READ ((STANDARD_RIGHTS_READ|KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY)&(~SYNCHRONIZE))
|
||||
#define KEY_WRITE ((STANDARD_RIGHTS_WRITE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY)&(~SYNCHRONIZE))
|
||||
#define KEY_EXECUTE ((KEY_READ)&(~SYNCHRONIZE))
|
||||
#define KEY_ALL_ACCESS ((STANDARD_RIGHTS_ALL|KEY_QUERY_VALUE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY|KEY_CREATE_LINK)&(~SYNCHRONIZE))
|
||||
|
||||
#define STATUS_INFO_LENGTH_MISMATCH (0xC0000004L)
|
||||
|
||||
#define ERROR_NOT_ALL_ASSIGNED 1300
|
||||
|
||||
|
||||
#define S_OK 0
|
||||
#define S_FALSE 1
|
||||
#define E_NOINTERFACE 0x80004002
|
||||
@@ -899,12 +698,6 @@
|
||||
#define MAXLEN_IFDESCR 256
|
||||
#define MAX_INTERFACE_NAME_LEN 256
|
||||
|
||||
#define DIRECTORY_QUERY (0x0001)
|
||||
#define DIRECTORY_TRAVERSE (0x0002)
|
||||
#define DIRECTORY_CREATE_OBJECT (0x0004)
|
||||
#define DIRECTORY_CREATE_SUBDIRECTORY (0x0008)
|
||||
|
||||
#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
|
||||
|
||||
#define OBJ_INHERIT 0x00000002L
|
||||
#define OBJ_PERMANENT 0x00000010L
|
||||
@@ -937,6 +730,7 @@
|
||||
#define PERSIST_E_SIZEINDEFINITE (0x800B000AL)
|
||||
#define PERSIST_E_NOTSELFSIZING (0x800B000BL)
|
||||
#define TRUST_E_NOSIGNATURE (0x800B0100L)
|
||||
#define TRUST_E_BAD_DIGEST (0x80096010L)
|
||||
#define CERT_E_EXPIRED (0x800B0101L)
|
||||
#define CERT_E_VALIDITYPERIODNESTING (0x800B0102L)
|
||||
#define CERT_E_PURPOSE (0x800B0106L)
|
||||
@@ -956,6 +750,17 @@
|
||||
#define CERT_E_INVALID_NAME (0x800B0114L)
|
||||
#define CRYPT_E_FILE_ERROR (0x80092003L)
|
||||
|
||||
#define CRYPT_E_MSG_ERROR (0x80091001L)
|
||||
#define CRYPT_E_UNKNOWN_ALGO (0x80091002L)
|
||||
#define CRYPT_E_OID_FORMAT (0x80091003L)
|
||||
#define CRYPT_E_INVALID_MSG_TYPE (0x80091004L)
|
||||
#define CRYPT_E_UNEXPECTED_ENCODING (0x80091005L)
|
||||
#define CRYPT_E_AUTH_ATTR_MISSING (0x80091006L)
|
||||
#define CRYPT_E_HASH_VALUE (0x80091007L)
|
||||
#define E_INVALIDARG (0x80070057L)
|
||||
#define CRYPT_E_NOT_DECRYPTED (0x8009100AL)
|
||||
#define CRYPT_E_INVALID_INDEX (0x80091008L)
|
||||
#define CRYPT_E_ATTRIBUTES_MISSING (0x8009100FL)
|
||||
|
||||
|
||||
#define IMAGE_SCN_TYPE_REG 0x00000000
|
||||
@@ -1005,4 +810,144 @@
|
||||
#define IMAGE_SCN_MEM_SHARED 0x10000000
|
||||
#define IMAGE_SCN_MEM_EXECUTE 0x20000000
|
||||
#define IMAGE_SCN_MEM_READ 0x40000000
|
||||
#define IMAGE_SCN_MEM_WRITE 0x80000000
|
||||
#define IMAGE_SCN_MEM_WRITE 0x80000000
|
||||
|
||||
#define LPC_REQUEST 1
|
||||
#define LPC_REPLY 2
|
||||
#define LPC_DATAGRAM 3
|
||||
#define LPC_LOST_REPLY 4
|
||||
#define LPC_PORT_CLOSED 5
|
||||
#define LPC_CLIENT_DIED 6
|
||||
#define LPC_EXCEPTION 7
|
||||
#define LPC_DEBUG_EVENT 8
|
||||
#define LPC_ERROR_EVENT 9
|
||||
#define LPC_CONNECTION_REQUEST 10
|
||||
|
||||
|
||||
#define ALPC_MESSAGE_SECURITY_ATTRIBUTE 0x80000000
|
||||
#define ALPC_MESSAGE_VIEW_ATTRIBUTE 0x40000000
|
||||
#define ALPC_MESSAGE_CONTEXT_ATTRIBUTE 0x20000000
|
||||
#define ALPC_MESSAGE_HANDLE_ATTRIBUTE 0x10000000
|
||||
#define ALPC_MESSAGE_TOKEN_ATTRIBUTE 0x8000000
|
||||
#define ALPC_MESSAGE_DIRECT_ATTRIBUTE 0x4000000
|
||||
#define ALPC_MESSAGE_WORK_ON_BEHALF_ATTRIBUTE 0x2000000
|
||||
|
||||
|
||||
#define ALPC_MSGFLG_REPLY_MESSAGE 0x1
|
||||
#define ALPC_MSGFLG_LPC_MODE 0x2
|
||||
#define ALPC_MSGFLG_RELEASE_MESSAGE 0x10000
|
||||
#define ALPC_MSGFLG_SYNC_REQUEST 0x20000
|
||||
#define ALPC_MSGFLG_WAIT_USER_MODE 0x100000
|
||||
#define ALPC_MSGFLG_WAIT_ALERTABLE 0x200000
|
||||
#define ALPC_MSGFLG_WOW64_CALL 0x80000000
|
||||
|
||||
#define ALPC_PORFLG_ALLOW_LPC_REQUESTS 0x20000
|
||||
#define ALPC_PORFLG_WAITABLE_PORT 0x40000
|
||||
#define ALPC_PORFLG_SYSTEM_PROCESS 0x100000
|
||||
|
||||
#define ALPC_CANCELFLG_TRY_CANCEL 0x1
|
||||
#define ALPC_CANCELFLG_NO_CONTEXT_CHECK 0x8
|
||||
#define ALPC_CANCELFLGP_FLUSH 0x10000
|
||||
|
||||
#define ALPC_HANDLEFLG_DUPLICATE_SAME_ACCESS 0x10000
|
||||
#define ALPC_HANDLEFLG_DUPLICATE_SAME_ATTRIBUTES 0x20000
|
||||
#define ALPC_HANDLEFLG_DUPLICATE_INHERIT 0x80000
|
||||
|
||||
#define ALPC_SECFLG_CREATE_HANDLE 0x20000
|
||||
#define ALPC_VIEWFLG_NOT_SECURE 0x40000
|
||||
|
||||
|
||||
#define CERT_STORE_CERTIFICATE_CONTEXT 1
|
||||
#define CERT_STORE_CRL_CONTEXT 2
|
||||
#define CERT_STORE_CTL_CONTEXT 3
|
||||
|
||||
|
||||
#define WTD_UI_ALL 1
|
||||
#define WTD_UI_NONE 2
|
||||
#define WTD_UI_NOBAD 3
|
||||
#define WTD_UI_NOGOOD 4
|
||||
|
||||
#define WTD_REVOKE_NONE 0x00000000
|
||||
#define WTD_REVOKE_WHOLECHAIN 0x00000001
|
||||
|
||||
#define WTD_CHOICE_FILE 1
|
||||
#define WTD_CHOICE_CATALOG 2
|
||||
#define WTD_CHOICE_BLOB 3
|
||||
#define WTD_CHOICE_SIGNER 4
|
||||
#define WTD_CHOICE_CERT 5
|
||||
|
||||
#define WTD_STATEACTION_IGNORE 0x00000000
|
||||
#define WTD_STATEACTION_VERIFY 0x00000001
|
||||
#define WTD_STATEACTION_CLOSE 0x00000002
|
||||
#define WTD_STATEACTION_AUTO_CACHE 0x00000003
|
||||
#define WTD_STATEACTION_AUTO_CACHE_FLUSH 0x00000004
|
||||
|
||||
|
||||
#define COMPRESSION_FORMAT_NONE (0x0000)
|
||||
#define COMPRESSION_FORMAT_DEFAULT (0x0001)
|
||||
#define COMPRESSION_FORMAT_LZNT1 (0x0002)
|
||||
#define COMPRESSION_FORMAT_XPRESS (0x0003)
|
||||
#define COMPRESSION_FORMAT_XPRESS_HUFF (0x0004)
|
||||
#define COMPRESSION_ENGINE_STANDARD (0x0000)
|
||||
#define COMPRESSION_ENGINE_MAXIMUM (0x0100)
|
||||
#define COMPRESSION_ENGINE_HIBER (0x0200)
|
||||
|
||||
|
||||
#define FILE_DIRECTORY_FILE 0x00000001
|
||||
#define FILE_WRITE_THROUGH 0x00000002
|
||||
#define FILE_SEQUENTIAL_ONLY 0x00000004
|
||||
#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008
|
||||
#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010
|
||||
#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020
|
||||
#define FILE_NON_DIRECTORY_FILE 0x00000040
|
||||
#define FILE_CREATE_TREE_CONNECTION 0x00000080
|
||||
#define FILE_COMPLETE_IF_OPLOCKED 0x00000100
|
||||
#define FILE_NO_EA_KNOWLEDGE 0x00000200
|
||||
#define FILE_OPEN_REMOTE_INSTANCE 0x00000400
|
||||
#define FILE_RANDOM_ACCESS 0x00000800
|
||||
#define FILE_DELETE_ON_CLOSE 0x00001000
|
||||
#define FILE_OPEN_BY_FILE_ID 0x00002000
|
||||
#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000
|
||||
#define FILE_NO_COMPRESSION 0x00008000
|
||||
#define FILE_OPEN_REQUIRING_OPLOCK 0x00010000
|
||||
#define FILE_RESERVE_OPFILTER 0x00100000
|
||||
#define FILE_OPEN_REPARSE_POINT 0x00200000
|
||||
#define FILE_OPEN_NO_RECALL 0x00400000
|
||||
#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
|
||||
|
||||
#define FILE_VALID_OPTION_FLAGS 0x00ffffff
|
||||
#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032
|
||||
#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032
|
||||
#define FILE_VALID_SET_FLAGS 0x00000036
|
||||
|
||||
#define FILE_SUPERSEDED 0x00000000
|
||||
#define FILE_OPENED 0x00000001
|
||||
#define FILE_CREATED 0x00000002
|
||||
#define FILE_OVERWRITTEN 0x00000003
|
||||
#define FILE_EXISTS 0x00000004
|
||||
#define FILE_DOES_NOT_EXIST 0x00000005
|
||||
|
||||
|
||||
#define API_SET_SCHEMA_VERSION_V2 0x00000002L
|
||||
#define API_SET_SCHEMA_VERSION_V3 0x00000003L // No offline support.
|
||||
#define API_SET_SCHEMA_VERSION_V4 0x00000004L
|
||||
|
||||
#define API_SET_LOAD_SCHEMA_ORDINAL 1
|
||||
#define API_SET_LOOKUP_ORDINAL 2
|
||||
#define API_SET_RELEASE_SCHEMA_ORDINAL 3
|
||||
|
||||
#define API_SET_SCHEMA_FLAGS_SEALED 0x00000001L
|
||||
#define API_SET_SCHEMA_FLAGS_HOST_EXTENSION 0x00000002L
|
||||
|
||||
#define API_SET_SCHEMA_ENTRY_FLAGS_SEALED 0x00000001L
|
||||
#define API_SET_SCHEMA_ENTRY_FLAGS_EXTENSION 0x00000002L
|
||||
|
||||
#define CMSG_VERIFY_SIGNER_PUBKEY 1
|
||||
#define CMSG_VERIFY_SIGNER_CERT 2
|
||||
#define CMSG_VERIFY_SIGNER_CHAIN 3
|
||||
#define CMSG_VERIFY_SIGNER_NULL 4
|
||||
|
||||
|
||||
#define TXFS_MINIVERSION_COMMITTED_VIEW (0x0000)
|
||||
#define TXFS_MINIVERSION_DIRTY_VIEW (0xFFFF)
|
||||
#define TXFS_MINIVERSION_DEFAULT_VIEW (0xFFFE)
|
||||
@@ -0,0 +1,561 @@
|
||||
#define ERROR_SUCCESS 0
|
||||
#define ERROR_INVALID_FUNCTION 1
|
||||
#define ERROR_FILE_NOT_FOUND 2
|
||||
#define ERROR_PATH_NOT_FOUND 3
|
||||
#define ERROR_TOO_MANY_OPEN_FILES 4
|
||||
#define ERROR_ACCESS_DENIED 5
|
||||
#define ERROR_INVALID_HANDLE 6
|
||||
#define ERROR_ARENA_TRASHED 7
|
||||
#define ERROR_NOT_ENOUGH_MEMORY 8
|
||||
#define ERROR_INVALID_BLOCK 9
|
||||
#define ERROR_BAD_ENVIRONMENT 10
|
||||
#define ERROR_BAD_FORMAT 11
|
||||
#define ERROR_INVALID_ACCESS 12
|
||||
#define ERROR_INVALID_DATA 13
|
||||
#define ERROR_OUTOFMEMORY 14
|
||||
#define ERROR_INVALID_DRIVE 15
|
||||
#define ERROR_CURRENT_DIRECTORY 16
|
||||
#define ERROR_NOT_SAME_DEVICE 17
|
||||
#define ERROR_NO_MORE_FILES 18
|
||||
#define ERROR_WRITE_PROTECT 19
|
||||
#define ERROR_BAD_UNIT 20
|
||||
#define ERROR_NOT_READY 21
|
||||
#define ERROR_BAD_COMMAND 22
|
||||
#define ERROR_CRC 23
|
||||
#define ERROR_BAD_LENGTH 24
|
||||
#define ERROR_SEEK 25
|
||||
#define ERROR_NOT_DOS_DISK 26
|
||||
#define ERROR_SECTOR_NOT_FOUND 27
|
||||
#define ERROR_OUT_OF_PAPER 28
|
||||
#define ERROR_WRITE_FAULT 29
|
||||
#define ERROR_READ_FAULT 30
|
||||
#define ERROR_GEN_FAILURE 31
|
||||
#define ERROR_SHARING_VIOLATION 32
|
||||
#define ERROR_LOCK_VIOLATION 33
|
||||
#define ERROR_WRONG_DISK 34
|
||||
#define ERROR_SHARING_BUFFER_EXCEEDED 36
|
||||
#define ERROR_HANDLE_EOF 38
|
||||
#define ERROR_HANDLE_DISK_FULL 39
|
||||
#define ERROR_NOT_SUPPORTED 50
|
||||
#define ERROR_REM_NOT_LIST 51
|
||||
#define ERROR_DUP_NAME 52
|
||||
#define ERROR_BAD_NETPATH 53
|
||||
#define ERROR_NETWORK_BUSY 54
|
||||
#define ERROR_DEV_NOT_EXIST 55
|
||||
#define ERROR_TOO_MANY_CMDS 56
|
||||
#define ERROR_ADAP_HDW_ERR 57
|
||||
#define ERROR_BAD_NET_RESP 58
|
||||
#define ERROR_UNEXP_NET_ERR 59
|
||||
#define ERROR_BAD_REM_ADAP 60
|
||||
#define ERROR_PRINTQ_FULL 61
|
||||
#define ERROR_NO_SPOOL_SPACE 62
|
||||
#define ERROR_PRINT_CANCELLED 63
|
||||
#define ERROR_NETNAME_DELETED 64
|
||||
#define ERROR_NETWORK_ACCESS_DENIED 65
|
||||
#define ERROR_BAD_DEV_TYPE 66
|
||||
#define ERROR_BAD_NET_NAME 67
|
||||
#define ERROR_TOO_MANY_NAMES 68
|
||||
#define ERROR_TOO_MANY_SESS 69
|
||||
#define ERROR_SHARING_PAUSED 70
|
||||
#define ERROR_REQ_NOT_ACCEP 71
|
||||
#define ERROR_REDIR_PAUSED 72
|
||||
#define ERROR_FILE_EXISTS 80
|
||||
#define ERROR_CANNOT_MAKE 82
|
||||
#define ERROR_FAIL_I24 83
|
||||
#define ERROR_OUT_OF_STRUCTURES 84
|
||||
#define ERROR_ALREADY_ASSIGNED 85
|
||||
#define ERROR_INVALID_PASSWORD 86
|
||||
#define ERROR_INVALID_PARAMETER 87
|
||||
#define ERROR_NET_WRITE_FAULT 88
|
||||
#define ERROR_NO_PROC_SLOTS 89
|
||||
#define ERROR_TOO_MANY_SEMAPHORES 100
|
||||
#define ERROR_EXCL_SEM_ALREADY_OWNED 101
|
||||
#define ERROR_SEM_IS_SET 102
|
||||
#define ERROR_TOO_MANY_SEM_REQUESTS 103
|
||||
#define ERROR_INVALID_AT_INTERRUPT_TIME 104
|
||||
#define ERROR_SEM_OWNER_DIED 105
|
||||
#define ERROR_SEM_USER_LIMIT 106
|
||||
#define ERROR_DISK_CHANGE 107
|
||||
#define ERROR_DRIVE_LOCKED 108
|
||||
#define ERROR_BROKEN_PIPE 109
|
||||
#define ERROR_OPEN_FAILED 110
|
||||
#define ERROR_BUFFER_OVERFLOW 111
|
||||
#define ERROR_DISK_FULL 112
|
||||
#define ERROR_NO_MORE_SEARCH_HANDLES 113
|
||||
#define ERROR_INVALID_TARGET_HANDLE 114
|
||||
#define ERROR_INVALID_CATEGORY 117
|
||||
#define ERROR_INVALID_VERIFY_SWITCH 118
|
||||
#define ERROR_BAD_DRIVER_LEVEL 119
|
||||
#define ERROR_CALL_NOT_IMPLEMENTED 120
|
||||
#define ERROR_SEM_TIMEOUT 121
|
||||
#define ERROR_INSUFFICIENT_BUFFER 122
|
||||
#define ERROR_INVALID_NAME 123
|
||||
#define ERROR_INVALID_LEVEL 124
|
||||
#define ERROR_NO_VOLUME_LABEL 125
|
||||
#define ERROR_MOD_NOT_FOUND 126
|
||||
#define ERROR_PROC_NOT_FOUND 127
|
||||
#define ERROR_WAIT_NO_CHILDREN 128
|
||||
#define ERROR_CHILD_NOT_COMPLETE 129
|
||||
#define ERROR_DIRECT_ACCESS_HANDLE 130
|
||||
#define ERROR_NEGATIVE_SEEK 131
|
||||
#define ERROR_SEEK_ON_DEVICE 132
|
||||
#define ERROR_IS_JOIN_TARGET 133
|
||||
#define ERROR_IS_JOINED 134
|
||||
#define ERROR_IS_SUBSTED 135
|
||||
#define ERROR_NOT_JOINED 136
|
||||
#define ERROR_NOT_SUBSTED 137
|
||||
#define ERROR_JOIN_TO_JOIN 138
|
||||
#define ERROR_SUBST_TO_SUBST 139
|
||||
#define ERROR_JOIN_TO_SUBST 140
|
||||
#define ERROR_SUBST_TO_JOIN 141
|
||||
#define ERROR_BUSY_DRIVE 142
|
||||
#define ERROR_SAME_DRIVE 143
|
||||
#define ERROR_DIR_NOT_ROOT 144
|
||||
#define ERROR_DIR_NOT_EMPTY 145
|
||||
#define ERROR_IS_SUBST_PATH 146
|
||||
#define ERROR_IS_JOIN_PATH 147
|
||||
#define ERROR_PATH_BUSY 148
|
||||
#define ERROR_IS_SUBST_TARGET 149
|
||||
#define ERROR_SYSTEM_TRACE 150
|
||||
#define ERROR_INVALID_EVENT_COUNT 151
|
||||
#define ERROR_TOO_MANY_MUXWAITERS 152
|
||||
#define ERROR_INVALID_LIST_FORMAT 153
|
||||
#define ERROR_LABEL_TOO_LONG 154
|
||||
#define ERROR_TOO_MANY_TCBS 155
|
||||
#define ERROR_SIGNAL_REFUSED 156
|
||||
#define ERROR_DISCARDED 157
|
||||
#define ERROR_NOT_LOCKED 158
|
||||
#define ERROR_BAD_THREADID_ADDR 159
|
||||
#define ERROR_BAD_ARGUMENTS 160
|
||||
#define ERROR_BAD_PATHNAME 161
|
||||
#define ERROR_SIGNAL_PENDING 162
|
||||
#define ERROR_MAX_THRDS_REACHED 164
|
||||
#define ERROR_LOCK_FAILED 167
|
||||
#define ERROR_BUSY 170
|
||||
#define ERROR_CANCEL_VIOLATION 173
|
||||
#define ERROR_ATOMIC_LOCKS_NOT_SUPPORTED 174
|
||||
#define ERROR_INVALID_SEGMENT_NUMBER 180
|
||||
#define ERROR_INVALID_ORDINAL 182
|
||||
#define ERROR_ALREADY_EXISTS 183
|
||||
#define ERROR_INVALID_FLAG_NUMBER 186
|
||||
#define ERROR_SEM_NOT_FOUND 187
|
||||
#define ERROR_INVALID_STARTING_CODESEG 188
|
||||
#define ERROR_INVALID_STACKSEG 189
|
||||
#define ERROR_INVALID_MODULETYPE 190
|
||||
#define ERROR_INVALID_EXE_SIGNATURE 191
|
||||
#define ERROR_EXE_MARKED_INVALID 192
|
||||
#define ERROR_BAD_EXE_FORMAT 193
|
||||
#define ERROR_ITERATED_DATA_EXCEEDS_64k 194
|
||||
#define ERROR_INVALID_MINALLOCSIZE 195
|
||||
#define ERROR_DYNLINK_FROM_INVALID_RING 196
|
||||
#define ERROR_IOPL_NOT_ENABLED 197
|
||||
#define ERROR_INVALID_SEGDPL 198
|
||||
#define ERROR_AUTODATASEG_EXCEEDS_64k 199
|
||||
#define ERROR_RING2SEG_MUST_BE_MOVABLE 200
|
||||
#define ERROR_RELOC_CHAIN_XEEDS_SEGLIM 201
|
||||
#define ERROR_INFLOOP_IN_RELOC_CHAIN 202
|
||||
#define ERROR_ENVVAR_NOT_FOUND 203
|
||||
#define ERROR_NO_SIGNAL_SENT 205
|
||||
#define ERROR_FILENAME_EXCED_RANGE 206
|
||||
#define ERROR_RING2_STACK_IN_USE 207
|
||||
#define ERROR_META_EXPANSION_TOO_LONG 208
|
||||
#define ERROR_INVALID_SIGNAL_NUMBER 209
|
||||
#define ERROR_THREAD_1_INACTIVE 210
|
||||
#define ERROR_LOCKED 212
|
||||
#define ERROR_TOO_MANY_MODULES 214
|
||||
#define ERROR_NESTING_NOT_ALLOWED 215
|
||||
#define ERROR_EXE_MACHINE_TYPE_MISMATCH 216
|
||||
#define ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY 217
|
||||
#define ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY 218
|
||||
#define ERROR_FILE_CHECKED_OUT 220
|
||||
#define ERROR_CHECKOUT_REQUIRED 221
|
||||
#define ERROR_BAD_FILE_TYPE 222
|
||||
#define ERROR_FILE_TOO_LARGE 223
|
||||
#define ERROR_FORMS_AUTH_REQUIRED 224
|
||||
#define ERROR_VIRUS_INFECTED 225
|
||||
#define ERROR_VIRUS_DELETED 226
|
||||
#define ERROR_PIPE_LOCAL 229
|
||||
#define ERROR_BAD_PIPE 230
|
||||
#define ERROR_PIPE_BUSY 231
|
||||
#define ERROR_NO_DATA 232
|
||||
#define ERROR_PIPE_NOT_CONNECTED 233
|
||||
#define ERROR_MORE_DATA 234
|
||||
#define ERROR_VC_DISCONNECTED 240
|
||||
#define ERROR_INVALID_EA_NAME 254
|
||||
#define ERROR_EA_LIST_INCONSISTENT 255
|
||||
#define ERROR_NO_MORE_ITEMS 259
|
||||
#define ERROR_CANNOT_COPY 266
|
||||
#define ERROR_DIRECTORY 267
|
||||
#define ERROR_EAS_DIDNT_FIT 275
|
||||
#define ERROR_EA_FILE_CORRUPT 276
|
||||
#define ERROR_EA_TABLE_FULL 277
|
||||
#define ERROR_INVALID_EA_HANDLE 278
|
||||
#define ERROR_EAS_NOT_SUPPORTED 282
|
||||
#define ERROR_NOT_OWNER 288
|
||||
#define ERROR_TOO_MANY_POSTS 298
|
||||
#define ERROR_PARTIAL_COPY 299
|
||||
#define ERROR_OPLOCK_NOT_GRANTED 300
|
||||
#define ERROR_INVALID_OPLOCK_PROTOCOL 301
|
||||
#define ERROR_DISK_TOO_FRAGMENTED 302
|
||||
#define ERROR_DELETE_PENDING 303
|
||||
#define ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING 304
|
||||
#define ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME 305
|
||||
#define ERROR_SECURITY_STREAM_IS_INCONSISTENT 306
|
||||
#define ERROR_INVALID_LOCK_RANGE 307
|
||||
#define ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT 308
|
||||
#define ERROR_NOTIFICATION_GUID_ALREADY_DEFINED 309
|
||||
#define ERROR_MR_MID_NOT_FOUND 317
|
||||
#define ERROR_SCOPE_NOT_FOUND 318
|
||||
#define ERROR_FAIL_NOACTION_REBOOT 350
|
||||
#define ERROR_FAIL_SHUTDOWN 351
|
||||
#define ERROR_FAIL_RESTART 352
|
||||
#define ERROR_MAX_SESSIONS_REACHED 353
|
||||
#define ERROR_THREAD_MODE_ALREADY_BACKGROUND 400
|
||||
#define ERROR_THREAD_MODE_NOT_BACKGROUND 401
|
||||
#define ERROR_PROCESS_MODE_ALREADY_BACKGROUND 402
|
||||
#define ERROR_PROCESS_MODE_NOT_BACKGROUND 403
|
||||
#define ERROR_INVALID_ADDRESS 487
|
||||
#define ERROR_USER_PROFILE_LOAD 500
|
||||
#define ERROR_ARITHMETIC_OVERFLOW 534
|
||||
#define ERROR_PIPE_CONNECTED 535
|
||||
#define ERROR_PIPE_LISTENING 536
|
||||
#define ERROR_VERIFIER_STOP 537
|
||||
#define ERROR_ABIOS_ERROR 538
|
||||
#define ERROR_WX86_WARNING 539
|
||||
#define ERROR_WX86_ERROR 540
|
||||
#define ERROR_TIMER_NOT_CANCELED 541
|
||||
#define ERROR_UNWIND 542
|
||||
#define ERROR_BAD_STACK 543
|
||||
#define ERROR_INVALID_UNWIND_TARGET 544
|
||||
#define ERROR_INVALID_PORT_ATTRIBUTES 545
|
||||
#define ERROR_PORT_MESSAGE_TOO_LONG 546
|
||||
#define ERROR_INVALID_QUOTA_LOWER 547
|
||||
#define ERROR_DEVICE_ALREADY_ATTACHED 548
|
||||
#define ERROR_INSTRUCTION_MISALIGNMENT 549
|
||||
#define ERROR_PROFILING_NOT_STARTED 550
|
||||
#define ERROR_PROFILING_NOT_STOPPED 551
|
||||
#define ERROR_COULD_NOT_INTERPRET 552
|
||||
#define ERROR_PROFILING_AT_LIMIT 553
|
||||
#define ERROR_CANT_WAIT 554
|
||||
#define ERROR_CANT_TERMINATE_SELF 555
|
||||
#define ERROR_UNEXPECTED_MM_CREATE_ERR 556
|
||||
#define ERROR_UNEXPECTED_MM_MAP_ERROR 557
|
||||
#define ERROR_UNEXPECTED_MM_EXTEND_ERR 558
|
||||
#define ERROR_BAD_FUNCTION_TABLE 559
|
||||
#define ERROR_NO_GUID_TRANSLATION 560
|
||||
#define ERROR_INVALID_LDT_SIZE 561
|
||||
#define ERROR_INVALID_LDT_OFFSET 563
|
||||
#define ERROR_INVALID_LDT_DESCRIPTOR 564
|
||||
#define ERROR_TOO_MANY_THREADS 565
|
||||
#define ERROR_THREAD_NOT_IN_PROCESS 566
|
||||
#define ERROR_PAGEFILE_QUOTA_EXCEEDED 567
|
||||
#define ERROR_LOGON_SERVER_CONFLICT 568
|
||||
#define ERROR_SYNCHRONIZATION_REQUIRED 569
|
||||
#define ERROR_NET_OPEN_FAILED 570
|
||||
#define ERROR_IO_PRIVILEGE_FAILED 571
|
||||
#define ERROR_CONTROL_C_EXIT 572
|
||||
#define ERROR_MISSING_SYSTEMFILE 573
|
||||
#define ERROR_UNHANDLED_EXCEPTION 574
|
||||
#define ERROR_APP_INIT_FAILURE 575
|
||||
#define ERROR_PAGEFILE_CREATE_FAILED 576
|
||||
#define ERROR_INVALID_IMAGE_HASH 577
|
||||
#define ERROR_NO_PAGEFILE 578
|
||||
#define ERROR_ILLEGAL_FLOAT_CONTEXT 579
|
||||
#define ERROR_NO_EVENT_PAIR 580
|
||||
#define ERROR_DOMAIN_CTRLR_CONFIG_ERROR 581
|
||||
#define ERROR_ILLEGAL_CHARACTER 582
|
||||
#define ERROR_UNDEFINED_CHARACTER 583
|
||||
#define ERROR_FLOPPY_VOLUME 584
|
||||
#define ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT 585
|
||||
#define ERROR_BACKUP_CONTROLLER 586
|
||||
#define ERROR_MUTANT_LIMIT_EXCEEDED 587
|
||||
#define ERROR_FS_DRIVER_REQUIRED 588
|
||||
#define ERROR_CANNOT_LOAD_REGISTRY_FILE 589
|
||||
#define ERROR_DEBUG_ATTACH_FAILED 590
|
||||
#define ERROR_SYSTEM_PROCESS_TERMINATED 591
|
||||
#define ERROR_DATA_NOT_ACCEPTED 592
|
||||
#define ERROR_VDM_HARD_ERROR 593
|
||||
#define ERROR_DRIVER_CANCEL_TIMEOUT 594
|
||||
#define ERROR_REPLY_MESSAGE_MISMATCH 595
|
||||
#define ERROR_LOST_WRITEBEHIND_DATA 596
|
||||
#define ERROR_CLIENT_SERVER_PARAMETERS_INVALID 597
|
||||
#define ERROR_NOT_TINY_STREAM 598
|
||||
#define ERROR_STACK_OVERFLOW_READ 599
|
||||
#define ERROR_CONVERT_TO_LARGE 600
|
||||
#define ERROR_FOUND_OUT_OF_SCOPE 601
|
||||
#define ERROR_ALLOCATE_BUCKET 602
|
||||
#define ERROR_MARSHALL_OVERFLOW 603
|
||||
#define ERROR_INVALID_VARIANT 604
|
||||
#define ERROR_BAD_COMPRESSION_BUFFER 605
|
||||
#define ERROR_AUDIT_FAILED 606
|
||||
#define ERROR_TIMER_RESOLUTION_NOT_SET 607
|
||||
#define ERROR_INSUFFICIENT_LOGON_INFO 608
|
||||
#define ERROR_BAD_DLL_ENTRYPOINT 609
|
||||
#define ERROR_BAD_SERVICE_ENTRYPOINT 610
|
||||
#define ERROR_IP_ADDRESS_CONFLICT1 611
|
||||
#define ERROR_IP_ADDRESS_CONFLICT2 612
|
||||
#define ERROR_REGISTRY_QUOTA_LIMIT 613
|
||||
#define ERROR_NO_CALLBACK_ACTIVE 614
|
||||
#define ERROR_PWD_TOO_SHORT 615
|
||||
#define ERROR_PWD_TOO_RECENT 616
|
||||
#define ERROR_PWD_HISTORY_CONFLICT 617
|
||||
#define ERROR_UNSUPPORTED_COMPRESSION 618
|
||||
#define ERROR_INVALID_HW_PROFILE 619
|
||||
#define ERROR_INVALID_PLUGPLAY_DEVICE_PATH 620
|
||||
#define ERROR_QUOTA_LIST_INCONSISTENT 621
|
||||
#define ERROR_EVALUATION_EXPIRATION 622
|
||||
#define ERROR_ILLEGAL_DLL_RELOCATION 623
|
||||
#define ERROR_DLL_INIT_FAILED_LOGOFF 624
|
||||
#define ERROR_VALIDATE_CONTINUE 625
|
||||
#define ERROR_NO_MORE_MATCHES 626
|
||||
#define ERROR_RANGE_LIST_CONFLICT 627
|
||||
#define ERROR_SERVER_SID_MISMATCH 628
|
||||
#define ERROR_CANT_ENABLE_DENY_ONLY 629
|
||||
#define ERROR_FLOAT_MULTIPLE_FAULTS 630
|
||||
#define ERROR_FLOAT_MULTIPLE_TRAPS 631
|
||||
#define ERROR_NOINTERFACE 632
|
||||
#define ERROR_DRIVER_FAILED_SLEEP 633
|
||||
#define ERROR_CORRUPT_SYSTEM_FILE 634
|
||||
#define ERROR_COMMITMENT_MINIMUM 635
|
||||
#define ERROR_PNP_RESTART_ENUMERATION 636
|
||||
#define ERROR_SYSTEM_IMAGE_BAD_SIGNATURE 637
|
||||
#define ERROR_PNP_REBOOT_REQUIRED 638
|
||||
#define ERROR_INSUFFICIENT_POWER 639
|
||||
#define ERROR_MULTIPLE_FAULT_VIOLATION 640
|
||||
#define ERROR_SYSTEM_SHUTDOWN 641
|
||||
#define ERROR_PORT_NOT_SET 642
|
||||
#define ERROR_DS_VERSION_CHECK_FAILURE 643
|
||||
#define ERROR_RANGE_NOT_FOUND 644
|
||||
#define ERROR_NOT_SAFE_MODE_DRIVER 646
|
||||
#define ERROR_FAILED_DRIVER_ENTRY 647
|
||||
#define ERROR_DEVICE_ENUMERATION_ERROR 648
|
||||
#define ERROR_MOUNT_POINT_NOT_RESOLVED 649
|
||||
#define ERROR_INVALID_DEVICE_OBJECT_PARAMETER 650
|
||||
#define ERROR_MCA_OCCURED 651
|
||||
#define ERROR_DRIVER_DATABASE_ERROR 652
|
||||
#define ERROR_SYSTEM_HIVE_TOO_LARGE 653
|
||||
#define ERROR_DRIVER_FAILED_PRIOR_UNLOAD 654
|
||||
#define ERROR_VOLSNAP_PREPARE_HIBERNATE 655
|
||||
#define ERROR_HIBERNATION_FAILURE 656
|
||||
#define ERROR_FILE_SYSTEM_LIMITATION 665
|
||||
#define ERROR_ASSERTION_FAILURE 668
|
||||
#define ERROR_ACPI_ERROR 669
|
||||
#define ERROR_WOW_ASSERTION 670
|
||||
#define ERROR_PNP_BAD_MPS_TABLE 671
|
||||
#define ERROR_PNP_TRANSLATION_FAILED 672
|
||||
#define ERROR_PNP_IRQ_TRANSLATION_FAILED 673
|
||||
#define ERROR_PNP_INVALID_ID 674
|
||||
#define ERROR_WAKE_SYSTEM_DEBUGGER 675
|
||||
#define ERROR_HANDLES_CLOSED 676
|
||||
#define ERROR_EXTRANEOUS_INFORMATION 677
|
||||
#define ERROR_RXACT_COMMIT_NECESSARY 678
|
||||
#define ERROR_MEDIA_CHECK 679
|
||||
#define ERROR_GUID_SUBSTITUTION_MADE 680
|
||||
#define ERROR_STOPPED_ON_SYMLINK 681
|
||||
#define ERROR_LONGJUMP 682
|
||||
#define ERROR_PLUGPLAY_QUERY_VETOED 683
|
||||
#define ERROR_UNWIND_CONSOLIDATE 684
|
||||
#define ERROR_REGISTRY_HIVE_RECOVERED 685
|
||||
#define ERROR_DLL_MIGHT_BE_INSECURE 686
|
||||
#define ERROR_DLL_MIGHT_BE_INCOMPATIBLE 687
|
||||
#define ERROR_DBG_EXCEPTION_NOT_HANDLED 688
|
||||
#define ERROR_DBG_REPLY_LATER 689
|
||||
#define ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE 690
|
||||
#define ERROR_DBG_TERMINATE_THREAD 691
|
||||
#define ERROR_DBG_TERMINATE_PROCESS 692
|
||||
#define ERROR_DBG_CONTROL_C 693
|
||||
#define ERROR_DBG_PRINTEXCEPTION_C 694
|
||||
#define ERROR_DBG_RIPEXCEPTION 695
|
||||
#define ERROR_DBG_CONTROL_BREAK 696
|
||||
#define ERROR_DBG_COMMAND_EXCEPTION 697
|
||||
#define ERROR_OBJECT_NAME_EXISTS 698
|
||||
#define ERROR_THREAD_WAS_SUSPENDED 699
|
||||
#define ERROR_IMAGE_NOT_AT_BASE 700
|
||||
#define ERROR_RXACT_STATE_CREATED 701
|
||||
#define ERROR_SEGMENT_NOTIFICATION 702
|
||||
#define ERROR_BAD_CURRENT_DIRECTORY 703
|
||||
#define ERROR_FT_READ_RECOVERY_FROM_BACKUP 704
|
||||
#define ERROR_FT_WRITE_RECOVERY 705
|
||||
#define ERROR_IMAGE_MACHINE_TYPE_MISMATCH 706
|
||||
#define ERROR_RECEIVE_PARTIAL 707
|
||||
#define ERROR_RECEIVE_EXPEDITED 708
|
||||
#define ERROR_RECEIVE_PARTIAL_EXPEDITED 709
|
||||
#define ERROR_EVENT_DONE 710
|
||||
#define ERROR_EVENT_PENDING 711
|
||||
#define ERROR_CHECKING_FILE_SYSTEM 712
|
||||
#define ERROR_FATAL_APP_EXIT 713
|
||||
#define ERROR_PREDEFINED_HANDLE 714
|
||||
#define ERROR_WAS_UNLOCKED 715
|
||||
#define ERROR_SERVICE_NOTIFICATION 716
|
||||
#define ERROR_WAS_LOCKED 717
|
||||
#define ERROR_LOG_HARD_ERROR 718
|
||||
#define ERROR_ALREADY_WIN32 719
|
||||
#define ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE 720
|
||||
#define ERROR_NO_YIELD_PERFORMED 721
|
||||
#define ERROR_TIMER_RESUME_IGNORED 722
|
||||
#define ERROR_ARBITRATION_UNHANDLED 723
|
||||
#define ERROR_CARDBUS_NOT_SUPPORTED 724
|
||||
#define ERROR_MP_PROCESSOR_MISMATCH 725
|
||||
#define ERROR_HIBERNATED 726
|
||||
#define ERROR_RESUME_HIBERNATION 727
|
||||
#define ERROR_FIRMWARE_UPDATED 728
|
||||
#define ERROR_DRIVERS_LEAKING_LOCKED_PAGES 729
|
||||
#define ERROR_WAKE_SYSTEM 730
|
||||
#define ERROR_WAIT_1 731
|
||||
#define ERROR_WAIT_2 732
|
||||
#define ERROR_WAIT_3 733
|
||||
#define ERROR_WAIT_63 734
|
||||
#define ERROR_ABANDONED_WAIT_0 735
|
||||
#define ERROR_ABANDONED_WAIT_63 736
|
||||
#define ERROR_USER_APC 737
|
||||
#define ERROR_KERNEL_APC 738
|
||||
#define ERROR_ALERTED 739
|
||||
#define ERROR_ELEVATION_REQUIRED 740
|
||||
#define ERROR_REPARSE 741
|
||||
#define ERROR_OPLOCK_BREAK_IN_PROGRESS 742
|
||||
#define ERROR_VOLUME_MOUNTED 743
|
||||
#define ERROR_RXACT_COMMITTED 744
|
||||
#define ERROR_NOTIFY_CLEANUP 745
|
||||
#define ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED 746
|
||||
#define ERROR_PAGE_FAULT_TRANSITION 747
|
||||
#define ERROR_PAGE_FAULT_DEMAND_ZERO 748
|
||||
#define ERROR_PAGE_FAULT_COPY_ON_WRITE 749
|
||||
#define ERROR_PAGE_FAULT_GUARD_PAGE 750
|
||||
#define ERROR_PAGE_FAULT_PAGING_FILE 751
|
||||
#define ERROR_CACHE_PAGE_LOCKED 752
|
||||
#define ERROR_CRASH_DUMP 753
|
||||
#define ERROR_BUFFER_ALL_ZEROS 754
|
||||
#define ERROR_REPARSE_OBJECT 755
|
||||
#define ERROR_RESOURCE_REQUIREMENTS_CHANGED 756
|
||||
#define ERROR_TRANSLATION_COMPLETE 757
|
||||
#define ERROR_NOTHING_TO_TERMINATE 758
|
||||
#define ERROR_PROCESS_NOT_IN_JOB 759
|
||||
#define ERROR_PROCESS_IN_JOB 760
|
||||
#define ERROR_VOLSNAP_HIBERNATE_READY 761
|
||||
#define ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY 762
|
||||
#define ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED 763
|
||||
#define ERROR_INTERRUPT_STILL_CONNECTED 764
|
||||
#define ERROR_WAIT_FOR_OPLOCK 765
|
||||
#define ERROR_DBG_EXCEPTION_HANDLED 766
|
||||
#define ERROR_DBG_CONTINUE 767
|
||||
#define ERROR_CALLBACK_POP_STACK 768
|
||||
#define ERROR_COMPRESSION_DISABLED 769
|
||||
#define ERROR_CANTFETCHBACKWARDS 770
|
||||
#define ERROR_CANTSCROLLBACKWARDS 771
|
||||
#define ERROR_ROWSNOTRELEASED 772
|
||||
#define ERROR_BAD_ACCESSOR_FLAGS 773
|
||||
#define ERROR_ERRORS_ENCOUNTERED 774
|
||||
#define ERROR_NOT_CAPABLE 775
|
||||
#define ERROR_REQUEST_OUT_OF_SEQUENCE 776
|
||||
#define ERROR_VERSION_PARSE_ERROR 777
|
||||
#define ERROR_BADSTARTPOSITION 778
|
||||
#define ERROR_MEMORY_HARDWARE 779
|
||||
#define ERROR_DISK_REPAIR_DISABLED 780
|
||||
#define ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE 781
|
||||
#define ERROR_SYSTEM_POWERSTATE_TRANSITION 782
|
||||
#define ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION 783
|
||||
#define ERROR_MCA_EXCEPTION 784
|
||||
#define ERROR_ACCESS_AUDIT_BY_POLICY 785
|
||||
#define ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY 786
|
||||
#define ERROR_ABANDON_HIBERFILE 787
|
||||
#define ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED 788
|
||||
#define ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR 789
|
||||
#define ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR 790
|
||||
#define ERROR_BAD_MCFG_TABLE 791
|
||||
#define ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE 800
|
||||
#define ERROR_CANNOT_GRANT_REQUESTED_OPLOCK 801
|
||||
#define ERROR_CANNOT_BREAK_OPLOCK 802
|
||||
#define ERROR_OPLOCK_HANDLE_CLOSED 803
|
||||
#define ERROR_NO_ACE_CONDITION 804
|
||||
#define ERROR_INVALID_ACE_CONDITION 805
|
||||
#define ERROR_EA_ACCESS_DENIED 994
|
||||
#define ERROR_OPERATION_ABORTED 995
|
||||
#define ERROR_IO_INCOMPLETE 996
|
||||
#define ERROR_IO_PENDING 997
|
||||
#define ERROR_NOACCESS 998
|
||||
#define ERROR_SWAPERROR 999
|
||||
#define ERROR_STACK_OVERFLOW 1001
|
||||
#define ERROR_INVALID_MESSAGE 1002
|
||||
#define ERROR_CAN_NOT_COMPLETE 1003
|
||||
#define ERROR_INVALID_FLAGS 1004
|
||||
#define ERROR_UNRECOGNIZED_VOLUME 1005
|
||||
#define ERROR_FILE_INVALID 1006
|
||||
#define ERROR_FULLSCREEN_MODE 1007
|
||||
#define ERROR_NO_TOKEN 1008
|
||||
#define ERROR_BADDB 1009
|
||||
#define ERROR_BADKEY 1010
|
||||
#define ERROR_CANTOPEN 1011
|
||||
#define ERROR_CANTREAD 1012
|
||||
#define ERROR_CANTWRITE 1013
|
||||
#define ERROR_REGISTRY_RECOVERED 1014
|
||||
#define ERROR_REGISTRY_CORRUPT 1015
|
||||
#define ERROR_REGISTRY_IO_FAILED 1016
|
||||
#define ERROR_NOT_REGISTRY_FILE 1017
|
||||
#define ERROR_KEY_DELETED 1018
|
||||
#define ERROR_NO_LOG_SPACE 1019
|
||||
#define ERROR_KEY_HAS_CHILDREN 1020
|
||||
#define ERROR_CHILD_MUST_BE_VOLATILE 1021
|
||||
#define ERROR_NOTIFY_ENUM_DIR 1022
|
||||
|
||||
#define RPC_X_BAD_STUB_DATA 1783
|
||||
#define RPC_S_UNKNOWN_IF 1717
|
||||
#define RPC_S_PROTOCOL_ERROR 1728
|
||||
#define RPC_S_UNSUPPORTED_TRANS_SYN 1730
|
||||
#define RPC_S_PROCNUM_OUT_OF_RANGE 1745
|
||||
|
||||
#define ERROR_INVALID_TRANSACTION 6700
|
||||
#define ERROR_TRANSACTION_NOT_ACTIVE 6701
|
||||
#define ERROR_TRANSACTION_REQUEST_NOT_VALID 6702
|
||||
#define ERROR_TRANSACTION_NOT_REQUESTED 6703
|
||||
#define ERROR_TRANSACTION_ALREADY_ABORTED 6704
|
||||
#define ERROR_TRANSACTION_ALREADY_COMMITTED 6705
|
||||
|
||||
// FACILITY_SSPI
|
||||
|
||||
#define NTE_BAD_UID (0x80090001)
|
||||
#define NTE_BAD_HASH (0x80090002)
|
||||
#define NTE_BAD_KEY (0x80090003)
|
||||
#define NTE_BAD_LEN (0x80090004)
|
||||
#define NTE_BAD_DATA (0x80090005)
|
||||
#define NTE_BAD_SIGNATURE (0x80090006)
|
||||
#define NTE_BAD_VER (0x80090007)
|
||||
#define NTE_BAD_ALGID (0x80090008)
|
||||
#define NTE_BAD_FLAGS (0x80090009)
|
||||
#define NTE_BAD_TYPE (0x8009000A)
|
||||
#define NTE_BAD_KEY_STATE (0x8009000B)
|
||||
#define NTE_BAD_HASH_STATE (0x8009000C)
|
||||
#define NTE_NO_KEY (0x8009000D)
|
||||
#define NTE_NO_MEMORY (0x8009000E)
|
||||
#define NTE_EXISTS (0x8009000F)
|
||||
#define NTE_PERM (0x80090010)
|
||||
#define NTE_NOT_FOUND (0x80090011)
|
||||
#define NTE_DOUBLE_ENCRYPT (0x80090012)
|
||||
#define NTE_BAD_PROVIDER (0x80090013)
|
||||
#define NTE_BAD_PROV_TYPE (0x80090014)
|
||||
#define NTE_BAD_PUBLIC_KEY (0x80090015)
|
||||
#define NTE_BAD_KEYSET (0x80090016)
|
||||
#define NTE_PROV_TYPE_NOT_DEF (0x80090017)
|
||||
#define NTE_PROV_TYPE_ENTRY_BAD (0x80090018)
|
||||
#define NTE_KEYSET_NOT_DEF (0x80090019)
|
||||
#define NTE_KEYSET_ENTRY_BAD (0x8009001A)
|
||||
#define NTE_PROV_TYPE_NO_MATCH (0x8009001B)
|
||||
#define NTE_SIGNATURE_FILE_BAD (0x8009001C)
|
||||
#define NTE_PROVIDER_DLL_FAIL (0x8009001D)
|
||||
#define NTE_PROV_DLL_NOT_FOUND (0x8009001E)
|
||||
#define NTE_BAD_KEYSET_PARAM (0x8009001F)
|
||||
#define NTE_FAIL (0x80090020)
|
||||
#define NTE_SYS_ERR (0x80090021)
|
||||
#define NTE_SILENT_CONTEXT (0x80090022)
|
||||
#define NTE_TOKEN_KEYSET_STORAGE_FULL (0x80090023)
|
||||
#define NTE_TEMPORARY_PROFILE (0x80090024)
|
||||
#define NTE_FIXEDPARAMETER (0x80090025)
|
||||
#define NTE_INVALID_HANDLE (0x80090026)
|
||||
#define NTE_INVALID_PARAMETER (0x80090027)
|
||||
#define NTE_BUFFER_TOO_SMALL (0x80090028)
|
||||
#define NTE_NOT_SUPPORTED (0x80090029)
|
||||
#define NTE_NO_MORE_ITEMS (0x8009002A)
|
||||
#define NTE_BUFFERS_OVERLAP (0x8009002B)
|
||||
#define NTE_DECRYPTION_FAILURE (0x8009002C)
|
||||
#define NTE_INTERNAL_ERROR (0x8009002D)
|
||||
#define NTE_UI_REQUIRED (0x8009002E)
|
||||
#define NTE_HMAC_NOT_SUPPORTED (0x8009002F)
|
||||
@@ -0,0 +1,365 @@
|
||||
#define EVENTLOG_SUCCESS 0x0000
|
||||
#define EVENTLOG_ERROR_TYPE 0x0001
|
||||
#define EVENTLOG_WARNING_TYPE 0x0002
|
||||
#define EVENTLOG_INFORMATION_TYPE 0x0004
|
||||
#define EVENTLOG_AUDIT_SUCCESS 0x0008
|
||||
#define EVENTLOG_AUDIT_FAILURE 0x0010
|
||||
|
||||
|
||||
#define EVENTLOG_SEQUENTIAL_READ 0x0001
|
||||
#define EVENTLOG_SEEK_READ 0x0002
|
||||
#define EVENTLOG_FORWARDS_READ 0x0004
|
||||
#define EVENTLOG_BACKWARDS_READ 0x0008
|
||||
|
||||
#define EVT_VARIANT_TYPE_MASK 0x7f
|
||||
#define EVT_VARIANT_TYPE_ARRAY 128
|
||||
|
||||
|
||||
///////////////////////////////////////////////////
|
||||
// //
|
||||
// Start of WinEvt Error codes //
|
||||
// //
|
||||
// 15000 to 15079 //
|
||||
///////////////////////////////////////////////////
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_INVALID_CHANNEL_PATH
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The specified channel path is invalid.
|
||||
//
|
||||
#define ERROR_EVT_INVALID_CHANNEL_PATH 15000L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_INVALID_QUERY
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The specified query is invalid.
|
||||
//
|
||||
#define ERROR_EVT_INVALID_QUERY 15001L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The publisher metadata cannot be found in the resource.
|
||||
//
|
||||
#define ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND 15002L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The template for an event definition cannot be found in the resource (error = %1).
|
||||
//
|
||||
#define ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND 15003L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_INVALID_PUBLISHER_NAME
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The specified publisher name is invalid.
|
||||
//
|
||||
#define ERROR_EVT_INVALID_PUBLISHER_NAME 15004L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_INVALID_EVENT_DATA
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The event data raised by the publisher is not compatible with the event template definition in the publisher's manifest
|
||||
//
|
||||
#define ERROR_EVT_INVALID_EVENT_DATA 15005L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_CHANNEL_NOT_FOUND
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The specified channel could not be found. Check channel configuration.
|
||||
//
|
||||
#define ERROR_EVT_CHANNEL_NOT_FOUND 15007L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_MALFORMED_XML_TEXT
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The specified xml text was not well-formed. See Extended Error for more details.
|
||||
//
|
||||
#define ERROR_EVT_MALFORMED_XML_TEXT 15008L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The caller is trying to subscribe to a direct channel which is not allowed. The events for a direct channel go directly to a logfile and cannot be subscribed to.
|
||||
//
|
||||
#define ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL 15009L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_CONFIGURATION_ERROR
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Configuration error.
|
||||
//
|
||||
#define ERROR_EVT_CONFIGURATION_ERROR 15010L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_QUERY_RESULT_STALE
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The query result is stale / invalid. This may be due to the log being cleared or rolling over after the query result was created. Users should handle this code by releasing the query result object and reissuing the query.
|
||||
//
|
||||
#define ERROR_EVT_QUERY_RESULT_STALE 15011L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_QUERY_RESULT_INVALID_POSITION
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Query result is currently at an invalid position.
|
||||
//
|
||||
#define ERROR_EVT_QUERY_RESULT_INVALID_POSITION 15012L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_NON_VALIDATING_MSXML
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Registered MSXML doesn't support validation.
|
||||
//
|
||||
#define ERROR_EVT_NON_VALIDATING_MSXML 15013L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_FILTER_ALREADYSCOPED
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// An expression can only be followed by a change of scope operation if it itself evaluates to a node set and is not already part of some other change of scope operation.
|
||||
//
|
||||
#define ERROR_EVT_FILTER_ALREADYSCOPED 15014L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_FILTER_NOTELTSET
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Can't perform a step operation from a term that does not represent an element set.
|
||||
//
|
||||
#define ERROR_EVT_FILTER_NOTELTSET 15015L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_FILTER_INVARG
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Left hand side arguments to binary operators must be either attributes, nodes or variables and right hand side arguments must be constants.
|
||||
//
|
||||
#define ERROR_EVT_FILTER_INVARG 15016L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_FILTER_INVTEST
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// A step operation must involve either a node test or, in the case of a predicate, an algebraic expression against which to test each node in the node set identified by the preceeding node set can be evaluated.
|
||||
//
|
||||
#define ERROR_EVT_FILTER_INVTEST 15017L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_FILTER_INVTYPE
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// This data type is currently unsupported.
|
||||
//
|
||||
#define ERROR_EVT_FILTER_INVTYPE 15018L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_FILTER_PARSEERR
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// A syntax error occurred at position %1!d!
|
||||
//
|
||||
#define ERROR_EVT_FILTER_PARSEERR 15019L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_FILTER_UNSUPPORTEDOP
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// This operator is unsupported by this implementation of the filter.
|
||||
//
|
||||
#define ERROR_EVT_FILTER_UNSUPPORTEDOP 15020L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_FILTER_UNEXPECTEDTOKEN
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The token encountered was unexpected.
|
||||
//
|
||||
#define ERROR_EVT_FILTER_UNEXPECTEDTOKEN 15021L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The requested operation cannot be performed over an enabled direct channel. The channel must first be disabled before performing the requested operation.
|
||||
//
|
||||
#define ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL 15022L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Channel property %1!s! contains invalid value. The value has invalid type, is outside of valid range, can't be updated or is not supported by this type of channel.
|
||||
//
|
||||
#define ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE 15023L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Publisher property %1!s! contains invalid value. The value has invalid type, is outside of valid range, can't be updated or is not supported by this type of publisher.
|
||||
//
|
||||
#define ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE 15024L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_CHANNEL_CANNOT_ACTIVATE
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The channel fails to activate.
|
||||
//
|
||||
#define ERROR_EVT_CHANNEL_CANNOT_ACTIVATE 15025L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_FILTER_TOO_COMPLEX
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The xpath expression exceeded supported complexity. Please symplify it or split it into two or more simple expressions.
|
||||
//
|
||||
#define ERROR_EVT_FILTER_TOO_COMPLEX 15026L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_MESSAGE_NOT_FOUND
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// the message resource is present but the message is not found in the string/message table
|
||||
//
|
||||
#define ERROR_EVT_MESSAGE_NOT_FOUND 15027L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_MESSAGE_ID_NOT_FOUND
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The message id for the desired message could not be found.
|
||||
//
|
||||
#define ERROR_EVT_MESSAGE_ID_NOT_FOUND 15028L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_UNRESOLVED_VALUE_INSERT
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The substitution string for insert index (%1) could not be found.
|
||||
//
|
||||
#define ERROR_EVT_UNRESOLVED_VALUE_INSERT 15029L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_UNRESOLVED_PARAMETER_INSERT
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The description string for parameter reference (%1) could not be found.
|
||||
//
|
||||
#define ERROR_EVT_UNRESOLVED_PARAMETER_INSERT 15030L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_MAX_INSERTS_REACHED
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The maximum number of replacements has been reached.
|
||||
//
|
||||
#define ERROR_EVT_MAX_INSERTS_REACHED 15031L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_EVENT_DEFINITION_NOT_FOUND
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The event definition could not be found for event id (%1).
|
||||
//
|
||||
#define ERROR_EVT_EVENT_DEFINITION_NOT_FOUND 15032L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The locale specific resource for the desired message is not present.
|
||||
//
|
||||
#define ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND 15033L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_VERSION_TOO_OLD
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The resource is too old to be compatible.
|
||||
//
|
||||
#define ERROR_EVT_VERSION_TOO_OLD 15034L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_VERSION_TOO_NEW
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The resource is too new to be compatible.
|
||||
//
|
||||
#define ERROR_EVT_VERSION_TOO_NEW 15035L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The channel at index %1!d! of the query can't be opened.
|
||||
//
|
||||
#define ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY 15036L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_PUBLISHER_DISABLED
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// The publisher has been disabled and its resource is not avaiable. This usually occurs when the publisher is in the process of being uninstalled or upgraded.
|
||||
//
|
||||
#define ERROR_EVT_PUBLISHER_DISABLED 15037L
|
||||
|
||||
//
|
||||
// MessageId: ERROR_EVT_FILTER_OUT_OF_RANGE
|
||||
//
|
||||
// MessageText:
|
||||
//
|
||||
// Attempted to create a numeric type that is outside of its valid range.
|
||||
//
|
||||
#define ERROR_EVT_FILTER_OUT_OF_RANGE 15038L
|
||||
@@ -0,0 +1,49 @@
|
||||
// A LOT of PE related definition are in windef.txt
|
||||
// This refactoring (multiple .txt file) come very late in the dev
|
||||
|
||||
#define IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA 0x0020 // Image can handle a high entropy 64-bit virtual address space.
|
||||
#define IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE 0x0040 // DLL can move.
|
||||
#define IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY 0x0080 // Code Integrity Image
|
||||
#define IMAGE_DLLCHARACTERISTICS_NX_COMPAT 0x0100 // Image is NX compatible
|
||||
#define IMAGE_DLLCHARACTERISTICS_NO_ISOLATION 0x0200 // Image understands isolation and doesn't want it
|
||||
#define IMAGE_DLLCHARACTERISTICS_NO_SEH 0x0400 // Image does not use SEH. No SE handler may reside in this image
|
||||
#define IMAGE_DLLCHARACTERISTICS_NO_BIND 0x0800 // Do not bind this image.
|
||||
#define IMAGE_DLLCHARACTERISTICS_APPCONTAINER 0x1000 // Image should execute in an AppContainer
|
||||
#define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER 0x2000 // Driver uses WDM model
|
||||
#define IMAGE_DLLCHARACTERISTICS_GUARD_CF 0x4000 // Image supports Control Flow Guard.
|
||||
#define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE 0x8000
|
||||
|
||||
// Directory Entries
|
||||
|
||||
#define IMAGE_DIRECTORY_ENTRY_EXPORT 0 // Export Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_IMPORT 1 // Import Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 // Resource Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 // Exception Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_SECURITY 4 // Security Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5 // Base Relocation Table
|
||||
#define IMAGE_DIRECTORY_ENTRY_DEBUG 6 // Debug Directory
|
||||
|
||||
#define IMAGE_DIRECTORY_ENTRY_ARCHITECTURE 7 // Architecture Specific Data
|
||||
#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 // RVA of GP
|
||||
#define IMAGE_DIRECTORY_ENTRY_TLS 9 // TLS Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 // Load Configuration Directory
|
||||
#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11 // Bound Import Directory in headers
|
||||
#define IMAGE_DIRECTORY_ENTRY_IAT 12 // Import Address Table
|
||||
#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13 // Delay Load Import Descriptors
|
||||
#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14 // COM Runtime descriptor
|
||||
|
||||
//
|
||||
// Based relocation types.
|
||||
//
|
||||
|
||||
#define IMAGE_REL_BASED_ABSOLUTE 0
|
||||
#define IMAGE_REL_BASED_HIGH 1
|
||||
#define IMAGE_REL_BASED_LOW 2
|
||||
#define IMAGE_REL_BASED_HIGHLOW 3
|
||||
#define IMAGE_REL_BASED_HIGHADJ 4
|
||||
#define IMAGE_REL_BASED_MACHINE_SPECIFIC_5 5
|
||||
#define IMAGE_REL_BASED_RESERVED 6
|
||||
#define IMAGE_REL_BASED_MACHINE_SPECIFIC_7 7
|
||||
#define IMAGE_REL_BASED_MACHINE_SPECIFIC_8 8
|
||||
#define IMAGE_REL_BASED_MACHINE_SPECIFIC_9 9
|
||||
#define IMAGE_REL_BASED_DIR64 10
|
||||
@@ -0,0 +1,741 @@
|
||||
#define CERT_QUERY_OBJECT_FILE 0x00000001
|
||||
#define CERT_QUERY_OBJECT_BLOB 0x00000002
|
||||
|
||||
#define CERT_QUERY_CONTENT_CERT 1
|
||||
#define CERT_QUERY_CONTENT_CTL 2
|
||||
#define CERT_QUERY_CONTENT_CRL 3
|
||||
#define CERT_QUERY_CONTENT_SERIALIZED_STORE 4
|
||||
#define CERT_QUERY_CONTENT_SERIALIZED_CERT 5
|
||||
#define CERT_QUERY_CONTENT_SERIALIZED_CTL 6
|
||||
#define CERT_QUERY_CONTENT_SERIALIZED_CRL 7
|
||||
#define CERT_QUERY_CONTENT_PKCS7_SIGNED 8
|
||||
#define CERT_QUERY_CONTENT_PKCS7_UNSIGNED 9
|
||||
#define CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED 10
|
||||
#define CERT_QUERY_CONTENT_PKCS10 11
|
||||
#define CERT_QUERY_CONTENT_PFX 12
|
||||
#define CERT_QUERY_CONTENT_CERT_PAIR 13
|
||||
#define CERT_QUERY_CONTENT_PFX_AND_LOAD 14
|
||||
|
||||
#define CERT_QUERY_FORMAT_BINARY 1
|
||||
#define CERT_QUERY_FORMAT_BASE64_ENCODED 2
|
||||
#define CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED 3
|
||||
|
||||
#define CERT_QUERY_FORMAT_FLAG_BINARY ( 1 << CERT_QUERY_FORMAT_BINARY)
|
||||
|
||||
#define CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED ( 1 << CERT_QUERY_FORMAT_BASE64_ENCODED)
|
||||
|
||||
#define CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED ( 1 << CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED)
|
||||
|
||||
#define CERT_QUERY_FORMAT_FLAG_ALL (CERT_QUERY_FORMAT_FLAG_BINARY | CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED | CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED)
|
||||
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_CERT ( 1 << CERT_QUERY_CONTENT_CERT)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_CTL ( 1 << CERT_QUERY_CONTENT_CTL)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_CRL ( 1 << CERT_QUERY_CONTENT_CRL)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE ( 1 << CERT_QUERY_CONTENT_SERIALIZED_STORE)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT ( 1 << CERT_QUERY_CONTENT_SERIALIZED_CERT)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL ( 1 << CERT_QUERY_CONTENT_SERIALIZED_CTL)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL ( 1 << CERT_QUERY_CONTENT_SERIALIZED_CRL)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED ( 1 << CERT_QUERY_CONTENT_PKCS7_SIGNED)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED ( 1 << CERT_QUERY_CONTENT_PKCS7_UNSIGNED)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED ( 1 << CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_PKCS10 ( 1 << CERT_QUERY_CONTENT_PKCS10)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_PFX ( 1 << CERT_QUERY_CONTENT_PFX)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_CERT_PAIR ( 1 << CERT_QUERY_CONTENT_CERT_PAIR)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD ( 1 << CERT_QUERY_CONTENT_PFX_AND_LOAD)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_ALL ( CERT_QUERY_CONTENT_FLAG_CERT | CERT_QUERY_CONTENT_FLAG_CTL | CERT_QUERY_CONTENT_FLAG_CRL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED | CERT_QUERY_CONTENT_FLAG_PKCS10 | CERT_QUERY_CONTENT_FLAG_PFX | CERT_QUERY_CONTENT_FLAG_CERT_PAIR )
|
||||
|
||||
|
||||
|
||||
#define CRYPT_ASN_ENCODING 0x00000001
|
||||
#define CRYPT_NDR_ENCODING 0x00000002
|
||||
#define X509_ASN_ENCODING 0x00000001
|
||||
#define X509_NDR_ENCODING 0x00000002
|
||||
#define PKCS_7_ASN_ENCODING 0x00010000
|
||||
#define PKCS_7_NDR_ENCODING 0x00020000
|
||||
|
||||
#define CERT_ENCODING_TYPE_MASK 0x0000FFFF
|
||||
#define CMSG_ENCODING_TYPE_MASK 0xFFFF0000
|
||||
|
||||
|
||||
#define CERT_COMPARE_MASK 0xFFFF
|
||||
#define CERT_COMPARE_SHIFT 16
|
||||
#define CERT_COMPARE_ANY 0
|
||||
#define CERT_COMPARE_SHA1_HASH 1
|
||||
#define CERT_COMPARE_NAME 2
|
||||
#define CERT_COMPARE_ATTR 3
|
||||
#define CERT_COMPARE_MD5_HASH 4
|
||||
#define CERT_COMPARE_PROPERTY 5
|
||||
#define CERT_COMPARE_PUBLIC_KEY 6
|
||||
#define CERT_COMPARE_HASH CERT_COMPARE_SHA1_HASH
|
||||
#define CERT_COMPARE_NAME_STR_A 7
|
||||
#define CERT_COMPARE_NAME_STR_W 8
|
||||
#define CERT_COMPARE_KEY_SPEC 9
|
||||
#define CERT_COMPARE_ENHKEY_USAGE 10
|
||||
#define CERT_COMPARE_CTL_USAGE CERT_COMPARE_ENHKEY_USAGE
|
||||
#define CERT_COMPARE_SUBJECT_CERT 11
|
||||
#define CERT_COMPARE_ISSUER_OF 12
|
||||
#define CERT_COMPARE_EXISTING 13
|
||||
#define CERT_COMPARE_SIGNATURE_HASH 14
|
||||
#define CERT_COMPARE_KEY_IDENTIFIER 15
|
||||
#define CERT_COMPARE_CERT_ID 16
|
||||
#define CERT_COMPARE_CROSS_CERT_DIST_POINTS 17
|
||||
#define CERT_COMPARE_PUBKEY_MD5_HASH 18
|
||||
#define CERT_COMPARE_SUBJECT_INFO_ACCESS 19
|
||||
|
||||
#define CERT_NAME_ISSUER_FLAG 0x1
|
||||
#define CERT_NAME_DISABLE_IE4_UTF8_FLAG 0x00010000
|
||||
|
||||
|
||||
#define USAGE_MATCH_TYPE_AND 0x00000000
|
||||
#define USAGE_MATCH_TYPE_OR 0x00000001
|
||||
|
||||
#define CERT_CHAIN_REVOCATION_CHECK_END_CERT 0x10000000
|
||||
#define CERT_CHAIN_REVOCATION_CHECK_CHAIN 0x20000000
|
||||
#define CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 0x40000000
|
||||
#define CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY 0x80000000
|
||||
|
||||
#define CERT_TRUST_NO_ERROR 0x00000000
|
||||
#define CERT_TRUST_IS_NOT_TIME_VALID 0x00000001
|
||||
#define CERT_TRUST_IS_NOT_TIME_NESTED 0x00000002
|
||||
#define CERT_TRUST_IS_REVOKED 0x00000004
|
||||
#define CERT_TRUST_IS_NOT_SIGNATURE_VALID 0x00000008
|
||||
#define CERT_TRUST_IS_NOT_VALID_FOR_USAGE 0x00000010
|
||||
#define CERT_TRUST_IS_UNTRUSTED_ROOT 0x00000020
|
||||
#define CERT_TRUST_REVOCATION_STATUS_UNKNOWN 0x00000040
|
||||
#define CERT_TRUST_IS_CYCLIC 0x00000080
|
||||
|
||||
#define CERT_TRUST_INVALID_EXTENSION 0x00000100
|
||||
#define CERT_TRUST_INVALID_POLICY_CONSTRAINTS 0x00000200
|
||||
#define CERT_TRUST_INVALID_BASIC_CONSTRAINTS 0x00000400
|
||||
#define CERT_TRUST_INVALID_NAME_CONSTRAINTS 0x00000800
|
||||
#define CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT 0x00001000
|
||||
|
||||
#define CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT 0x00002000
|
||||
|
||||
#define CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT 0x00004000
|
||||
#define CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT 0x00008000
|
||||
|
||||
#define CERT_TRUST_IS_OFFLINE_REVOCATION 0x01000000
|
||||
#define CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY 0x02000000
|
||||
#define CERT_TRUST_IS_EXPLICIT_DISTRUST 0x04000000
|
||||
#define CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT 0x08000000
|
||||
|
||||
#define CERT_TRUST_IS_PARTIAL_CHAIN 0x00010000
|
||||
#define CERT_TRUST_CTL_IS_NOT_TIME_VALID 0x00020000
|
||||
#define CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID 0x00040000
|
||||
#define CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE 0x00080000
|
||||
|
||||
#define CERT_TRUST_HAS_EXACT_MATCH_ISSUER 0x00000001
|
||||
#define CERT_TRUST_HAS_KEY_MATCH_ISSUER 0x00000002
|
||||
#define CERT_TRUST_HAS_NAME_MATCH_ISSUER 0x00000004
|
||||
#define CERT_TRUST_IS_SELF_SIGNED 0x00000008
|
||||
|
||||
#define CERT_TRUST_HAS_PREFERRED_ISSUER 0x00000100
|
||||
#define CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY 0x00000200
|
||||
#define CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS 0x00000400
|
||||
#define CERT_TRUST_IS_PEER_TRUSTED 0x00000800
|
||||
#define CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED 0x00001000
|
||||
|
||||
|
||||
#define CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE 0x00002000
|
||||
#define CERT_TRUST_IS_COMPLEX_CHAIN 0x00010000
|
||||
|
||||
|
||||
|
||||
#define CMSG_TYPE_PARAM 1
|
||||
#define CMSG_CONTENT_PARAM 2
|
||||
#define CMSG_BARE_CONTENT_PARAM 3
|
||||
#define CMSG_INNER_CONTENT_TYPE_PARAM 4
|
||||
#define CMSG_SIGNER_COUNT_PARAM 5
|
||||
#define CMSG_SIGNER_INFO_PARAM 6
|
||||
#define CMSG_SIGNER_CERT_INFO_PARAM 7
|
||||
#define CMSG_SIGNER_HASH_ALGORITHM_PARAM 8
|
||||
#define CMSG_SIGNER_AUTH_ATTR_PARAM 9
|
||||
#define CMSG_SIGNER_UNAUTH_ATTR_PARAM 10
|
||||
#define CMSG_CERT_COUNT_PARAM 11
|
||||
#define CMSG_CERT_PARAM 12
|
||||
#define CMSG_CRL_COUNT_PARAM 13
|
||||
#define CMSG_CRL_PARAM 14
|
||||
#define CMSG_ENVELOPE_ALGORITHM_PARAM 15
|
||||
#define CMSG_RECIPIENT_COUNT_PARAM 17
|
||||
#define CMSG_RECIPIENT_INDEX_PARAM 18
|
||||
#define CMSG_RECIPIENT_INFO_PARAM 19
|
||||
#define CMSG_HASH_ALGORITHM_PARAM 20
|
||||
#define CMSG_HASH_DATA_PARAM 21
|
||||
#define CMSG_COMPUTED_HASH_PARAM 22
|
||||
#define CMSG_ENCRYPT_PARAM 26
|
||||
#define CMSG_ENCRYPTED_DIGEST 27
|
||||
#define CMSG_ENCODED_SIGNER 28
|
||||
#define CMSG_ENCODED_MESSAGE 29
|
||||
#define CMSG_VERSION_PARAM 30
|
||||
#define CMSG_ATTR_CERT_COUNT_PARAM 31
|
||||
#define CMSG_ATTR_CERT_PARAM 32
|
||||
#define CMSG_CMS_RECIPIENT_COUNT_PARAM 33
|
||||
#define CMSG_CMS_RECIPIENT_INDEX_PARAM 34
|
||||
#define CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM 35
|
||||
#define CMSG_CMS_RECIPIENT_INFO_PARAM 36
|
||||
#define CMSG_UNPROTECTED_ATTR_PARAM 37
|
||||
#define CMSG_SIGNER_CERT_ID_PARAM 38
|
||||
#define CMSG_CMS_SIGNER_INFO_PARAM 39
|
||||
|
||||
|
||||
#define CERT_INFO_VERSION_FLAG 1
|
||||
#define CERT_INFO_SERIAL_NUMBER_FLAG 2
|
||||
#define CERT_INFO_SIGNATURE_ALGORITHM_FLAG 3
|
||||
#define CERT_INFO_ISSUER_FLAG 4
|
||||
#define CERT_INFO_NOT_BEFORE_FLAG 5
|
||||
#define CERT_INFO_NOT_AFTER_FLAG 6
|
||||
#define CERT_INFO_SUBJECT_FLAG 7
|
||||
#define CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG 8
|
||||
#define CERT_INFO_ISSUER_UNIQUE_ID_FLAG 9
|
||||
#define CERT_INFO_SUBJECT_UNIQUE_ID_FLAG 10
|
||||
#define CERT_INFO_EXTENSION_FLAG 11
|
||||
|
||||
#define CERT_FIND_ANY (CERT_COMPARE_ANY << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_SHA1_HASH (CERT_COMPARE_SHA1_HASH << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_MD5_HASH (CERT_COMPARE_MD5_HASH << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_SIGNATURE_HASH (CERT_COMPARE_SIGNATURE_HASH << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_KEY_IDENTIFIER (CERT_COMPARE_KEY_IDENTIFIER << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_HASH CERT_FIND_SHA1_HASH
|
||||
#define CERT_FIND_PROPERTY (CERT_COMPARE_PROPERTY << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_PUBLIC_KEY (CERT_COMPARE_PUBLIC_KEY << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_SUBJECT_NAME (CERT_COMPARE_NAME << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
|
||||
#define CERT_FIND_SUBJECT_ATTR (CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
|
||||
#define CERT_FIND_ISSUER_NAME (CERT_COMPARE_NAME << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
|
||||
#define CERT_FIND_ISSUER_ATTR (CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
|
||||
#define CERT_FIND_SUBJECT_STR_A (CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
|
||||
#define CERT_FIND_SUBJECT_STR_W (CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
|
||||
#define CERT_FIND_SUBJECT_STR CERT_FIND_SUBJECT_STR_W
|
||||
#define CERT_FIND_ISSUER_STR_A (CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
|
||||
#define CERT_FIND_ISSUER_STR_W (CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
|
||||
#define CERT_FIND_ISSUER_STR CERT_FIND_ISSUER_STR_W
|
||||
#define CERT_FIND_KEY_SPEC (CERT_COMPARE_KEY_SPEC << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_ENHKEY_USAGE (CERT_COMPARE_ENHKEY_USAGE << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_CTL_USAGE CERT_FIND_ENHKEY_USAGE
|
||||
|
||||
#define CERT_FIND_SUBJECT_CERT (CERT_COMPARE_SUBJECT_CERT << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_ISSUER_OF (CERT_COMPARE_ISSUER_OF << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_EXISTING (CERT_COMPARE_EXISTING << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_CERT_ID (CERT_COMPARE_CERT_ID << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_CROSS_CERT_DIST_POINTS (CERT_COMPARE_CROSS_CERT_DIST_POINTS << CERT_COMPARE_SHIFT)
|
||||
|
||||
|
||||
#define CERT_FIND_PUBKEY_MD5_HASH (CERT_COMPARE_PUBKEY_MD5_HASH << CERT_COMPARE_SHIFT)
|
||||
|
||||
#define CERT_FIND_SUBJECT_INFO_ACCESS (CERT_COMPARE_SUBJECT_INFO_ACCESS << CERT_COMPARE_SHIFT)
|
||||
|
||||
|
||||
#define CERT_NAME_EMAIL_TYPE 1
|
||||
#define CERT_NAME_RDN_TYPE 2
|
||||
#define CERT_NAME_ATTR_TYPE 3
|
||||
#define CERT_NAME_SIMPLE_DISPLAY_TYPE 4
|
||||
#define CERT_NAME_FRIENDLY_DISPLAY_TYPE 5
|
||||
#define CERT_NAME_DNS_TYPE 6
|
||||
#define CERT_NAME_URL_TYPE 7
|
||||
#define CERT_NAME_UPN_TYPE 8
|
||||
|
||||
|
||||
|
||||
#define CERT_KEY_PROV_HANDLE_PROP_ID 1
|
||||
#define CERT_KEY_PROV_INFO_PROP_ID 2
|
||||
#define CERT_SHA1_HASH_PROP_ID 3
|
||||
#define CERT_MD5_HASH_PROP_ID 4
|
||||
#define CERT_HASH_PROP_ID CERT_SHA1_HASH_PROP_ID
|
||||
#define CERT_KEY_CONTEXT_PROP_ID 5
|
||||
#define CERT_KEY_SPEC_PROP_ID 6
|
||||
#define CERT_IE30_RESERVED_PROP_ID 7
|
||||
#define CERT_PUBKEY_HASH_RESERVED_PROP_ID 8
|
||||
#define CERT_ENHKEY_USAGE_PROP_ID 9
|
||||
#define CERT_CTL_USAGE_PROP_ID CERT_ENHKEY_USAGE_PROP_ID
|
||||
#define CERT_NEXT_UPDATE_LOCATION_PROP_ID 10
|
||||
#define CERT_FRIENDLY_NAME_PROP_ID 11
|
||||
#define CERT_PVK_FILE_PROP_ID 12
|
||||
#define CERT_DESCRIPTION_PROP_ID 13
|
||||
#define CERT_ACCESS_STATE_PROP_ID 14
|
||||
#define CERT_SIGNATURE_HASH_PROP_ID 15
|
||||
#define CERT_SMART_CARD_DATA_PROP_ID 16
|
||||
#define CERT_EFS_PROP_ID 17
|
||||
#define CERT_FORTEZZA_DATA_PROP_ID 18
|
||||
#define CERT_ARCHIVED_PROP_ID 19
|
||||
#define CERT_KEY_IDENTIFIER_PROP_ID 20
|
||||
#define CERT_AUTO_ENROLL_PROP_ID 21
|
||||
#define CERT_PUBKEY_ALG_PARA_PROP_ID 22
|
||||
#define CERT_CROSS_CERT_DIST_POINTS_PROP_ID 23
|
||||
#define CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID 24
|
||||
#define CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID 25
|
||||
#define CERT_ENROLLMENT_PROP_ID 26
|
||||
#define CERT_DATE_STAMP_PROP_ID 27
|
||||
#define CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID 28
|
||||
#define CERT_SUBJECT_NAME_MD5_HASH_PROP_ID 29
|
||||
#define CERT_EXTENDED_ERROR_INFO_PROP_ID 30
|
||||
#define CERT_RENEWAL_PROP_ID 64
|
||||
#define CERT_ARCHIVED_KEY_HASH_PROP_ID 65
|
||||
#define CERT_AUTO_ENROLL_RETRY_PROP_ID 66
|
||||
#define CERT_AIA_URL_RETRIEVED_PROP_ID 67
|
||||
#define CERT_AUTHORITY_INFO_ACCESS_PROP_ID 68
|
||||
#define CERT_BACKED_UP_PROP_ID 69
|
||||
#define CERT_OCSP_RESPONSE_PROP_ID 70
|
||||
#define CERT_REQUEST_ORIGINATOR_PROP_ID 71
|
||||
#define CERT_SOURCE_LOCATION_PROP_ID 72
|
||||
|
||||
|
||||
|
||||
#define CRYPT_ACQUIRE_CACHE_FLAG 0x00000001
|
||||
#define CRYPT_ACQUIRE_USE_PROV_INFO_FLAG 0x00000002
|
||||
#define CRYPT_ACQUIRE_COMPARE_KEY_FLAG 0x00000004
|
||||
#define CRYPT_ACQUIRE_NO_HEALING 0x00000008
|
||||
#define CRYPT_ACQUIRE_SILENT_FLAG 0x00000040
|
||||
#define CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK 0x00070000
|
||||
#define CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG 0x00010000
|
||||
#define CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG 0x00020000
|
||||
#define CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG 0x00040000
|
||||
|
||||
|
||||
|
||||
#define CERT_STORE_PROV_MSG (1)
|
||||
#define CERT_STORE_PROV_MEMORY (2)
|
||||
#define CERT_STORE_PROV_FILE (3)
|
||||
#define CERT_STORE_PROV_REG (4)
|
||||
|
||||
#define CERT_STORE_PROV_PKCS7 (5)
|
||||
#define CERT_STORE_PROV_SERIALIZED (6)
|
||||
#define CERT_STORE_PROV_FILENAME_A (7)
|
||||
#define CERT_STORE_PROV_FILENAME_W (8)
|
||||
#define CERT_STORE_PROV_FILENAME CERT_STORE_PROV_FILENAME_W
|
||||
#define CERT_STORE_PROV_SYSTEM_A (9)
|
||||
#define CERT_STORE_PROV_SYSTEM_W (10)
|
||||
#define CERT_STORE_PROV_SYSTEM CERT_STORE_PROV_SYSTEM_W
|
||||
|
||||
#define CERT_STORE_PROV_COLLECTION (11)
|
||||
#define CERT_STORE_PROV_SYSTEM_REGISTRY_A (12)
|
||||
#define CERT_STORE_PROV_SYSTEM_REGISTRY_W (13)
|
||||
#define CERT_STORE_PROV_SYSTEM_REGISTRY CERT_STORE_PROV_SYSTEM_REGISTRY_W
|
||||
#define CERT_STORE_PROV_PHYSICAL_W (14)
|
||||
#define CERT_STORE_PROV_PHYSICAL CERT_STORE_PROV_PHYSICAL_W
|
||||
|
||||
#define CERT_STORE_PROV_SMART_CARD_W (15)
|
||||
#define CERT_STORE_PROV_SMART_CARD CERT_STORE_PROV_SMART_CARD_W
|
||||
|
||||
#define CERT_STORE_PROV_LDAP_W (16)
|
||||
#define CERT_STORE_PROV_LDAP CERT_STORE_PROV_LDAP_W
|
||||
#define CERT_STORE_PROV_PKCS12 (17)
|
||||
|
||||
|
||||
#define szOID_RSA "1.2.840.113549"
|
||||
#define szOID_PKCS "1.2.840.113549.1"
|
||||
#define szOID_RSA_HASH "1.2.840.113549.2"
|
||||
#define szOID_RSA_ENCRYPT "1.2.840.113549.3"
|
||||
#define szOID_PKCS_1 "1.2.840.113549.1.1"
|
||||
#define szOID_PKCS_2 "1.2.840.113549.1.2"
|
||||
#define szOID_PKCS_3 "1.2.840.113549.1.3"
|
||||
#define szOID_PKCS_4 "1.2.840.113549.1.4"
|
||||
#define szOID_PKCS_5 "1.2.840.113549.1.5"
|
||||
#define szOID_PKCS_6 "1.2.840.113549.1.6"
|
||||
#define szOID_PKCS_7 "1.2.840.113549.1.7"
|
||||
#define szOID_PKCS_8 "1.2.840.113549.1.8"
|
||||
#define szOID_PKCS_9 "1.2.840.113549.1.9"
|
||||
#define szOID_PKCS_10 "1.2.840.113549.1.10"
|
||||
#define szOID_PKCS_12 "1.2.840.113549.1.12"
|
||||
#define szOID_RSA_RSA "1.2.840.113549.1.1.1"
|
||||
#define szOID_RSA_MD2RSA "1.2.840.113549.1.1.2"
|
||||
#define szOID_RSA_MD4RSA "1.2.840.113549.1.1.3"
|
||||
#define szOID_RSA_MD5RSA "1.2.840.113549.1.1.4"
|
||||
#define szOID_RSA_SHA1RSA "1.2.840.113549.1.1.5"
|
||||
#define szOID_RSA_SETOAEP_RSA "1.2.840.113549.1.1.6"
|
||||
#define szOID_RSAES_OAEP "1.2.840.113549.1.1.7"
|
||||
#define szOID_RSA_MGF1 "1.2.840.113549.1.1.8"
|
||||
#define szOID_RSA_PSPECIFIED "1.2.840.113549.1.1.9"
|
||||
#define szOID_RSA_SSA_PSS "1.2.840.113549.1.1.10"
|
||||
#define szOID_RSA_SHA256RSA "1.2.840.113549.1.1.11"
|
||||
#define szOID_RSA_SHA384RSA "1.2.840.113549.1.1.12"
|
||||
#define szOID_RSA_SHA512RSA "1.2.840.113549.1.1.13"
|
||||
#define szOID_RSA_DH "1.2.840.113549.1.3.1"
|
||||
#define szOID_RSA_data "1.2.840.113549.1.7.1"
|
||||
#define szOID_RSA_signedData "1.2.840.113549.1.7.2"
|
||||
#define szOID_RSA_envelopedData "1.2.840.113549.1.7.3"
|
||||
#define szOID_RSA_signEnvData "1.2.840.113549.1.7.4"
|
||||
#define szOID_RSA_digestedData "1.2.840.113549.1.7.5"
|
||||
#define szOID_RSA_hashedData "1.2.840.113549.1.7.5"
|
||||
#define szOID_RSA_encryptedData "1.2.840.113549.1.7.6"
|
||||
#define szOID_RSA_emailAddr "1.2.840.113549.1.9.1"
|
||||
#define szOID_RSA_unstructName "1.2.840.113549.1.9.2"
|
||||
#define szOID_RSA_contentType "1.2.840.113549.1.9.3"
|
||||
#define szOID_RSA_messageDigest "1.2.840.113549.1.9.4"
|
||||
#define szOID_RSA_signingTime "1.2.840.113549.1.9.5"
|
||||
#define szOID_RSA_counterSign "1.2.840.113549.1.9.6"
|
||||
#define szOID_RSA_challengePwd "1.2.840.113549.1.9.7"
|
||||
#define szOID_RSA_unstructAddr "1.2.840.113549.1.9.8"
|
||||
#define szOID_RSA_extCertAttrs "1.2.840.113549.1.9.9"
|
||||
#define szOID_RSA_certExtensions "1.2.840.113549.1.9.14"
|
||||
#define szOID_RSA_SMIMECapabilities "1.2.840.113549.1.9.15"
|
||||
#define szOID_RSA_preferSignedData "1.2.840.113549.1.9.15.1"
|
||||
#define szOID_TIMESTAMP_TOKEN "1.2.840.113549.1.9.16.1.4"
|
||||
#define szOID_RFC3161_counterSign "1.3.6.1.4.1.311.3.3.1"
|
||||
#define szOID_RSA_SMIMEalg "1.2.840.113549.1.9.16.3"
|
||||
#define szOID_RSA_SMIMEalgESDH "1.2.840.113549.1.9.16.3.5"
|
||||
#define szOID_RSA_SMIMEalgCMS3DESwrap "1.2.840.113549.1.9.16.3.6"
|
||||
#define szOID_RSA_SMIMEalgCMSRC2wrap "1.2.840.113549.1.9.16.3.7"
|
||||
|
||||
#define szOID_RSA_MD2 "1.2.840.113549.2.2"
|
||||
#define szOID_RSA_MD4 "1.2.840.113549.2.4"
|
||||
#define szOID_RSA_MD5 "1.2.840.113549.2.5"
|
||||
#define szOID_RSA_RC2CBC "1.2.840.113549.3.2"
|
||||
#define szOID_RSA_RC4 "1.2.840.113549.3.4"
|
||||
#define szOID_RSA_DES_EDE3_CBC "1.2.840.113549.3.7"
|
||||
#define szOID_RSA_RC5_CBCPad "1.2.840.113549.3.9"
|
||||
#define szOID_ANSI_X942 "1.2.840.10046"
|
||||
#define szOID_ANSI_X942_DH "1.2.840.10046.2.1"
|
||||
#define szOID_X957 "1.2.840.10040"
|
||||
#define szOID_X957_DSA "1.2.840.10040.4.1"
|
||||
#define szOID_X957_SHA1DSA "1.2.840.10040.4.3"
|
||||
#define szOID_ECC_PUBLIC_KEY "1.2.840.10045.2.1"
|
||||
#define szOID_ECC_CURVE_P256 "1.2.840.10045.3.1.7"
|
||||
#define szOID_ECC_CURVE_P384 "1.3.132.0.34"
|
||||
#define szOID_ECC_CURVE_P521 "1.3.132.0.35"
|
||||
#define szOID_ECDSA_SHA1 "1.2.840.10045.4.1"
|
||||
#define szOID_ECDSA_SPECIFIED "1.2.840.10045.4.3"
|
||||
#define szOID_ECDSA_SHA256 "1.2.840.10045.4.3.2"
|
||||
#define szOID_ECDSA_SHA384 "1.2.840.10045.4.3.3"
|
||||
#define szOID_ECDSA_SHA512 "1.2.840.10045.4.3.4"
|
||||
#define szOID_NIST_AES128_CBC "2.16.840.1.101.3.4.1.2"
|
||||
#define szOID_NIST_AES192_CBC "2.16.840.1.101.3.4.1.22"
|
||||
#define szOID_NIST_AES256_CBC "2.16.840.1.101.3.4.1.42"
|
||||
#define szOID_NIST_AES128_WRAP "2.16.840.1.101.3.4.1.5"
|
||||
#define szOID_NIST_AES192_WRAP "2.16.840.1.101.3.4.1.25"
|
||||
#define szOID_NIST_AES256_WRAP "2.16.840.1.101.3.4.1.45"
|
||||
#define szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF "1.3.133.16.840.63.0.2"
|
||||
#define szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF "1.3.132.1.11.1"
|
||||
#define szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF "1.3.132.1.11.2"
|
||||
#define szOID_DS "2.5"
|
||||
#define szOID_DSALG "2.5.8"
|
||||
#define szOID_DSALG_CRPT "2.5.8.1"
|
||||
#define szOID_DSALG_HASH "2.5.8.2"
|
||||
#define szOID_DSALG_SIGN "2.5.8.3"
|
||||
#define szOID_DSALG_RSA "2.5.8.1.1"
|
||||
#define szOID_OIW "1.3.14"
|
||||
#define szOID_OIWSEC "1.3.14.3.2"
|
||||
#define szOID_OIWSEC_md4RSA "1.3.14.3.2.2"
|
||||
#define szOID_OIWSEC_md5RSA "1.3.14.3.2.3"
|
||||
#define szOID_OIWSEC_md4RSA2 "1.3.14.3.2.4"
|
||||
#define szOID_OIWSEC_desECB "1.3.14.3.2.6"
|
||||
#define szOID_OIWSEC_desCBC "1.3.14.3.2.7"
|
||||
#define szOID_OIWSEC_desOFB "1.3.14.3.2.8"
|
||||
#define szOID_OIWSEC_desCFB "1.3.14.3.2.9"
|
||||
#define szOID_OIWSEC_desMAC "1.3.14.3.2.10"
|
||||
#define szOID_OIWSEC_rsaSign "1.3.14.3.2.11"
|
||||
#define szOID_OIWSEC_dsa "1.3.14.3.2.12"
|
||||
#define szOID_OIWSEC_shaDSA "1.3.14.3.2.13"
|
||||
#define szOID_OIWSEC_mdc2RSA "1.3.14.3.2.14"
|
||||
#define szOID_OIWSEC_shaRSA "1.3.14.3.2.15"
|
||||
#define szOID_OIWSEC_dhCommMod "1.3.14.3.2.16"
|
||||
#define szOID_OIWSEC_desEDE "1.3.14.3.2.17"
|
||||
#define szOID_OIWSEC_sha "1.3.14.3.2.18"
|
||||
#define szOID_OIWSEC_mdc2 "1.3.14.3.2.19"
|
||||
#define szOID_OIWSEC_dsaComm "1.3.14.3.2.20"
|
||||
#define szOID_OIWSEC_dsaCommSHA "1.3.14.3.2.21"
|
||||
#define szOID_OIWSEC_rsaXchg "1.3.14.3.2.22"
|
||||
#define szOID_OIWSEC_keyHashSeal "1.3.14.3.2.23"
|
||||
#define szOID_OIWSEC_md2RSASign "1.3.14.3.2.24"
|
||||
#define szOID_OIWSEC_md5RSASign "1.3.14.3.2.25"
|
||||
#define szOID_OIWSEC_sha1 "1.3.14.3.2.26"
|
||||
#define szOID_OIWSEC_dsaSHA1 "1.3.14.3.2.27"
|
||||
#define szOID_OIWSEC_dsaCommSHA1 "1.3.14.3.2.28"
|
||||
#define szOID_OIWSEC_sha1RSASign "1.3.14.3.2.29"
|
||||
#define szOID_OIWDIR "1.3.14.7.2"
|
||||
#define szOID_OIWDIR_CRPT "1.3.14.7.2.1"
|
||||
#define szOID_OIWDIR_HASH "1.3.14.7.2.2"
|
||||
#define szOID_OIWDIR_SIGN "1.3.14.7.2.3"
|
||||
#define szOID_OIWDIR_md2 "1.3.14.7.2.2.1"
|
||||
#define szOID_OIWDIR_md2RSA "1.3.14.7.2.3.1"
|
||||
#define szOID_INFOSEC "2.16.840.1.101.2.1"
|
||||
#define szOID_INFOSEC_sdnsSignature "2.16.840.1.101.2.1.1.1"
|
||||
#define szOID_INFOSEC_mosaicSignature "2.16.840.1.101.2.1.1.2"
|
||||
#define szOID_INFOSEC_sdnsConfidentiality "2.16.840.1.101.2.1.1.3"
|
||||
#define szOID_INFOSEC_mosaicConfidentiality "2.16.840.1.101.2.1.1.4"
|
||||
#define szOID_INFOSEC_sdnsIntegrity "2.16.840.1.101.2.1.1.5"
|
||||
#define szOID_INFOSEC_mosaicIntegrity "2.16.840.1.101.2.1.1.6"
|
||||
#define szOID_INFOSEC_sdnsTokenProtection "2.16.840.1.101.2.1.1.7"
|
||||
#define szOID_INFOSEC_mosaicTokenProtection "2.16.840.1.101.2.1.1.8"
|
||||
#define szOID_INFOSEC_sdnsKeyManagement "2.16.840.1.101.2.1.1.9"
|
||||
#define szOID_INFOSEC_mosaicKeyManagement "2.16.840.1.101.2.1.1.10"
|
||||
#define szOID_INFOSEC_sdnsKMandSig "2.16.840.1.101.2.1.1.11"
|
||||
#define szOID_INFOSEC_mosaicKMandSig "2.16.840.1.101.2.1.1.12"
|
||||
#define szOID_INFOSEC_SuiteASignature "2.16.840.1.101.2.1.1.13"
|
||||
#define szOID_INFOSEC_SuiteAConfidentiality "2.16.840.1.101.2.1.1.14"
|
||||
#define szOID_INFOSEC_SuiteAIntegrity "2.16.840.1.101.2.1.1.15"
|
||||
#define szOID_INFOSEC_SuiteATokenProtection "2.16.840.1.101.2.1.1.16"
|
||||
#define szOID_INFOSEC_SuiteAKeyManagement "2.16.840.1.101.2.1.1.17"
|
||||
#define szOID_INFOSEC_SuiteAKMandSig "2.16.840.1.101.2.1.1.18"
|
||||
#define szOID_INFOSEC_mosaicUpdatedSig "2.16.840.1.101.2.1.1.19"
|
||||
#define szOID_INFOSEC_mosaicKMandUpdSig "2.16.840.1.101.2.1.1.20"
|
||||
#define szOID_INFOSEC_mosaicUpdatedInteg "2.16.840.1.101.2.1.1.21"
|
||||
#define szOID_NIST_sha256 "2.16.840.1.101.3.4.2.1"
|
||||
#define szOID_NIST_sha384 "2.16.840.1.101.3.4.2.2"
|
||||
#define szOID_NIST_sha512 "2.16.840.1.101.3.4.2.3"
|
||||
|
||||
|
||||
#define CRYPT_E_NOT_FOUND (0x80092004L)
|
||||
|
||||
|
||||
#define CERT_STORE_NO_CRYPT_RELEASE_FLAG 0x00000001
|
||||
#define CERT_STORE_SET_LOCALIZED_NAME_FLAG 0x00000002
|
||||
#define CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG 0x00000004
|
||||
#define CERT_STORE_DELETE_FLAG 0x00000010
|
||||
#define CERT_STORE_UNSAFE_PHYSICAL_FLAG 0x00000020
|
||||
#define CERT_STORE_SHARE_STORE_FLAG 0x00000040
|
||||
#define CERT_STORE_SHARE_CONTEXT_FLAG 0x00000080
|
||||
#define CERT_STORE_MANIFOLD_FLAG 0x00000100
|
||||
#define CERT_STORE_ENUM_ARCHIVED_FLAG 0x00000200
|
||||
#define CERT_STORE_UPDATE_KEYID_FLAG 0x00000400
|
||||
#define CERT_STORE_BACKUP_RESTORE_FLAG 0x00000800
|
||||
#define CERT_STORE_READONLY_FLAG 0x00008000
|
||||
#define CERT_STORE_OPEN_EXISTING_FLAG 0x00004000
|
||||
#define CERT_STORE_CREATE_NEW_FLAG 0x00002000
|
||||
#define CERT_STORE_MAXIMUM_ALLOWED_FLAG 0x00001000
|
||||
|
||||
|
||||
|
||||
#define CRYPT_USER_KEYSET 0x00001000
|
||||
#define PKCS12_PREFER_CNG_KSP 0x00000100
|
||||
#define PKCS12_ALWAYS_CNG_KSP 0x00000200
|
||||
#define PKCS12_ALLOW_OVERWRITE_KEY 0x00004000
|
||||
#define PKCS12_NO_PERSIST_KEY 0x00008000
|
||||
|
||||
|
||||
#define CRYPT_VERIFYCONTEXT 0xF0000000
|
||||
#define CRYPT_NEWKEYSET 0x00000008
|
||||
#define CRYPT_DELETEKEYSET 0x00000010
|
||||
#define CRYPT_MACHINE_KEYSET 0x00000020
|
||||
#define CRYPT_SILENT 0x00000040
|
||||
#define CRYPT_DEFAULT_CONTAINER_OPTIONAL 0x00000080
|
||||
|
||||
|
||||
#define CRYPT_EXPORTABLE 0x00000001
|
||||
#define CRYPT_USER_PROTECTED 0x00000002
|
||||
#define CRYPT_CREATE_SALT 0x00000004
|
||||
#define CRYPT_UPDATE_KEY 0x00000008
|
||||
#define CRYPT_NO_SALT 0x00000010
|
||||
#define CRYPT_PREGEN 0x00000040
|
||||
#define CRYPT_RECIPIENT 0x00000010
|
||||
#define CRYPT_INITIATOR 0x00000040
|
||||
#define CRYPT_ONLINE 0x00000080
|
||||
#define CRYPT_SF 0x00000100
|
||||
#define CRYPT_CREATE_IV 0x00000200
|
||||
#define CRYPT_KEK 0x00000400
|
||||
#define CRYPT_DATA_KEY 0x00000800
|
||||
#define CRYPT_VOLATILE 0x00001000
|
||||
#define CRYPT_SGCKEY 0x00002000
|
||||
#define CRYPT_ARCHIVABLE 0x00004000
|
||||
#define CRYPT_FORCE_KEY_PROTECTION_HIGH 0x00008000
|
||||
|
||||
|
||||
#define CRYPT_ENCODE_DECODE_NONE 0
|
||||
#define X509_CERT (1)
|
||||
#define X509_CERT_TO_BE_SIGNED (2)
|
||||
#define X509_CERT_CRL_TO_BE_SIGNED (3)
|
||||
#define X509_CERT_REQUEST_TO_BE_SIGNED (4)
|
||||
#define X509_EXTENSIONS (5)
|
||||
#define X509_NAME_VALUE (6)
|
||||
#define X509_NAME (7)
|
||||
#define X509_PUBLIC_KEY_INFO (8)
|
||||
|
||||
|
||||
#define X509_AUTHORITY_KEY_ID (9)
|
||||
#define X509_KEY_ATTRIBUTES (10)
|
||||
#define X509_KEY_USAGE_RESTRICTION (11)
|
||||
#define X509_ALTERNATE_NAME (12)
|
||||
#define X509_BASIC_CONSTRAINTS (13)
|
||||
#define X509_KEY_USAGE (14)
|
||||
#define X509_BASIC_CONSTRAINTS2 (15)
|
||||
#define X509_CERT_POLICIES (16)
|
||||
|
||||
|
||||
#define PKCS_UTC_TIME (17)
|
||||
#define PKCS_TIME_REQUEST (18)
|
||||
#define RSA_CSP_PUBLICKEYBLOB (19)
|
||||
#define X509_UNICODE_NAME (20)
|
||||
|
||||
#define X509_KEYGEN_REQUEST_TO_BE_SIGNED (21)
|
||||
#define PKCS_ATTRIBUTE (22)
|
||||
#define PKCS_CONTENT_INFO_SEQUENCE_OF_ANY (23)
|
||||
|
||||
|
||||
|
||||
#define X509_UNICODE_NAME_VALUE (24)
|
||||
#define X509_ANY_STRING X509_NAME_VALUE
|
||||
#define X509_UNICODE_ANY_STRING X509_UNICODE_NAME_VALUE
|
||||
#define X509_OCTET_STRING (25)
|
||||
#define X509_BITS (26)
|
||||
#define X509_INTEGER (27)
|
||||
#define X509_MULTI_BYTE_INTEGER (28)
|
||||
#define X509_ENUMERATED (29)
|
||||
#define X509_CHOICE_OF_TIME (30)
|
||||
|
||||
#define CERT_SIMPLE_NAME_STR 1
|
||||
#define CERT_OID_NAME_STR 2
|
||||
#define CERT_X500_NAME_STR 3
|
||||
#define CERT_XML_NAME_STR 4
|
||||
|
||||
#define AT_KEYEXCHANGE 1
|
||||
#define AT_SIGNATURE 2
|
||||
|
||||
|
||||
|
||||
#define MS_DEF_PROV_A "Microsoft Base Cryptographic Provider v1.0"
|
||||
#define MS_DEF_PROV_W u"Microsoft Base Cryptographic Provider v1.0"
|
||||
#define MS_DEF_PROV MS_DEF_PROV_A
|
||||
|
||||
#define MS_ENHANCED_PROV_A "Microsoft Enhanced Cryptographic Provider v1.0"
|
||||
#define MS_ENHANCED_PROV_W u"Microsoft Enhanced Cryptographic Provider v1.0"
|
||||
#define MS_ENHANCED_PROV MS_ENHANCED_PROV_A
|
||||
|
||||
|
||||
#define MS_STRONG_PROV_A "Microsoft Strong Cryptographic Provider"
|
||||
#define MS_STRONG_PROV_W u"Microsoft Strong Cryptographic Provider"
|
||||
#define MS_STRONG_PROV MS_STRONG_PROV_A
|
||||
|
||||
#define MS_DEF_RSA_SIG_PROV_A "Microsoft RSA Signature Cryptographic Provider"
|
||||
#define MS_DEF_RSA_SIG_PROV_W u"Microsoft RSA Signature Cryptographic Provider"
|
||||
#define MS_DEF_RSA_SIG_PROV MS_DEF_RSA_SIG_PROV_A
|
||||
|
||||
#define MS_ENH_RSA_AES_PROV_A "Microsoft Enhanced RSA and AES Cryptographic Provider"
|
||||
#define MS_ENH_RSA_AES_PROV_W u"Microsoft Enhanced RSA and AES Cryptographic Provider"
|
||||
#define MS_ENH_RSA_AES_PROV_XP_A "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"
|
||||
#define MS_ENH_RSA_AES_PROV_XP_W u"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"
|
||||
|
||||
|
||||
#define CERT_STORE_ADD_NEW 1
|
||||
#define CERT_STORE_ADD_USE_EXISTING 2
|
||||
#define CERT_STORE_ADD_REPLACE_EXISTING 3
|
||||
#define CERT_STORE_ADD_ALWAYS 4
|
||||
#define CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES 5
|
||||
#define CERT_STORE_ADD_NEWER 6
|
||||
#define CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES 7
|
||||
|
||||
|
||||
#define PROV_RSA_FULL 1
|
||||
#define PROV_RSA_SIG 2
|
||||
#define PROV_DSS 3
|
||||
#define PROV_FORTEZZA 4
|
||||
#define PROV_MS_EXCHANGE 5
|
||||
#define PROV_SSL 6
|
||||
#define PROV_RSA_SCHANNEL 12
|
||||
#define PROV_DSS_DH 13
|
||||
#define PROV_EC_ECDSA_SIG 14
|
||||
#define PROV_EC_ECNRA_SIG 15
|
||||
#define PROV_EC_ECDSA_FULL 16
|
||||
#define PROV_EC_ECNRA_FULL 17
|
||||
#define PROV_DH_SCHANNEL 18
|
||||
#define PROV_SPYRUS_LYNKS 20
|
||||
#define PROV_RNG 21
|
||||
#define PROV_INTEL_SEC 22
|
||||
#define PROV_REPLACE_OWF 23
|
||||
#define PROV_RSA_AES 24
|
||||
|
||||
|
||||
|
||||
#define REPORT_NO_PRIVATE_KEY 0x0001
|
||||
#define REPORT_NOT_ABLE_TO_EXPORT_PRIVATE_KEY 0x0002
|
||||
#define EXPORT_PRIVATE_KEYS 0x0004
|
||||
#define PKCS12_INCLUDE_EXTENDED_PROPERTIES 0x0010
|
||||
#define PKCS12_EXPORT_RESERVED_MASK 0xffff0000
|
||||
|
||||
|
||||
#define CERT_SYSTEM_STORE_UNPROTECTED_FLAG 0x40000000
|
||||
#define CERT_SYSTEM_STORE_LOCATION_MASK 0x00FF0000
|
||||
#define CERT_SYSTEM_STORE_LOCATION_SHIFT 16
|
||||
|
||||
|
||||
#define CERT_SYSTEM_STORE_CURRENT_USER_ID 1
|
||||
#define CERT_SYSTEM_STORE_LOCAL_MACHINE_ID 2
|
||||
#define CERT_SYSTEM_STORE_CURRENT_SERVICE_ID 4
|
||||
#define CERT_SYSTEM_STORE_SERVICES_ID 5
|
||||
#define CERT_SYSTEM_STORE_USERS_ID 6
|
||||
#define CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID 7
|
||||
#define CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID 8
|
||||
#define CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID 9
|
||||
|
||||
#define CERT_SYSTEM_STORE_CURRENT_USER (CERT_SYSTEM_STORE_CURRENT_USER_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT)
|
||||
#define CERT_SYSTEM_STORE_LOCAL_MACHINE (CERT_SYSTEM_STORE_LOCAL_MACHINE_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT)
|
||||
#define CERT_SYSTEM_STORE_CURRENT_SERVICE (CERT_SYSTEM_STORE_CURRENT_SERVICE_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT)
|
||||
#define CERT_SYSTEM_STORE_SERVICES (CERT_SYSTEM_STORE_SERVICES_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT)
|
||||
#define CERT_SYSTEM_STORE_USERS (CERT_SYSTEM_STORE_USERS_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT)
|
||||
|
||||
#define CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY (CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT)
|
||||
#define CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY (CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT)
|
||||
#define CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE (CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT)
|
||||
|
||||
//+-------------------------------------------------------------------------
|
||||
// Message types
|
||||
//--------------------------------------------------------------------------
|
||||
#define CMSG_DATA 1
|
||||
#define CMSG_SIGNED 2
|
||||
#define CMSG_ENVELOPED 3
|
||||
#define CMSG_SIGNED_AND_ENVELOPED 4
|
||||
#define CMSG_HASHED 5
|
||||
#define CMSG_ENCRYPTED 6
|
||||
|
||||
//+-------------------------------------------------------------------------
|
||||
// Open dwFlags
|
||||
//--------------------------------------------------------------------------
|
||||
#define CMSG_BARE_CONTENT_FLAG 0x00000001
|
||||
#define CMSG_LENGTH_ONLY_FLAG 0x00000002
|
||||
#define CMSG_DETACHED_FLAG 0x00000004
|
||||
#define CMSG_AUTHENTICATED_ATTRIBUTES_FLAG 0x00000008
|
||||
#define CMSG_CONTENTS_OCTETS_FLAG 0x00000010
|
||||
#define CMSG_MAX_LENGTH_FLAG 0x00000020
|
||||
|
||||
// When set, nonData type inner content is encapsulated within an
|
||||
// OCTET STRING. Applicable to both Signed and Enveloped messages.
|
||||
#define CMSG_CMS_ENCAPSULATED_CONTENT_FLAG 0x00000040
|
||||
|
||||
// If set, then, the hCryptProv passed to CryptMsgOpenToEncode or
|
||||
// CryptMsgOpenToDecode is released on the final CryptMsgClose.
|
||||
// Not released if CryptMsgOpenToEncode or CryptMsgOpenToDecode fails.
|
||||
//
|
||||
// Also applies to hNCryptKey where applicable.
|
||||
//
|
||||
// Note, the envelope recipient hCryptProv's aren't released.
|
||||
#define CMSG_CRYPT_RELEASE_CONTEXT_FLAG 0x00008000
|
||||
|
||||
|
||||
#define CMSG_INDEFINITE_LENGTH (0xFFFFFFFF)
|
||||
|
||||
|
||||
//+-------------------------------------------------------------------------
|
||||
// Message control types
|
||||
//--------------------------------------------------------------------------
|
||||
#define CMSG_CTRL_VERIFY_SIGNATURE 1
|
||||
#define CMSG_CTRL_DECRYPT 2
|
||||
#define CMSG_CTRL_VERIFY_HASH 5
|
||||
#define CMSG_CTRL_ADD_SIGNER 6
|
||||
#define CMSG_CTRL_DEL_SIGNER 7
|
||||
#define CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR 8
|
||||
#define CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR 9
|
||||
#define CMSG_CTRL_ADD_CERT 10
|
||||
#define CMSG_CTRL_DEL_CERT 11
|
||||
#define CMSG_CTRL_ADD_CRL 12
|
||||
#define CMSG_CTRL_DEL_CRL 13
|
||||
#define CMSG_CTRL_ADD_ATTR_CERT 14
|
||||
#define CMSG_CTRL_DEL_ATTR_CERT 15
|
||||
#define CMSG_CTRL_KEY_TRANS_DECRYPT 16
|
||||
#define CMSG_CTRL_KEY_AGREE_DECRYPT 17
|
||||
#define CMSG_CTRL_MAIL_LIST_DECRYPT 18
|
||||
#define CMSG_CTRL_VERIFY_SIGNATURE_EX 19
|
||||
#define CMSG_CTRL_ADD_CMS_SIGNER_INFO 20
|
||||
#define CMSG_CTRL_ENABLE_STRONG_SIGNATURE 21
|
||||
@@ -0,0 +1,69 @@
|
||||
import sys
|
||||
|
||||
if sys.version_info.major == 3:
|
||||
long = int
|
||||
|
||||
|
||||
class Flag(long):
|
||||
def __new__(cls, name, value):
|
||||
return super(Flag, cls).__new__(cls, value)
|
||||
|
||||
def __init__(self, name, value):
|
||||
self.name = name
|
||||
|
||||
def __repr__(self):
|
||||
return "{0}({1:#x})".format(self.name, self)
|
||||
|
||||
__str__ = __repr__
|
||||
|
||||
# Fix pickling with protocol 2
|
||||
def __getnewargs__(self, *args):
|
||||
return self.name, long(self)
|
||||
|
||||
|
||||
class StrFlag(str):
|
||||
def __new__(cls, name, value):
|
||||
if isinstance(value, cls):
|
||||
return value
|
||||
return super(StrFlag, cls).__new__(cls, value)
|
||||
|
||||
def __init__(self, name, value):
|
||||
self.name = name
|
||||
|
||||
def __repr__(self):
|
||||
return "{0}({1})".format(self.name, str.__repr__(self))
|
||||
|
||||
# __str__ = __repr__
|
||||
|
||||
# Fix pickling with protocol 2
|
||||
def __getnewargs__(self, *args):
|
||||
return self.name, str.__str__(self)
|
||||
|
||||
|
||||
def make_flag(name, value):
|
||||
if isinstance(value, (int, long)):
|
||||
return Flag(name, value)
|
||||
return StrFlag(name, value)
|
||||
|
||||
|
||||
class FlagMapper(dict):
|
||||
def __init__(self, *values):
|
||||
self.update({x:x for x in values})
|
||||
|
||||
def __missing__(self, key):
|
||||
return key
|
||||
|
||||
|
||||
class FlagExatractor(object):
|
||||
def __init__(self, attr, values):
|
||||
self.attr = attr
|
||||
self.attrsize = attr.size * 8
|
||||
self.mapper = FlagMapper(*values)
|
||||
|
||||
def __get__(self, obj, type):
|
||||
if obj is None:
|
||||
return self
|
||||
# Retrieve the real value
|
||||
value = self.attr.__get__(obj)
|
||||
generator = (1 << i for i in range(self.attrsize))
|
||||
return [self.mapper[f] for f in generator if value & f]
|
||||
@@ -0,0 +1,6 @@
|
||||
HRESULT WINAPI ObjectFromLresult(
|
||||
_In_ LRESULT lResult,
|
||||
_In_ REFIID riid,
|
||||
_In_ WPARAM wParam,
|
||||
_Out_ PVOID *ppvObject
|
||||
);
|
||||
@@ -0,0 +1,47 @@
|
||||
HRESULT WINAPI CoInitializeEx(
|
||||
_In_opt_ LPVOID pvReserved,
|
||||
_In_ DWORD dwCoInit
|
||||
);
|
||||
|
||||
HRESULT WINAPI CoInitializeSecurity(
|
||||
_In_opt_ PSECURITY_DESCRIPTOR pSecDesc,
|
||||
_In_ LONG cAuthSvc,
|
||||
_In_opt_ SOLE_AUTHENTICATION_SERVICE *asAuthSvc,
|
||||
_In_opt_ PVOID pReserved1,
|
||||
_In_ DWORD dwAuthnLevel,
|
||||
_In_ DWORD dwImpLevel,
|
||||
_In_opt_ PVOID pAuthList,
|
||||
_In_ DWORD dwCapabilities,
|
||||
_In_opt_ PVOID pReserved3
|
||||
);
|
||||
|
||||
HRESULT WINAPI CoCreateInstance(
|
||||
_In_ REFCLSID rclsid,
|
||||
_In_ LPUNKNOWN pUnkOuter,
|
||||
_In_ DWORD dwClsContext,
|
||||
_In_ REFIID riid,
|
||||
_Out_ LPVOID *ppv
|
||||
);
|
||||
|
||||
HRESULT WINAPI CoCreateInstanceEx(
|
||||
_In_ REFCLSID rclsid,
|
||||
_In_ IUnknown *punkOuter,
|
||||
_In_ DWORD dwClsCtx,
|
||||
_In_ COSERVERINFO *pServerInfo,
|
||||
_In_ DWORD dwCount,
|
||||
_Inout_ MULTI_QI *pResults
|
||||
);
|
||||
|
||||
|
||||
HRESULT WINAPI CoGetInterceptor(
|
||||
_In_ REFIID iidIntercepted,
|
||||
_In_ IUnknown *punkOuter,
|
||||
_In_ REFIID iid,
|
||||
_Out_ PVOID *ppv
|
||||
);
|
||||
|
||||
|
||||
HRESULT WINAPI CLSIDFromProgID(
|
||||
_In_ LPCOLESTR lpszProgID,
|
||||
_Out_ LPCLSID lpclsid
|
||||
);
|
||||
@@ -0,0 +1,37 @@
|
||||
DWORD64 WINAPI SymLoadModuleExA(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ HANDLE hFile,
|
||||
_In_ PCSTR ImageName,
|
||||
_In_ PCSTR ModuleName,
|
||||
_In_ DWORD64 BaseOfDll,
|
||||
_In_ DWORD DllSize,
|
||||
_In_ PMODLOAD_DATA Data,
|
||||
_In_ DWORD Flags
|
||||
);
|
||||
|
||||
|
||||
DWORD64 WINAPI SymLoadModuleExW(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ HANDLE hFile,
|
||||
_In_ PCWSTR ImageName,
|
||||
_In_ PCWSTR ModuleName,
|
||||
_In_ DWORD64 BaseOfDll,
|
||||
_In_ DWORD DllSize,
|
||||
_In_ PMODLOAD_DATA Data,
|
||||
_In_ DWORD Flags
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI SymFromAddr(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ DWORD64 Address,
|
||||
_Out_opt_ PDWORD64 Displacement,
|
||||
_Inout_ PSYMBOL_INFO Symbol
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI SymGetModuleInfo64(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ DWORD64 dwAddr,
|
||||
_Out_ PIMAGEHLP_MODULE64 ModuleInfo
|
||||
);
|
||||
@@ -0,0 +1,50 @@
|
||||
HANDLE WINAPI CreateFileTransactedA(
|
||||
_In_ LPCSTR lpFileName,
|
||||
_In_ DWORD dwDesiredAccess,
|
||||
_In_ DWORD dwShareMode,
|
||||
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
|
||||
_In_ DWORD dwCreationDisposition,
|
||||
_In_ DWORD dwFlagsAndAttributes,
|
||||
_In_opt_ HANDLE hTemplateFile,
|
||||
_In_ HANDLE hTransaction,
|
||||
_In_opt_ PUSHORT pusMiniVersion,
|
||||
_Reserved_ PVOID pExtendedParameter
|
||||
);
|
||||
|
||||
|
||||
HANDLE WINAPI CreateFileTransactedW(
|
||||
_In_ LPWSTR lpFileName,
|
||||
_In_ DWORD dwDesiredAccess,
|
||||
_In_ DWORD dwShareMode,
|
||||
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
|
||||
_In_ DWORD dwCreationDisposition,
|
||||
_In_ DWORD dwFlagsAndAttributes,
|
||||
_In_opt_ HANDLE hTemplateFile,
|
||||
_In_ HANDLE hTransaction,
|
||||
_In_opt_ PUSHORT pusMiniVersion,
|
||||
_Reserved_ PVOID pExtendedParameter
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI CommitTransaction(
|
||||
_In_ HANDLE TransactionHandle
|
||||
);
|
||||
|
||||
HANDLE WINAPI CreateTransaction(
|
||||
_In_opt_ LPSECURITY_ATTRIBUTES lpTransactionAttributes,
|
||||
_In_opt_ LPGUID UOW,
|
||||
_In_opt_ DWORD CreateOptions,
|
||||
_In_opt_ DWORD IsolationLevel,
|
||||
_In_opt_ DWORD IsolationFlags,
|
||||
_In_opt_ DWORD Timeout,
|
||||
_In_opt_ LPWSTR Description
|
||||
);
|
||||
|
||||
BOOL WINAPI RollbackTransaction(
|
||||
_In_ HANDLE TransactionHandle
|
||||
);
|
||||
|
||||
HANDLE WINAPI OpenTransaction(
|
||||
_In_ DWORD dwDesiredAccess,
|
||||
_In_ LPGUID TransactionId
|
||||
);
|
||||
@@ -0,0 +1,45 @@
|
||||
NTSTATUS WINAPI NtOpenKey(
|
||||
_Out_ PHANDLE KeyHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtCreateKey(
|
||||
_Out_ PHANDLE pKeyHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_ ULONG TitleIndex,
|
||||
_In_ PUNICODE_STRING Class,
|
||||
_In_ ULONG CreateOptions,
|
||||
_Out_ PULONG Disposition
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtSetValueKey(
|
||||
_In_ HANDLE KeyHandle,
|
||||
_In_ PUNICODE_STRING ValueName,
|
||||
_In_ ULONG TitleIndex,
|
||||
_In_ ULONG Type,
|
||||
_In_ PVOID Data,
|
||||
_In_ ULONG DataSize
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS NtQueryValueKey(
|
||||
HANDLE KeyHandle,
|
||||
PUNICODE_STRING ValueName,
|
||||
KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
||||
PVOID KeyValueInformation,
|
||||
ULONG Length,
|
||||
PULONG ResultLength
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS NtEnumerateValueKey(
|
||||
HANDLE KeyHandle,
|
||||
ULONG Index,
|
||||
KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
|
||||
PVOID KeyValueInformation,
|
||||
ULONG Length,
|
||||
PULONG ResultLength
|
||||
);
|
||||
@@ -0,0 +1,54 @@
|
||||
BOOL WINAPI CreatePipe(
|
||||
_Out_ PHANDLE hReadPipe,
|
||||
_Out_ PHANDLE hWritePipe,
|
||||
_In_opt_ LPSECURITY_ATTRIBUTES lpPipeAttributes,
|
||||
_In_ DWORD nSize
|
||||
);
|
||||
|
||||
|
||||
HANDLE WINAPI CreateNamedPipeA(
|
||||
_In_ LPCSTR lpName,
|
||||
_In_ DWORD dwOpenMode,
|
||||
_In_ DWORD dwPipeMode,
|
||||
_In_ DWORD nMaxInstances,
|
||||
_In_ DWORD nOutBufferSize,
|
||||
_In_ DWORD nInBufferSize,
|
||||
_In_ DWORD nDefaultTimeOut,
|
||||
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes
|
||||
);
|
||||
|
||||
HANDLE WINAPI CreateNamedPipeW(
|
||||
_In_ LPWSTR lpName,
|
||||
_In_ DWORD dwOpenMode,
|
||||
_In_ DWORD dwPipeMode,
|
||||
_In_ DWORD nMaxInstances,
|
||||
_In_ DWORD nOutBufferSize,
|
||||
_In_ DWORD nInBufferSize,
|
||||
_In_ DWORD nDefaultTimeOut,
|
||||
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI ConnectNamedPipe(
|
||||
_In_ HANDLE hNamedPipe,
|
||||
_Inout_opt_ LPOVERLAPPED lpOverlapped
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI SetNamedPipeHandleState(
|
||||
_In_ HANDLE hNamedPipe,
|
||||
_In_opt_ LPDWORD lpMode,
|
||||
_In_opt_ LPDWORD lpMaxCollectionCount,
|
||||
_In_opt_ LPDWORD lpCollectDataTimeout
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI PeekNamedPipe(
|
||||
_In_ HANDLE hNamedPipe,
|
||||
_Out_opt_ LPVOID lpBuffer,
|
||||
_In_ DWORD nBufferSize,
|
||||
_Out_opt_ LPDWORD lpBytesRead,
|
||||
_Out_opt_ LPDWORD lpTotalBytesAvail,
|
||||
_Out_opt_ LPDWORD lpBytesLeftThisMessage
|
||||
);
|
||||
|
||||
@@ -0,0 +1,143 @@
|
||||
BOOL WINAPI IsValidSecurityDescriptor(
|
||||
_In_ PSECURITY_DESCRIPTOR pSecurityDescriptor
|
||||
);
|
||||
|
||||
BOOL WINAPI ConvertStringSecurityDescriptorToSecurityDescriptorA(
|
||||
_In_ LPCSTR StringSecurityDescriptor,
|
||||
_In_ DWORD StringSDRevision,
|
||||
_Out_ PSECURITY_DESCRIPTOR *SecurityDescriptor,
|
||||
_Out_ PULONG SecurityDescriptorSize
|
||||
);
|
||||
|
||||
BOOL WINAPI ConvertStringSecurityDescriptorToSecurityDescriptorW(
|
||||
_In_ LPWSTR StringSecurityDescriptor,
|
||||
_In_ DWORD StringSDRevision,
|
||||
_Out_ PSECURITY_DESCRIPTOR *SecurityDescriptor,
|
||||
_Out_ PULONG SecurityDescriptorSize
|
||||
);
|
||||
|
||||
BOOL WINAPI ConvertSecurityDescriptorToStringSecurityDescriptorA(
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ DWORD RequestedStringSDRevision,
|
||||
_In_ DWORD SecurityInformation,
|
||||
_Out_ LPCSTR *StringSecurityDescriptor,
|
||||
_Out_ PULONG StringSecurityDescriptorLen
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI ConvertSecurityDescriptorToStringSecurityDescriptorW(
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ DWORD RequestedStringSDRevision,
|
||||
_In_ DWORD SecurityInformation,
|
||||
_Out_ LPWSTR *StringSecurityDescriptor,
|
||||
_Out_ PULONG StringSecurityDescriptorLen
|
||||
);
|
||||
|
||||
|
||||
/* From Win10 securitybaseapi.h*/
|
||||
|
||||
|
||||
BOOL WINAPI GetSecurityDescriptorControl(
|
||||
_In_ PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
||||
_Out_ PSECURITY_DESCRIPTOR_CONTROL pControl,
|
||||
_Out_ LPDWORD lpdwRevision
|
||||
);
|
||||
|
||||
|
||||
|
||||
BOOL WINAPI GetSecurityDescriptorDacl(
|
||||
_In_ PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
||||
_Out_ LPBOOL lpbDaclPresent,
|
||||
_Outptr_ PACL * pDacl,
|
||||
_Out_ LPBOOL lpbDaclDefaulted
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI GetSecurityDescriptorGroup(
|
||||
_In_ PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
||||
_Outptr_ PSID * pGroup,
|
||||
_Out_ LPBOOL lpbGroupDefaulted
|
||||
);
|
||||
|
||||
|
||||
DWORD WINAPI GetSecurityDescriptorLength(
|
||||
_In_ PSECURITY_DESCRIPTOR pSecurityDescriptor
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI GetSecurityDescriptorOwner(
|
||||
_In_ PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
||||
_Outptr_ PSID * pOwner,
|
||||
_Out_ LPBOOL lpbOwnerDefaulted
|
||||
);
|
||||
|
||||
|
||||
DWORD WINAPI GetSecurityDescriptorRMControl(
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_Out_ PUCHAR RMControl
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI GetSecurityDescriptorSacl(
|
||||
_In_ PSECURITY_DESCRIPTOR pSecurityDescriptor,
|
||||
_Out_ LPBOOL lpbSaclPresent,
|
||||
_Outptr_ PACL * pSacl,
|
||||
_Out_ LPBOOL lpbSaclDefaulted
|
||||
);
|
||||
|
||||
DWORD WINAPI GetLengthSid(
|
||||
_In_ PSID pSid
|
||||
);
|
||||
|
||||
BOOL EqualSid(
|
||||
PSID pSid1,
|
||||
PSID pSid2
|
||||
);
|
||||
|
||||
BOOL CopySid(
|
||||
DWORD nDestinationSidLength,
|
||||
PSID pDestinationSid,
|
||||
PSID pSourceSid
|
||||
);
|
||||
|
||||
|
||||
PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(
|
||||
_In_ PSID pSid
|
||||
);
|
||||
|
||||
|
||||
DWORD WINAPI GetSidLengthRequired(
|
||||
_In_ UCHAR nSubAuthorityCount
|
||||
);
|
||||
|
||||
|
||||
PDWORD WINAPI GetSidSubAuthority(
|
||||
_In_ PSID pSid,
|
||||
_In_ DWORD nSubAuthority
|
||||
);
|
||||
|
||||
/* Yep not the good definition (return PUCHAR)
|
||||
* but who want this function to returns Python String..
|
||||
*/
|
||||
LPBYTE WINAPI GetSidSubAuthorityCount(
|
||||
_In_ PSID pSid
|
||||
);
|
||||
|
||||
PVOID WINAPI FreeSid(
|
||||
_In_ PSID pSid
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI GetAce(
|
||||
_In_ PACL pAcl,
|
||||
_In_ DWORD dwAceIndex,
|
||||
_Outptr_ LPVOID * pAce
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI GetAclInformation(
|
||||
_In_ PACL pAcl,
|
||||
_Out_ LPVOID pAclInformation,
|
||||
_In_ DWORD nAclInformationLength,
|
||||
_In_ ACL_INFORMATION_CLASS dwAclInformationClass
|
||||
);
|
||||
@@ -0,0 +1,29 @@
|
||||
HINSTANCE WINAPI ShellExecuteA(
|
||||
_In_opt_ HWND hwnd,
|
||||
_In_opt_ LPCSTR lpOperation,
|
||||
_In_ LPCSTR lpFile,
|
||||
_In_opt_ LPCSTR lpParameters,
|
||||
_In_opt_ LPCSTR lpDirectory,
|
||||
_In_ INT nShowCmd
|
||||
);
|
||||
|
||||
|
||||
HINSTANCE WINAPI ShellExecuteW(
|
||||
_In_opt_ HWND hwnd,
|
||||
_In_opt_ LPWSTR lpOperation,
|
||||
_In_ LPWSTR lpFile,
|
||||
_In_opt_ LPWSTR lpParameters,
|
||||
_In_opt_ LPWSTR lpDirectory,
|
||||
_In_ INT nShowCmd
|
||||
);
|
||||
|
||||
|
||||
BOOL SHGetPathFromIDListA(
|
||||
PCIDLIST_ABSOLUTE pidl,
|
||||
LPCSTR pszPath
|
||||
);
|
||||
|
||||
BOOL SHGetPathFromIDListW(
|
||||
PCIDLIST_ABSOLUTE pidl,
|
||||
LPWSTR pszPath
|
||||
);
|
||||
@@ -0,0 +1,14 @@
|
||||
PWSTR WINAPI StrStrIW(
|
||||
_In_ PWSTR pszFirst,
|
||||
_In_ PWSTR pszSrch
|
||||
);
|
||||
|
||||
PCSTR WINAPI StrStrIA(
|
||||
_In_ PCSTR pszFirst,
|
||||
_In_ PCSTR pszSrch
|
||||
);
|
||||
|
||||
|
||||
BOOL IsOS(
|
||||
DWORD dwOS
|
||||
);
|
||||
@@ -0,0 +1,145 @@
|
||||
BOOL WINAPI GetCursorPos(
|
||||
_Out_ LPPOINT lpPoint
|
||||
);
|
||||
|
||||
HWND WINAPI WindowFromPoint(
|
||||
_In_ POINT Point
|
||||
);
|
||||
|
||||
BOOL WINAPI GetWindowRect(
|
||||
_In_ HWND hWnd,
|
||||
_Out_ LPRECT lpRect
|
||||
);
|
||||
|
||||
BOOL WINAPI EnumWindows(
|
||||
__in WNDENUMPROC lpEnumFunc,
|
||||
__in LPARAM lParam
|
||||
);
|
||||
|
||||
|
||||
INT WINAPI GetWindowTextA(
|
||||
__in HWND hWnd,
|
||||
__out LPSTR lpString,
|
||||
__in INT nMaxCount
|
||||
);
|
||||
|
||||
HWND WINAPI GetParent(
|
||||
_In_ HWND hWnd
|
||||
);
|
||||
|
||||
INT WINAPI GetWindowTextW(
|
||||
__in HWND hWnd,
|
||||
__out LPWSTR lpString,
|
||||
__in INT nMaxCount
|
||||
);
|
||||
|
||||
UINT WINAPI GetWindowModuleFileNameA(
|
||||
__in HWND hwnd,
|
||||
__out LPSTR pszFileName,
|
||||
__in UINT cchFileNameMax);
|
||||
|
||||
UINT WINAPI GetWindowModuleFileNameW(
|
||||
__in HWND hwnd,
|
||||
__out LPWSTR pszFileName,
|
||||
__in UINT cchFileNameMax);
|
||||
|
||||
|
||||
BOOL WINAPI EnumChildWindows(
|
||||
_In_opt_ HWND hWndParent,
|
||||
_In_ WNDENUMPROC lpEnumFunc,
|
||||
_In_ LPARAM lParam
|
||||
);
|
||||
|
||||
BOOL WINAPI CloseWindow(
|
||||
_In_ HWND hWnd
|
||||
);
|
||||
|
||||
HWND WINAPI GetDesktopWindow();
|
||||
|
||||
HWND WINAPI GetForegroundWindow();
|
||||
|
||||
|
||||
BOOL WINAPI BringWindowToTop(
|
||||
_In_ HWND hWnd
|
||||
);
|
||||
|
||||
BOOL WINAPI MoveWindow(
|
||||
_In_ HWND hWnd,
|
||||
_In_ INT X,
|
||||
_In_ INT Y,
|
||||
_In_ INT nWidth,
|
||||
_In_ INT nHeight,
|
||||
_In_ BOOL bRepaint
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI SetWindowPos(
|
||||
_In_ HWND hWnd,
|
||||
_In_opt_ HWND hWndInsertAfter,
|
||||
_In_ INT X,
|
||||
_In_ INT Y,
|
||||
_In_ INT cx,
|
||||
_In_ INT cy,
|
||||
_In_ UINT uFlags
|
||||
);
|
||||
|
||||
BOOL WINAPI SetWindowTextA(
|
||||
_In_ HWND hWnd,
|
||||
_In_opt_ LPCSTR lpString
|
||||
);
|
||||
|
||||
BOOL WINAPI SetWindowTextW(
|
||||
_In_ HWND hWnd,
|
||||
_In_opt_ LPWSTR lpString
|
||||
);
|
||||
|
||||
UINT WINAPI RealGetWindowClassA(
|
||||
_In_ HWND hwnd,
|
||||
_Out_ LPCSTR pszType,
|
||||
_In_ UINT cchType
|
||||
);
|
||||
|
||||
UINT WINAPI RealGetWindowClassW(
|
||||
_In_ HWND hwnd,
|
||||
_Out_ LPWSTR pszType,
|
||||
_In_ UINT cchType
|
||||
);
|
||||
|
||||
BOOL WINAPI GetClassInfoExA(
|
||||
_In_opt_ HINSTANCE hinst,
|
||||
_In_ LPCSTR lpszClass,
|
||||
_Out_ LPWNDCLASSEXA lpwcx
|
||||
);
|
||||
|
||||
BOOL WINAPI GetClassInfoExW(
|
||||
_In_opt_ HINSTANCE hinst,
|
||||
_In_ LPCWSTR lpszClass,
|
||||
_Out_ LPWNDCLASSEXW lpwcx
|
||||
);
|
||||
|
||||
INT WINAPI GetClassNameA(
|
||||
_In_ HWND hWnd,
|
||||
_Out_ LPCSTR lpClassName,
|
||||
_In_ INT nMaxCount
|
||||
);
|
||||
|
||||
INT WINAPI GetClassNameW(
|
||||
_In_ HWND hWnd,
|
||||
_Out_ LPWSTR lpClassName,
|
||||
_In_ INT nMaxCount
|
||||
);
|
||||
|
||||
DWORD WINAPI GetWindowThreadProcessId(
|
||||
_In_ HWND hWnd,
|
||||
_Out_opt_ LPDWORD lpdwProcessId
|
||||
);
|
||||
|
||||
HWND FindWindowA(
|
||||
LPCSTR lpClassName,
|
||||
LPCSTR lpWindowName
|
||||
);
|
||||
|
||||
HWND FindWindowW(
|
||||
LPCWSTR lpClassName,
|
||||
LPCWSTR lpWindowName
|
||||
);
|
||||
+580
-191
@@ -69,6 +69,13 @@ NTSTATUS WINAPI NtQueryInformationProcess(
|
||||
_Out_opt_ PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtSetInformationProcess(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ PROCESS_INFORMATION_CLASS ProcessInformationClass,
|
||||
_In_ PVOID ProcessInformation,
|
||||
_In_ ULONG ProcessInformationLength
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtQueryVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_opt_ PVOID BaseAddress,
|
||||
@@ -78,6 +85,14 @@ NTSTATUS WINAPI NtQueryVirtualMemory(
|
||||
_Out_opt_ PSIZE_T ReturnLength
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtQueryVolumeInformationFile(
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_Out_ PVOID FsInformation,
|
||||
_In_ ULONG Length,
|
||||
_In_ FS_INFORMATION_CLASS FsInformationClass
|
||||
);
|
||||
|
||||
NTSTATUS NtCreateThreadEx(
|
||||
PHANDLE ThreadHandle,
|
||||
ACCESS_MASK DesiredAccess,
|
||||
@@ -110,6 +125,16 @@ BOOL WINAPI GetExitCodeProcess(
|
||||
__out LPDWORD lpExitCode
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI SetPriorityClass(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ DWORD dwPriorityClass
|
||||
);
|
||||
|
||||
DWORD WINAPI GetPriorityClass(
|
||||
_In_ HANDLE hProcess
|
||||
);
|
||||
|
||||
LPVOID WINAPI VirtualAlloc(
|
||||
_In_opt_ LPVOID lpAddress,
|
||||
_In_ SIZE_T dwSize,
|
||||
@@ -125,6 +150,16 @@ LPVOID WINAPI VirtualAllocEx(
|
||||
_In_ DWORD flProtect
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtAllocateVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ PVOID *BaseAddress,
|
||||
_In_ ULONG_PTR ZeroBits,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG AllocationType,
|
||||
_In_ ULONG Protect
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtProtectVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ PVOID *BaseAddress,
|
||||
@@ -147,6 +182,14 @@ BOOL WINAPI VirtualFreeEx(
|
||||
_In_ DWORD dwFreeType
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtFreeVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ PVOID *BaseAddress,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG FreeType
|
||||
);
|
||||
|
||||
BOOL WINAPI VirtualProtect(
|
||||
_In_ LPVOID lpAddress,
|
||||
_In_ SIZE_T dwSize,
|
||||
@@ -253,12 +296,41 @@ BOOL WINAPI CreateProcessW(
|
||||
__out LPPROCESS_INFORMATION lpProcessInformation
|
||||
);
|
||||
|
||||
BOOL WINAPI CreateProcessAsUserA(
|
||||
_In_opt_ HANDLE hToken,
|
||||
_In_opt_ LPSTR lpApplicationName,
|
||||
_Inout_opt_ LPSTR lpCommandLine,
|
||||
_In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,
|
||||
_In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
|
||||
_In_ BOOL bInheritHandles,
|
||||
_In_ DWORD dwCreationFlags,
|
||||
_In_opt_ LPVOID lpEnvironment,
|
||||
_In_opt_ LPSTR lpCurrentDirectory,
|
||||
_In_ LPSTARTUPINFOA lpStartupInfo,
|
||||
_Out_ LPPROCESS_INFORMATION lpProcessInformation
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI CreateProcessAsUserW(
|
||||
_In_opt_ HANDLE hToken,
|
||||
_In_opt_ LPWSTR lpApplicationName,
|
||||
_Inout_opt_ LPWSTR lpCommandLine,
|
||||
_In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,
|
||||
_In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
|
||||
_In_ BOOL bInheritHandles,
|
||||
_In_ DWORD dwCreationFlags,
|
||||
_In_opt_ LPVOID lpEnvironment,
|
||||
_In_opt_ LPWSTR lpCurrentDirectory,
|
||||
_In_ LPSTARTUPINFOW lpStartupInfo,
|
||||
_Out_ LPPROCESS_INFORMATION lpProcessInformation
|
||||
);
|
||||
|
||||
BOOL WINAPI GetThreadContext(
|
||||
__in HANDLE hThread,
|
||||
__inout LPCONTEXT lpContext
|
||||
);
|
||||
|
||||
BOOL WINAPI NtGetContextThread(
|
||||
NTSTATUS WINAPI NtGetContextThread(
|
||||
__in HANDLE hThread,
|
||||
__inout LPCONTEXT lpContext
|
||||
);
|
||||
@@ -268,7 +340,7 @@ BOOL WINAPI SetThreadContext(
|
||||
__in CONST LPCONTEXT lpContext
|
||||
);
|
||||
|
||||
BOOL WINAPI NtSetContextThread(
|
||||
NTSTATUS WINAPI NtSetContextThread(
|
||||
__in HANDLE hThread,
|
||||
__in CONST LPCONTEXT lpContext
|
||||
);
|
||||
@@ -291,37 +363,57 @@ BOOL WINAPI CloseHandle(
|
||||
);
|
||||
|
||||
BOOL WINAPI ReadProcessMemory(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ LPCVOID lpBaseAddress,
|
||||
_Out_ LPVOID lpBuffer,
|
||||
_In_ SIZE_T nSize,
|
||||
_Out_ SIZE_T *lpNumberOfBytesRead
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ LPCVOID lpBaseAddress,
|
||||
_Out_ LPVOID lpBuffer,
|
||||
_In_ SIZE_T nSize,
|
||||
_Out_ SIZE_T *lpNumberOfBytesRead
|
||||
);
|
||||
|
||||
BOOL WINAPI NtWow64ReadVirtualMemory64(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ ULONG64 lpBaseAddress,
|
||||
_Out_ LPVOID lpBuffer,
|
||||
_In_ ULONG64 nSize,
|
||||
_Out_ PULONG64 *lpNumberOfBytesRead
|
||||
NTSTATUS WINAPI NtWow64ReadVirtualMemory64(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ ULONG64 lpBaseAddress,
|
||||
_Out_ LPVOID lpBuffer,
|
||||
_In_ ULONG64 nSize,
|
||||
_Out_ PULONG64 lpNumberOfBytesRead
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtReadVirtualMemory(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ PVOID lpBaseAddress,
|
||||
_Out_ LPVOID lpBuffer,
|
||||
_In_ ULONG nSize,
|
||||
_Out_ PULONG lpNumberOfBytesRead
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI WriteProcessMemory(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ LPVOID lpBaseAddress,
|
||||
_In_ LPCVOID lpBuffer,
|
||||
_In_ SIZE_T nSize,
|
||||
_Out_ SIZE_T *lpNumberOfBytesWritten
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ LPVOID lpBaseAddress,
|
||||
_In_ LPCVOID lpBuffer,
|
||||
_In_ SIZE_T nSize,
|
||||
_Out_ SIZE_T *lpNumberOfBytesWritten
|
||||
);
|
||||
|
||||
BOOL WINAPI NtWow64WriteVirtualMemory64(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ ULONG64 lpBaseAddress,
|
||||
_Out_ LPVOID lpBuffer,
|
||||
_In_ ULONG64 nSize,
|
||||
_Out_ PULONG64 *lpNumberOfBytesWritten
|
||||
|
||||
NTSTATUS WINAPI NtWow64WriteVirtualMemory64(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ ULONG64 lpBaseAddress,
|
||||
_Out_ LPVOID lpBuffer,
|
||||
_In_ ULONG64 nSize,
|
||||
_Out_ PULONG64 lpNumberOfBytesWritten
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtWriteVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ PVOID BaseAddress,
|
||||
_In_ PVOID Buffer,
|
||||
_In_ ULONG NumberOfBytesToWrite,
|
||||
_Out_ PULONG NumberOfBytesWritten
|
||||
);
|
||||
|
||||
|
||||
HANDLE WINAPI CreateToolhelp32Snapshot(
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ DWORD th32ProcessID
|
||||
@@ -371,12 +463,57 @@ HMODULE WINAPI LoadLibraryW(
|
||||
__in LPCWSTR lpFileName
|
||||
);
|
||||
|
||||
HMODULE LoadLibraryExA(
|
||||
LPCSTR lpLibFileName,
|
||||
HANDLE hFile,
|
||||
DWORD dwFlags
|
||||
);
|
||||
|
||||
HMODULE LoadLibraryExW(
|
||||
LPCWSTR lpLibFileName,
|
||||
HANDLE hFile,
|
||||
DWORD dwFlags
|
||||
);
|
||||
|
||||
BOOL FreeLibrary(
|
||||
HMODULE hLibModule
|
||||
);
|
||||
|
||||
BOOL WINAPI OpenProcessToken(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ DWORD DesiredAccess,
|
||||
_Out_ PHANDLE TokenHandle
|
||||
);
|
||||
|
||||
BOOL WINAPI DuplicateToken(
|
||||
_In_ HANDLE ExistingTokenHandle,
|
||||
_In_ SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
|
||||
_Out_ PHANDLE DuplicateTokenHandle
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI DuplicateTokenEx(
|
||||
_In_ HANDLE hExistingToken,
|
||||
_In_ DWORD dwDesiredAccess,
|
||||
_In_opt_ LPSECURITY_ATTRIBUTES lpTokenAttributes,
|
||||
_In_ SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
|
||||
_In_ TOKEN_TYPE TokenType,
|
||||
_Out_ PHANDLE phNewToken
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI OpenThreadToken(
|
||||
_In_ HANDLE ThreadHandle,
|
||||
_In_ DWORD DesiredAccess,
|
||||
_In_ BOOL OpenAsSelf,
|
||||
_Out_ PHANDLE TokenHandle
|
||||
);
|
||||
|
||||
BOOL WINAPI SetThreadToken(
|
||||
_In_opt_ PHANDLE Thread,
|
||||
_In_opt_ HANDLE Token
|
||||
);
|
||||
|
||||
BOOL WINAPI LookupPrivilegeValueA(
|
||||
__in_opt LPCSTR lpSystemName,
|
||||
__in LPCSTR lpName,
|
||||
@@ -389,6 +526,20 @@ BOOL WINAPI LookupPrivilegeValueW(
|
||||
__out PLUID lpLuid
|
||||
);
|
||||
|
||||
BOOL WINAPI LookupPrivilegeNameA(
|
||||
_In_opt_ LPCSTR lpSystemName,
|
||||
_In_ PLUID lpLuid,
|
||||
_Out_opt_ LPCSTR lpName,
|
||||
_Inout_ LPDWORD cchName
|
||||
);
|
||||
|
||||
BOOL WINAPI LookupPrivilegeNameW(
|
||||
_In_opt_ LPCWSTR lpSystemName,
|
||||
_In_ PLUID lpLuid,
|
||||
_Out_opt_ LPCWSTR lpName,
|
||||
_Inout_ LPDWORD cchName
|
||||
);
|
||||
|
||||
BOOL WINAPI AdjustTokenPrivileges(
|
||||
_In_ HANDLE TokenHandle,
|
||||
_In_ BOOL DisableAllPrivileges,
|
||||
@@ -758,18 +909,15 @@ BOOL WINAPI SetTokenInformation (
|
||||
__in DWORD TokenInformationLength
|
||||
);
|
||||
|
||||
PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority (
|
||||
__in PSID pSid
|
||||
);
|
||||
|
||||
PDWORD WINAPI GetSidSubAuthority (
|
||||
__in PSID pSid,
|
||||
__in DWORD nSubAuthority
|
||||
);
|
||||
|
||||
PUCHAR WINAPI GetSidSubAuthorityCount (
|
||||
__in PSID pSid
|
||||
);
|
||||
|
||||
BOOL WINAPI CreateWellKnownSid(
|
||||
_In_ WELL_KNOWN_SID_TYPE WellKnownSidType,
|
||||
_In_opt_ PSID DomainSid,
|
||||
_Out_opt_ PSID pSid,
|
||||
_Inout_ DWORD *cbSid
|
||||
);
|
||||
|
||||
|
||||
VOID DebugBreak();
|
||||
@@ -841,6 +989,64 @@ NTSTATUS RtlAnsiStringToUnicodeString (
|
||||
BOOLEAN AllocateDestinationString
|
||||
);
|
||||
|
||||
NTSTATUS RtlDecompressBuffer(
|
||||
USHORT CompressionFormat,
|
||||
PUCHAR UncompressedBuffer,
|
||||
ULONG UncompressedBufferSize,
|
||||
PUCHAR CompressedBuffer,
|
||||
ULONG CompressedBufferSize,
|
||||
PULONG FinalUncompressedSize
|
||||
);
|
||||
|
||||
NTSTATUS RtlDecompressBufferEx(
|
||||
USHORT CompressionFormat,
|
||||
PUCHAR UncompressedBuffer,
|
||||
ULONG UncompressedBufferSize,
|
||||
PUCHAR CompressedBuffer,
|
||||
ULONG CompressedBufferSize,
|
||||
PULONG FinalUncompressedSize,
|
||||
PVOID WorkSpace
|
||||
);
|
||||
|
||||
NTSTATUS RtlGetCompressionWorkSpaceSize(
|
||||
USHORT CompressionFormatAndEngine,
|
||||
PULONG CompressBufferWorkSpaceSize,
|
||||
PULONG CompressFragmentWorkSpaceSize
|
||||
);
|
||||
|
||||
NTSTATUS NtCreateSection(
|
||||
PHANDLE SectionHandle,
|
||||
ACCESS_MASK DesiredAccess,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
PLARGE_INTEGER MaximumSize,
|
||||
ULONG SectionPageProtection,
|
||||
ULONG AllocationAttributes,
|
||||
HANDLE FileHandle
|
||||
);
|
||||
|
||||
NTSTATUS NtOpenSection(
|
||||
PHANDLE SectionHandle,
|
||||
ACCESS_MASK DesiredAccess,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes
|
||||
);
|
||||
|
||||
NTSTATUS NtMapViewOfSection(
|
||||
HANDLE SectionHandle,
|
||||
HANDLE ProcessHandle,
|
||||
PVOID *BaseAddress,
|
||||
ULONG_PTR ZeroBits,
|
||||
SIZE_T CommitSize,
|
||||
PLARGE_INTEGER SectionOffset,
|
||||
PSIZE_T ViewSize,
|
||||
SECTION_INHERIT InheritDisposition,
|
||||
ULONG AllocationType,
|
||||
ULONG Win32Protect
|
||||
);
|
||||
|
||||
NTSTATUS NtUnmapViewOfSection(
|
||||
HANDLE ProcessHandle,
|
||||
PVOID BaseAddress
|
||||
);
|
||||
|
||||
HANDLE WINAPI OpenEventA(
|
||||
__in DWORD dwDesiredAccess,
|
||||
@@ -862,79 +1068,6 @@ NTSTATUS WINAPI NtOpenEvent(
|
||||
);
|
||||
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtAlpcCreatePort(
|
||||
_Out_ PHANDLE PortHandle,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ PALPC_PORT_ATTRIBUTES PortAttributes
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtAlpcConnectPort(
|
||||
_Out_ PHANDLE PortHandle,
|
||||
_In_ PUNICODE_STRING PortName,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ PALPC_PORT_ATTRIBUTES PortAttributes,
|
||||
_In_ ULONG Flags,
|
||||
_In_opt_ PSID RequiredServerSid,
|
||||
_Inout_opt_ PPORT_MESSAGE ConnectionMessage,
|
||||
_Inout_opt_ PULONG BufferLength,
|
||||
_Inout_opt_ PALPC_MESSAGE_ATTRIBUTES OutMessageAttributes,
|
||||
_Inout_opt_ PALPC_MESSAGE_ATTRIBUTES InMessageAttributes,
|
||||
_In_opt_ PLARGE_INTEGER Timeout
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtAlpcConnectPortEx(
|
||||
_Out_ PHANDLE PortHandle,
|
||||
_In_ POBJECT_ATTRIBUTES ConnectionPortObjectAttributes,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ClientPortObjectAttributes,
|
||||
_In_opt_ PALPC_PORT_ATTRIBUTES PortAttributes,
|
||||
_In_ ULONG Flags,
|
||||
_In_opt_ PSECURITY_DESCRIPTOR ServerSecurityRequirements,
|
||||
_Inout_opt_ PPORT_MESSAGE ConnectionMessage,
|
||||
_Inout_opt_ PSIZE_T BufferLength,
|
||||
_Inout_opt_ PALPC_MESSAGE_ATTRIBUTES OutMessageAttributes,
|
||||
_Inout_opt_ PALPC_MESSAGE_ATTRIBUTES InMessageAttributes,
|
||||
_In_opt_ PLARGE_INTEGER Timeout
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtAlpcAcceptConnectPort(
|
||||
_Out_ PHANDLE PortHandle,
|
||||
_In_ HANDLE ConnectionPortHandle,
|
||||
_In_ ULONG Flags,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ PALPC_PORT_ATTRIBUTES PortAttributes,
|
||||
_In_opt_ PVOID PortContext,
|
||||
_In_ PPORT_MESSAGE ConnectionRequest,
|
||||
_Inout_opt_ PALPC_MESSAGE_ATTRIBUTES ConnectionMessageAttributes,
|
||||
_In_ BOOLEAN AcceptConnection
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI AlpcInitializeMessageAttribute(
|
||||
_In_ ULONG AttributeFlags,
|
||||
_Out_opt_ PALPC_MESSAGE_ATTRIBUTES Buffer,
|
||||
_In_ ULONG BufferSize,
|
||||
_Out_ PULONG RequiredBufferSize
|
||||
);
|
||||
|
||||
PVOID WINAPI AlpcGetMessageAttribute(
|
||||
_In_ PALPC_MESSAGE_ATTRIBUTES Buffer,
|
||||
_In_ ULONG AttributeFlag
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtAlpcSendWaitReceivePort(
|
||||
_In_ HANDLE PortHandle,
|
||||
_In_ ULONG Flags,
|
||||
_In_opt_ PPORT_MESSAGE SendMessage,
|
||||
_Inout_opt_ PALPC_MESSAGE_ATTRIBUTES SendMessageAttributes,
|
||||
_Out_opt_ PPORT_MESSAGE ReceiveMessage,
|
||||
_Inout_opt_ PSIZE_T BufferLength,
|
||||
_Inout_opt_ PALPC_MESSAGE_ATTRIBUTES ReceiveMessageAttributes,
|
||||
_In_opt_ PLARGE_INTEGER Timeout
|
||||
);
|
||||
|
||||
|
||||
INT WINAPI lstrcmpA(
|
||||
__in LPCSTR lpString1,
|
||||
__in LPCSTR lpString2
|
||||
@@ -986,6 +1119,10 @@ SC_HANDLE WINAPI OpenSCManagerW(
|
||||
__in DWORD dwDesiredAccess
|
||||
);
|
||||
|
||||
BOOL WINAPI CloseServiceHandle(
|
||||
_In_ SC_HANDLE hSCObject
|
||||
);
|
||||
|
||||
BOOL WINAPI EnumServicesStatusExA(
|
||||
__in SC_HANDLE hSCManager,
|
||||
__in SC_ENUM_TYPE InfoLevel,
|
||||
@@ -1013,71 +1150,32 @@ BOOL WINAPI EnumServicesStatusExW(
|
||||
__in_opt LPCWSTR pszGroupName
|
||||
);
|
||||
|
||||
BOOL WINAPI EnumWindows(
|
||||
__in WNDENUMPROC lpEnumFunc,
|
||||
__in LPARAM lParam
|
||||
|
||||
BOOL WINAPI StartServiceA(
|
||||
_In_ SC_HANDLE hService,
|
||||
_In_ DWORD dwNumServiceArgs,
|
||||
_In_opt_ LPCSTR *lpServiceArgVectors
|
||||
);
|
||||
|
||||
BOOL WINAPI StartServiceW(
|
||||
_In_ SC_HANDLE hService,
|
||||
_In_ DWORD dwNumServiceArgs,
|
||||
_In_opt_ LPCWSTR *lpServiceArgVectors
|
||||
);
|
||||
|
||||
SC_HANDLE WINAPI OpenServiceA(
|
||||
_In_ SC_HANDLE hSCManager,
|
||||
_In_ LPCSTR lpServiceName,
|
||||
_In_ DWORD dwDesiredAccess
|
||||
);
|
||||
|
||||
|
||||
INT WINAPI GetWindowTextA(
|
||||
__in HWND hWnd,
|
||||
__out LPSTR lpString,
|
||||
__in INT nMaxCount
|
||||
SC_HANDLE WINAPI OpenServiceW(
|
||||
_In_ SC_HANDLE hSCManager,
|
||||
_In_ LPCWSTR lpServiceName,
|
||||
_In_ DWORD dwDesiredAccess
|
||||
);
|
||||
|
||||
INT WINAPI GetWindowTextW(
|
||||
__in HWND hWnd,
|
||||
__out LPWSTR lpString,
|
||||
__in INT nMaxCount
|
||||
);
|
||||
|
||||
UINT WINAPI GetWindowModuleFileNameA(
|
||||
__in HWND hwnd,
|
||||
__out LPSTR pszFileName,
|
||||
__in UINT cchFileNameMax);
|
||||
|
||||
UINT WINAPI GetWindowModuleFileNameW(
|
||||
__in HWND hwnd,
|
||||
__out LPWSTR pszFileName,
|
||||
__in UINT cchFileNameMax);
|
||||
|
||||
|
||||
BOOL WINAPI CryptCATAdminCalcHashFromFileHandle(
|
||||
__in HANDLE hFile,
|
||||
__inout DWORD *pcbHash,
|
||||
_Out_opt_ BYTE *pbHash,
|
||||
__in DWORD dwFlags);
|
||||
|
||||
HCATINFO WINAPI CryptCATAdminEnumCatalogFromHash(
|
||||
__in HCATADMIN hCatAdmin,
|
||||
__in BYTE *pbHash,
|
||||
__in DWORD cbHash,
|
||||
__in DWORD dwFlags,
|
||||
__inout HCATINFO *phPrevCatInfo);
|
||||
|
||||
BOOL WINAPI CryptCATAdminAcquireContext(
|
||||
_Out_ HCATADMIN *phCatAdmin,
|
||||
_In_ GUID *pgSubsystem,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptCATCatalogInfoFromContext(
|
||||
_In_ HCATINFO hCatInfo,
|
||||
_Inout_ CATALOG_INFO *psCatInfo,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI CryptCATAdminReleaseCatalogContext(
|
||||
_In_ HCATADMIN hCatAdmin,
|
||||
_In_ HCATINFO hCatInfo,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptCATAdminReleaseContext(
|
||||
_In_ HCATADMIN hCatAdmin,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
DWORD WINAPI GetLogicalDriveStringsA(
|
||||
_In_ DWORD nBufferLength,
|
||||
@@ -1149,6 +1247,29 @@ DWORD WINAPI QueryDosDeviceW(
|
||||
_In_ DWORD ucchMax
|
||||
);
|
||||
|
||||
|
||||
HANDLE WINAPI FindFirstVolumeA(
|
||||
_Out_ LPCSTR lpszVolumeName,
|
||||
_In_ DWORD cchBufferLength
|
||||
);
|
||||
|
||||
HANDLE WINAPI FindFirstVolumeW(
|
||||
_Out_ LPWSTR lpszVolumeName,
|
||||
_In_ DWORD cchBufferLength
|
||||
);
|
||||
|
||||
BOOL WINAPI FindNextVolumeA(
|
||||
_In_ HANDLE hFindVolume,
|
||||
_Out_ LPCSTR lpszVolumeName,
|
||||
_In_ DWORD cchBufferLength
|
||||
);
|
||||
|
||||
BOOL WINAPI FindNextVolumeW(
|
||||
_In_ HANDLE hFindVolume,
|
||||
_Out_ LPWSTR lpszVolumeName,
|
||||
_In_ DWORD cchBufferLength
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtQueryObject(
|
||||
_In_opt_ HANDLE Handle,
|
||||
_In_ OBJECT_INFORMATION_CLASS ObjectInformationClass,
|
||||
@@ -1167,6 +1288,17 @@ BOOL WINAPI DuplicateHandle(
|
||||
_In_ DWORD dwOptions
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI ZwDuplicateObject(
|
||||
_In_ HANDLE SourceProcessHandle,
|
||||
_In_ HANDLE SourceHandle,
|
||||
_In_opt_ HANDLE TargetProcessHandle,
|
||||
_Out_opt_ PHANDLE TargetHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ ULONG HandleAttributes,
|
||||
_In_ ULONG Options
|
||||
);
|
||||
|
||||
|
||||
DWORD WINAPI GetModuleBaseNameA(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_opt_ HMODULE hModule,
|
||||
@@ -1265,30 +1397,6 @@ BOOL WINAPI LookupAccountSidW(
|
||||
_Out_ PSID_NAME_USE peUse
|
||||
);
|
||||
|
||||
HRESULT WINAPI CoInitializeEx(
|
||||
_In_opt_ LPVOID pvReserved,
|
||||
_In_ DWORD dwCoInit
|
||||
);
|
||||
|
||||
HRESULT WINAPI CoInitializeSecurity(
|
||||
_In_opt_ PSECURITY_DESCRIPTOR pSecDesc,
|
||||
_In_ LONG cAuthSvc,
|
||||
_In_opt_ SOLE_AUTHENTICATION_SERVICE *asAuthSvc,
|
||||
_In_opt_ PVOID pReserved1,
|
||||
_In_ DWORD dwAuthnLevel,
|
||||
_In_ DWORD dwImpLevel,
|
||||
_In_opt_ PVOID pAuthList,
|
||||
_In_ DWORD dwCapabilities,
|
||||
_In_opt_ PVOID pReserved3
|
||||
);
|
||||
|
||||
HRESULT WINAPI CoCreateInstance(
|
||||
_In_ REFCLSID rclsid,
|
||||
_In_ LPUNKNOWN pUnkOuter,
|
||||
_In_ DWORD dwClsContext,
|
||||
_In_ REFIID riid,
|
||||
_Out_ LPVOID *ppv
|
||||
);
|
||||
|
||||
DWORD WINAPI GetInterfaceInfo(
|
||||
_Out_ PIP_INTERFACE_INFO pIfTable,
|
||||
@@ -1374,3 +1482,284 @@ BOOL WINAPI GetProcessDEPPolicy(
|
||||
_Out_ LPDWORD lpFlags,
|
||||
_Out_ PBOOL lpPermanent
|
||||
);
|
||||
|
||||
|
||||
DWORD WINAPI GetNamedSecurityInfoA(
|
||||
_In_ LPCSTR pObjectName,
|
||||
_In_ SE_OBJECT_TYPE ObjectType,
|
||||
_In_ SECURITY_INFORMATION SecurityInfo,
|
||||
_Out_opt_ PSID *ppsidOwner,
|
||||
_Out_opt_ PSID *ppsidGroup,
|
||||
_Out_opt_ PACL *ppDacl,
|
||||
_Out_opt_ PACL *ppSacl,
|
||||
_Out_opt_ PSECURITY_DESCRIPTOR *ppSecurityDescriptor
|
||||
);
|
||||
|
||||
|
||||
DWORD WINAPI GetNamedSecurityInfoW(
|
||||
_In_ LPWSTR pObjectName,
|
||||
_In_ SE_OBJECT_TYPE ObjectType,
|
||||
_In_ SECURITY_INFORMATION SecurityInfo,
|
||||
_Out_opt_ PSID *ppsidOwner,
|
||||
_Out_opt_ PSID *ppsidGroup,
|
||||
_Out_opt_ PACL *ppDacl,
|
||||
_Out_opt_ PACL *ppSacl,
|
||||
_Out_opt_ PSECURITY_DESCRIPTOR *ppSecurityDescriptor
|
||||
);
|
||||
|
||||
|
||||
DWORD WINAPI GetSecurityInfo(
|
||||
_In_ HANDLE handle,
|
||||
_In_ SE_OBJECT_TYPE ObjectType,
|
||||
_In_ SECURITY_INFORMATION SecurityInfo,
|
||||
_Out_opt_ PSID *ppsidOwner,
|
||||
_Out_opt_ PSID *ppsidGroup,
|
||||
_Out_opt_ PACL *ppDacl,
|
||||
_Out_opt_ PACL *ppSacl,
|
||||
_Out_opt_ PSECURITY_DESCRIPTOR *ppSecurityDescriptor
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI ConvertStringSidToSidA(
|
||||
_In_ LPCSTR StringSid,
|
||||
_Out_ PSID *Sid
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI ConvertStringSidToSidW(
|
||||
_In_ LPWSTR StringSid,
|
||||
_Out_ PSID *Sid
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI ConvertSidToStringSidA(
|
||||
_In_ PSID Sid,
|
||||
_Out_ LPCSTR *StringSid
|
||||
);
|
||||
|
||||
BOOL WINAPI ConvertSidToStringSidW(
|
||||
_In_ PSID Sid,
|
||||
_Out_ LPWSTR *StringSid
|
||||
);
|
||||
|
||||
HLOCAL WINAPI LocalFree(
|
||||
_In_ HLOCAL hMem
|
||||
);
|
||||
|
||||
LONG WINAPI RegQueryValueExA(
|
||||
_In_ HKEY hKey,
|
||||
_In_opt_ LPCSTR lpValueName,
|
||||
_Reserved_ LPDWORD lpReserved,
|
||||
_Out_opt_ LPDWORD lpType,
|
||||
_Out_opt_ LPBYTE lpData,
|
||||
_Inout_opt_ LPDWORD lpcbData
|
||||
);
|
||||
|
||||
|
||||
LONG WINAPI RegQueryValueExW(
|
||||
_In_ HKEY hKey,
|
||||
_In_opt_ LPWSTR lpValueName,
|
||||
_Reserved_ LPDWORD lpReserved,
|
||||
_Out_opt_ LPDWORD lpType,
|
||||
_Out_opt_ LPBYTE lpData,
|
||||
_Inout_opt_ LPDWORD lpcbData
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI InitializeProcThreadAttributeList(
|
||||
_Out_opt_ LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList,
|
||||
_In_ DWORD dwAttributeCount,
|
||||
_Reserved_ DWORD dwFlags,
|
||||
_Inout_ PSIZE_T lpSize
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI UpdateProcThreadAttribute(
|
||||
_Inout_ LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ DWORD_PTR Attribute,
|
||||
_In_ PVOID lpValue,
|
||||
_In_ SIZE_T cbSize,
|
||||
_Out_opt_ PVOID lpPreviousValue,
|
||||
_In_opt_ PSIZE_T lpReturnSize
|
||||
);
|
||||
|
||||
VOID WINAPI DeleteProcThreadAttributeList(
|
||||
_Inout_ LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList
|
||||
);
|
||||
|
||||
|
||||
INT WINAPI MessageBoxA(
|
||||
_In_opt_ HWND hWnd,
|
||||
_In_opt_ LPCSTR lpText,
|
||||
_In_opt_ LPCSTR lpCaption,
|
||||
_In_ UINT uType
|
||||
);
|
||||
|
||||
|
||||
INT WINAPI MessageBoxW(
|
||||
_In_opt_ HWND hWnd,
|
||||
_In_opt_ LPWSTR lpText,
|
||||
_In_opt_ LPWSTR lpCaption,
|
||||
_In_ UINT uType
|
||||
);
|
||||
|
||||
UINT WINAPI GetWindowsDirectoryA(
|
||||
_Out_ LPCSTR lpBuffer,
|
||||
_In_ UINT uSize
|
||||
);
|
||||
|
||||
UINT WINAPI GetWindowsDirectoryW(
|
||||
_Out_ LPWSTR lpBuffer,
|
||||
_In_ UINT uSize
|
||||
);
|
||||
|
||||
VOID WINAPI RtlGetUnloadEventTraceEx(
|
||||
_Out_ PULONG *ElementSize,
|
||||
_Out_ PULONG *ElementCount,
|
||||
_Out_ PVOID *EventTrace
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtQueryInformationFile(
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_Out_ PVOID FileInformation,
|
||||
_In_ ULONG Length,
|
||||
_In_ FILE_INFORMATION_CLASS FileInformationClass
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtQueryDirectoryFile(
|
||||
_In_ HANDLE FileHandle,
|
||||
_In_opt_ HANDLE Event,
|
||||
_In_opt_ PIO_APC_ROUTINE ApcRoutine,
|
||||
_In_opt_ PVOID ApcContext,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_Out_ PVOID FileInformation,
|
||||
_In_ ULONG Length,
|
||||
_In_ FILE_INFORMATION_CLASS FileInformationClass,
|
||||
_In_ BOOLEAN ReturnSingleEntry,
|
||||
_In_opt_ PUNICODE_STRING FileName,
|
||||
_In_ BOOLEAN RestartScan
|
||||
);
|
||||
|
||||
|
||||
BOOLEAN WINAPI RtlDosPathNameToNtPathName_U(
|
||||
_In_ PCWSTR DosName,
|
||||
_Out_ PUNICODE_STRING NtName,
|
||||
_Out_ PCWSTR *PartName,
|
||||
_Out_ PRTL_RELATIVE_NAME_U RelativeName
|
||||
);
|
||||
|
||||
// NOT EXPORTED !!
|
||||
NTSTATUS WINAPI ApiSetResolveToHost (
|
||||
_In_ PVOID Schema,
|
||||
_In_ PUNICODE_STRING FileNameIn,
|
||||
_In_opt_ PUNICODE_STRING ParentName,
|
||||
_Out_ PBOOLEAN Resolved,
|
||||
_Out_ PUNICODE_STRING HostBinary
|
||||
);
|
||||
|
||||
|
||||
VOID WINAPI Sleep(
|
||||
_In_ DWORD dwMilliseconds
|
||||
);
|
||||
|
||||
DWORD WINAPI SleepEx(
|
||||
_In_ DWORD dwMilliseconds,
|
||||
_In_ BOOL bAlertable
|
||||
);
|
||||
|
||||
BOOL WINAPI GetProcessMitigationPolicy(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ PROCESS_MITIGATION_POLICY MitigationPolicy,
|
||||
_Out_ PVOID lpBuffer,
|
||||
_In_ SIZE_T dwLength
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI SetProcessMitigationPolicy(
|
||||
_In_ PROCESS_MITIGATION_POLICY MitigationPolicy,
|
||||
_In_ PVOID lpBuffer,
|
||||
_In_ SIZE_T dwLength
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI GetProductInfo(
|
||||
_In_ DWORD dwOSMajorVersion,
|
||||
_In_ DWORD dwOSMinorVersion,
|
||||
_In_ DWORD dwSpMajorVersion,
|
||||
_In_ DWORD dwSpMinorVersion,
|
||||
_Out_ PDWORD pdwReturnedProductType
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS NtSetInformationFile(
|
||||
HANDLE FileHandle,
|
||||
PIO_STATUS_BLOCK IoStatusBlock,
|
||||
PVOID FileInformation,
|
||||
ULONG Length,
|
||||
FILE_INFORMATION_CLASS FileInformationClass
|
||||
);
|
||||
|
||||
|
||||
BOOL GetProcessMemoryInfo(
|
||||
HANDLE Process,
|
||||
PPROCESS_MEMORY_COUNTERS ppsmemCounters,
|
||||
DWORD cb
|
||||
);
|
||||
|
||||
|
||||
HMODULE WINAPI GetModuleHandleA(
|
||||
_In_opt_ LPCSTR lpModuleName
|
||||
);
|
||||
|
||||
HMODULE WINAPI GetModuleHandleW(
|
||||
_In_opt_ LPWSTR lpModuleName
|
||||
);
|
||||
|
||||
|
||||
BOOLEAN RtlEqualUnicodeString(
|
||||
PUNICODE_STRING String1,
|
||||
PUNICODE_STRING String2,
|
||||
BOOLEAN CaseInSensitive
|
||||
);
|
||||
|
||||
|
||||
DWORD WINAPI GetFirmwareEnvironmentVariableA(
|
||||
_In_ LPCSTR lpName,
|
||||
_In_ LPCSTR lpGuid,
|
||||
_Out_ PVOID pBuffer,
|
||||
_In_ DWORD nSize
|
||||
);
|
||||
|
||||
DWORD WINAPI GetFirmwareEnvironmentVariableW(
|
||||
_In_ LPCWSTR lpName,
|
||||
_In_ LPCWSTR lpGuid,
|
||||
_Out_ PVOID pBuffer,
|
||||
_In_ DWORD nSize
|
||||
);
|
||||
|
||||
DWORD WINAPI GetFirmwareEnvironmentVariableExA(
|
||||
_In_ LPCSTR lpName,
|
||||
_In_ LPCSTR lpGuid,
|
||||
_Out_ PVOID pBuffer,
|
||||
_In_ DWORD nSize,
|
||||
_Out_ PDWORD pdwAttribubutes
|
||||
);
|
||||
|
||||
DWORD WINAPI GetFirmwareEnvironmentVariableExW(
|
||||
_In_ LPCWSTR lpName,
|
||||
_In_ LPCWSTR lpGuid,
|
||||
_Out_ PVOID pBuffer,
|
||||
_In_ DWORD nSize,
|
||||
_Out_ PDWORD pdwAttribubutes
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtEnumerateSystemEnvironmentValuesEx(
|
||||
_In_ ULONG InformationClass,
|
||||
_In_ PVOID Buffer,
|
||||
_In_ ULONG BufferLength
|
||||
);
|
||||
|
||||
|
||||
@@ -0,0 +1,158 @@
|
||||
NTSTATUS WINAPI NtAlpcCreatePort(
|
||||
_Out_ PHANDLE PortHandle,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ PALPC_PORT_ATTRIBUTES PortAttributes
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtAlpcQueryInformation(
|
||||
_In_opt_ HANDLE PortHandle,
|
||||
_In_ ALPC_PORT_INFORMATION_CLASS PortInformationClass,
|
||||
_Inout_opt_ PVOID PortInformation,
|
||||
_In_ ULONG Length,
|
||||
_Out_opt_ PULONG ReturnLength
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtAlpcQueryInformationMessage(
|
||||
_In_ HANDLE PortHandle,
|
||||
_In_ PPORT_MESSAGE PortMessage,
|
||||
_In_ ALPC_MESSAGE_INFORMATION_CLASS MessageInformationClass,
|
||||
_Out_opt_ PVOID MessageInformation,
|
||||
_In_ ULONG Length,
|
||||
_Out_opt_ PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtAlpcConnectPort(
|
||||
_Out_ PHANDLE PortHandle,
|
||||
_In_ PUNICODE_STRING PortName,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ PALPC_PORT_ATTRIBUTES PortAttributes,
|
||||
_In_ ULONG Flags,
|
||||
_In_opt_ PSID RequiredServerSid,
|
||||
_Inout_opt_ PPORT_MESSAGE ConnectionMessage,
|
||||
_Inout_opt_ PULONG BufferLength,
|
||||
_Inout_opt_ PALPC_MESSAGE_ATTRIBUTES OutMessageAttributes,
|
||||
_Inout_opt_ PALPC_MESSAGE_ATTRIBUTES InMessageAttributes,
|
||||
_In_opt_ PLARGE_INTEGER Timeout
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtAlpcConnectPortEx(
|
||||
_Out_ PHANDLE PortHandle,
|
||||
_In_ POBJECT_ATTRIBUTES ConnectionPortObjectAttributes,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ClientPortObjectAttributes,
|
||||
_In_opt_ PALPC_PORT_ATTRIBUTES PortAttributes,
|
||||
_In_ ULONG Flags,
|
||||
_In_opt_ PSECURITY_DESCRIPTOR ServerSecurityRequirements,
|
||||
_Inout_opt_ PPORT_MESSAGE ConnectionMessage,
|
||||
_Inout_opt_ PSIZE_T BufferLength,
|
||||
_Inout_opt_ PALPC_MESSAGE_ATTRIBUTES OutMessageAttributes,
|
||||
_Inout_opt_ PALPC_MESSAGE_ATTRIBUTES InMessageAttributes,
|
||||
_In_opt_ PLARGE_INTEGER Timeout
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtAlpcAcceptConnectPort(
|
||||
_Out_ PHANDLE PortHandle,
|
||||
_In_ HANDLE ConnectionPortHandle,
|
||||
_In_ ULONG Flags,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ PALPC_PORT_ATTRIBUTES PortAttributes,
|
||||
_In_opt_ PVOID PortContext,
|
||||
_In_ PPORT_MESSAGE ConnectionRequest,
|
||||
_Inout_opt_ PALPC_MESSAGE_ATTRIBUTES ConnectionMessageAttributes,
|
||||
_In_ BOOLEAN AcceptConnection
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI AlpcInitializeMessageAttribute(
|
||||
_In_ ULONG AttributeFlags,
|
||||
_Out_opt_ PALPC_MESSAGE_ATTRIBUTES Buffer,
|
||||
_In_ ULONG BufferSize,
|
||||
_Out_ PULONG RequiredBufferSize
|
||||
);
|
||||
|
||||
PVOID WINAPI AlpcGetMessageAttribute(
|
||||
_In_ PALPC_MESSAGE_ATTRIBUTES Buffer,
|
||||
_In_ ULONG AttributeFlag
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtAlpcSendWaitReceivePort(
|
||||
_In_ HANDLE PortHandle,
|
||||
_In_ ULONG Flags,
|
||||
_In_opt_ PPORT_MESSAGE SendMessage,
|
||||
_Inout_opt_ PALPC_MESSAGE_ATTRIBUTES SendMessageAttributes,
|
||||
_Out_opt_ PPORT_MESSAGE ReceiveMessage,
|
||||
_Inout_opt_ PSIZE_T BufferLength,
|
||||
_Inout_opt_ PALPC_MESSAGE_ATTRIBUTES ReceiveMessageAttributes,
|
||||
_In_opt_ PLARGE_INTEGER Timeout
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtAlpcDisconnectPort(
|
||||
_In_ HANDLE PortHandle,
|
||||
_In_ ULONG Flags
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtAlpcCreatePortSection(
|
||||
_In_ HANDLE PortHandle,
|
||||
_In_ ULONG Flags,
|
||||
_In_opt_ HANDLE SectionHandle,
|
||||
_In_ SIZE_T SectionSize,
|
||||
_Out_ PALPC_HANDLE AlpcSectionHandle,
|
||||
_Out_ PSIZE_T ActualSectionSize
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtAlpcDeletePortSection(
|
||||
_In_ HANDLE PortHandle,
|
||||
_Reserved_ ULONG Flags,
|
||||
_In_ ALPC_HANDLE SectionHandle
|
||||
);
|
||||
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtAlpcCreateResourceReserve(
|
||||
_In_ HANDLE PortHandle,
|
||||
_Reserved_ ULONG Flags,
|
||||
_In_ SIZE_T MessageSize,
|
||||
_Out_ PALPC_HANDLE ResourceId
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtAlpcDeleteResourceReserve(
|
||||
_In_ HANDLE PortHandle,
|
||||
_Reserved_ ULONG Flags,
|
||||
_In_ ALPC_HANDLE ResourceId
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtAlpcCreateSectionView(
|
||||
_In_ HANDLE PortHandle,
|
||||
_Reserved_ ULONG Flags,
|
||||
_Inout_ PALPC_DATA_VIEW_ATTR ViewAttributes
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtAlpcDeleteSectionView(
|
||||
_In_ HANDLE PortHandle,
|
||||
_Reserved_ ULONG Flags,
|
||||
_In_ PVOID ViewBase
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtAlpcCreateSecurityContext(
|
||||
_In_ HANDLE PortHandle,
|
||||
_Reserved_ ULONG Flags,
|
||||
_Inout_ PALPC_SECURITY_ATTR SecurityAttribute
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtAlpcDeleteSecurityContext(
|
||||
_In_ HANDLE PortHandle,
|
||||
_Reserved_ ULONG Flags,
|
||||
_In_ ALPC_HANDLE ContextHandle
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtAlpcRevokeSecurityContext(
|
||||
_In_ HANDLE PortHandle,
|
||||
_Reserved_ ULONG Flags,
|
||||
_In_ ALPC_HANDLE ContextHandle
|
||||
);
|
||||
@@ -0,0 +1,36 @@
|
||||
BOOL WINAPI CryptCATAdminCalcHashFromFileHandle(
|
||||
__in HANDLE hFile,
|
||||
__inout DWORD *pcbHash,
|
||||
_Out_opt_ BYTE *pbHash,
|
||||
__in DWORD dwFlags);
|
||||
|
||||
HCATINFO WINAPI CryptCATAdminEnumCatalogFromHash(
|
||||
__in HCATADMIN hCatAdmin,
|
||||
__in BYTE *pbHash,
|
||||
__in DWORD cbHash,
|
||||
__in DWORD dwFlags,
|
||||
__inout HCATINFO *phPrevCatInfo);
|
||||
|
||||
BOOL WINAPI CryptCATAdminAcquireContext(
|
||||
_Out_ HCATADMIN *phCatAdmin,
|
||||
_In_ GUID *pgSubsystem,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptCATCatalogInfoFromContext(
|
||||
_In_ HCATINFO hCatInfo,
|
||||
_Inout_ CATALOG_INFO *psCatInfo,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI CryptCATAdminReleaseCatalogContext(
|
||||
_In_ HCATADMIN hCatAdmin,
|
||||
_In_ HCATINFO hCatInfo,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptCATAdminReleaseContext(
|
||||
_In_ HCATADMIN hCatAdmin,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
@@ -0,0 +1,517 @@
|
||||
BOOL WINAPI CryptCATAdminCalcHashFromFileHandle(
|
||||
__in HANDLE hFile,
|
||||
__inout DWORD *pcbHash,
|
||||
_Out_opt_ BYTE *pbHash,
|
||||
__in DWORD dwFlags);
|
||||
|
||||
|
||||
BOOL CryptCATAdminCalcHashFromFileHandle2(
|
||||
HCATADMIN hCatAdmin,
|
||||
HANDLE hFile,
|
||||
DWORD *pcbHash,
|
||||
BYTE *pbHash,
|
||||
DWORD dwFlags
|
||||
);
|
||||
|
||||
HCATINFO WINAPI CryptCATAdminEnumCatalogFromHash(
|
||||
__in HCATADMIN hCatAdmin,
|
||||
__in BYTE *pbHash,
|
||||
__in DWORD cbHash,
|
||||
__in DWORD dwFlags,
|
||||
__inout HCATINFO *phPrevCatInfo);
|
||||
|
||||
BOOL WINAPI CryptCATAdminAcquireContext(
|
||||
_Out_ HCATADMIN *phCatAdmin,
|
||||
_In_ GUID *pgSubsystem,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
BOOL CryptCATAdminAcquireContext2(
|
||||
HCATADMIN *phCatAdmin,
|
||||
GUID *pgSubsystem,
|
||||
PCWSTR pwszHashAlgorithm,
|
||||
PCCERT_STRONG_SIGN_PARA pStrongHashPolicy,
|
||||
DWORD dwFlags
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptCATCatalogInfoFromContext(
|
||||
_In_ HCATINFO hCatInfo,
|
||||
_Inout_ CATALOG_INFO *psCatInfo,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI CryptCATAdminReleaseCatalogContext(
|
||||
_In_ HCATADMIN hCatAdmin,
|
||||
_In_ HCATINFO hCatInfo,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptCATAdminReleaseContext(
|
||||
_In_ HCATADMIN hCatAdmin,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
CRYPTCATATTRIBUTE* WINAPI CryptCATGetAttrInfo(
|
||||
_In_ HANDLE hCatalog,
|
||||
_In_ CRYPTCATMEMBER *pCatMember,
|
||||
_In_ LPWSTR pwszReferenceTag
|
||||
);
|
||||
|
||||
CRYPTCATMEMBER* WINAPI CryptCATGetMemberInfo(
|
||||
_In_ HANDLE hCatalog,
|
||||
_In_ LPWSTR pwszReferenceTag
|
||||
);
|
||||
|
||||
CRYPTCATATTRIBUTE* WINAPI CryptCATGetAttrInfo(
|
||||
_In_ HANDLE hCatalog,
|
||||
_In_ CRYPTCATMEMBER *pCatMember,
|
||||
_In_ LPWSTR pwszReferenceTag
|
||||
);
|
||||
|
||||
CRYPTCATATTRIBUTE* WINAPI CryptCATEnumerateCatAttr(
|
||||
_In_ HANDLE hCatalog,
|
||||
_In_ CRYPTCATATTRIBUTE *pPrevAttr
|
||||
);
|
||||
|
||||
CRYPTCATATTRIBUTE* WINAPI CryptCATEnumerateAttr(
|
||||
_In_ HANDLE hCatalog,
|
||||
_In_ CRYPTCATMEMBER *pCatMember,
|
||||
_In_ CRYPTCATATTRIBUTE *pPrevAttr
|
||||
);
|
||||
|
||||
CRYPTCATMEMBER* WINAPI CryptCATEnumerateMember(
|
||||
_In_ HANDLE hCatalog,
|
||||
_In_ CRYPTCATMEMBER *pPrevMember
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptQueryObject(
|
||||
_In_ DWORD dwObjectType,
|
||||
_In_ VOID *pvObject,
|
||||
_In_ DWORD dwExpectedContentTypeFlags,
|
||||
_In_ DWORD dwExpectedFormatTypeFlags,
|
||||
_In_ DWORD dwFlags,
|
||||
_Out_ DWORD *pdwMsgAndCertEncodingType,
|
||||
_Out_ DWORD *pdwContentType,
|
||||
_Out_ DWORD *pdwFormatType,
|
||||
_Out_ HCERTSTORE *phCertStore,
|
||||
_Out_ HCRYPTMSG *phMsg,
|
||||
_Out_ PVOID *ppvContext
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptMsgGetParam(
|
||||
_In_ HCRYPTMSG hCryptMsg,
|
||||
_In_ DWORD dwParamType,
|
||||
_In_ DWORD dwIndex,
|
||||
_Out_ VOID *pvData,
|
||||
_Inout_ DWORD *pcbData
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI CryptDecodeObject(
|
||||
_In_ DWORD dwCertEncodingType,
|
||||
_In_ LPCSTR lpszStructType,
|
||||
_In_ BYTE *pbEncoded,
|
||||
_In_ DWORD cbEncoded,
|
||||
_In_ DWORD dwFlags,
|
||||
_Out_ VOID *pvStructInfo,
|
||||
_Inout_ DWORD *pcbStructInfo
|
||||
);
|
||||
|
||||
|
||||
PCCERT_CONTEXT WINAPI CertFindCertificateInStore(
|
||||
_In_ HCERTSTORE hCertStore,
|
||||
_In_ DWORD dwCertEncodingType,
|
||||
_In_ DWORD dwFindFlags,
|
||||
_In_ DWORD dwFindType,
|
||||
_In_ VOID *pvFindPara,
|
||||
_In_ PCCERT_CONTEXT pPrevCertContext
|
||||
);
|
||||
|
||||
DWORD WINAPI CertGetNameStringA(
|
||||
_In_ PCCERT_CONTEXT pCertContext,
|
||||
_In_ DWORD dwType,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ VOID *pvTypePara,
|
||||
_Out_ LPCSTR pszNameString,
|
||||
_In_ DWORD cchNameString
|
||||
);
|
||||
|
||||
DWORD WINAPI CertGetNameStringW(
|
||||
_In_ PCCERT_CONTEXT pCertContext,
|
||||
_In_ DWORD dwType,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ VOID *pvTypePara,
|
||||
_Out_ LPWSTR pszNameString,
|
||||
_In_ DWORD cchNameString
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI CertGetCertificateChain(
|
||||
_In_opt_ HCERTCHAINENGINE hChainEngine,
|
||||
_In_ PCCERT_CONTEXT pCertContext,
|
||||
_In_opt_ LPFILETIME pTime,
|
||||
_In_ HCERTSTORE hAdditionalStore,
|
||||
_In_ PCERT_CHAIN_PARA pChainPara,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ LPVOID pvReserved,
|
||||
_Out_ PCCERT_CHAIN_CONTEXT *ppChainContext
|
||||
);
|
||||
|
||||
PCCERT_CONTEXT WINAPI CertCreateSelfSignCertificate(
|
||||
_In_opt_ HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey,
|
||||
_In_ PCERT_NAME_BLOB pSubjectIssuerBlob,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_opt_ PCRYPT_KEY_PROV_INFO pKeyProvInfo,
|
||||
_In_opt_ PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
|
||||
_In_opt_ PSYSTEMTIME pStartTime,
|
||||
_In_opt_ PSYSTEMTIME pEndTime,
|
||||
_In_opt_ PCERT_EXTENSIONS pExtensions
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI CertStrToNameA(
|
||||
_In_ DWORD dwCertEncodingType,
|
||||
_In_ LPCSTR pszX500,
|
||||
_In_ DWORD dwStrType,
|
||||
_In_opt_ VOID *pvReserved,
|
||||
_Out_ BYTE *pbEncoded,
|
||||
_Inout_ DWORD *pcbEncoded,
|
||||
_Out_opt_ LPCSTR *ppszError
|
||||
);
|
||||
|
||||
BOOL WINAPI CertStrToNameW(
|
||||
_In_ DWORD dwCertEncodingType,
|
||||
_In_ LPWSTR pszX500,
|
||||
_In_ DWORD dwStrType,
|
||||
_In_opt_ VOID *pvReserved,
|
||||
_Out_ BYTE *pbEncoded,
|
||||
_Inout_ DWORD *pcbEncoded,
|
||||
_Out_opt_ LPWSTR *ppszError
|
||||
);
|
||||
|
||||
HCERTSTORE WINAPI CertOpenStore(
|
||||
_In_ LPCSTR lpszStoreProvider,
|
||||
_In_ DWORD dwMsgAndCertEncodingType,
|
||||
_In_ HCRYPTPROV_LEGACY hCryptProv,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ VOID *pvPara
|
||||
);
|
||||
|
||||
BOOL WINAPI CertAddCertificateContextToStore(
|
||||
_In_ HCERTSTORE hCertStore,
|
||||
_In_ PCCERT_CONTEXT pCertContext,
|
||||
_In_ DWORD dwAddDisposition,
|
||||
_Out_opt_ PCCERT_CONTEXT *ppStoreContext
|
||||
);
|
||||
|
||||
BOOL WINAPI CertFreeCertificateContext(
|
||||
_In_ PCCERT_CONTEXT pCertContext
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI PFXExportCertStoreEx(
|
||||
_In_ HCERTSTORE hStore,
|
||||
_Inout_ CRYPT_DATA_BLOB *pPFX,
|
||||
_In_ LPCWSTR szPassword,
|
||||
_In_ VOID *pvPara,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
HCERTSTORE WINAPI PFXImportCertStore(
|
||||
_In_ CRYPT_DATA_BLOB *pPFX,
|
||||
_In_ LPCWSTR szPassword,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI CryptGenKey(
|
||||
_In_ HCRYPTPROV hProv,
|
||||
_In_ ALG_ID Algid,
|
||||
_In_ DWORD dwFlags,
|
||||
_Out_ HCRYPTKEY *phKey
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptDestroyKey(
|
||||
_In_ HCRYPTKEY hKey
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptAcquireContextA(
|
||||
_Out_ HCRYPTPROV *phProv,
|
||||
_In_ LPCSTR pszContainer,
|
||||
_In_ LPCSTR pszProvider,
|
||||
_In_ DWORD dwProvType,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptAcquireContextW(
|
||||
_Out_ HCRYPTPROV *phProv,
|
||||
_In_ LPWSTR pszContainer,
|
||||
_In_ LPWSTR pszProvider,
|
||||
_In_ DWORD dwProvType,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI CryptReleaseContext(
|
||||
_In_ HCRYPTPROV hProv,
|
||||
_In_ DWORD dwFlags
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptExportKey(
|
||||
_In_ HCRYPTKEY hKey,
|
||||
_In_ HCRYPTKEY hExpKey,
|
||||
_In_ DWORD dwBlobType,
|
||||
_In_ DWORD dwFlags,
|
||||
_Out_ BYTE *pbData,
|
||||
_Inout_ DWORD *pdwDataLen
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI CertGetCertificateContextProperty(
|
||||
_In_ PCCERT_CONTEXT pCertContext,
|
||||
_In_ DWORD dwPropId,
|
||||
_Out_ VOID *pvData,
|
||||
_Inout_ DWORD *pcbData
|
||||
);
|
||||
|
||||
DWORD WINAPI CertEnumCertificateContextProperties(
|
||||
_In_ PCCERT_CONTEXT pCertContext,
|
||||
_In_ DWORD dwPropId
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptEncryptMessage(
|
||||
_In_ PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara,
|
||||
_In_ DWORD cRecipientCert,
|
||||
_In_ PCCERT_CONTEXT *rgpRecipientCert,
|
||||
_In_ BYTE *pbToBeEncrypted,
|
||||
_In_ DWORD cbToBeEncrypted,
|
||||
_Out_ BYTE *pbEncryptedBlob,
|
||||
_Inout_ DWORD *pcbEncryptedBlob
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptDecryptMessage(
|
||||
_In_ PCRYPT_DECRYPT_MESSAGE_PARA pDecryptPara,
|
||||
_In_ BYTE *pbEncryptedBlob,
|
||||
_In_ DWORD cbEncryptedBlob,
|
||||
_Out_opt_ BYTE *pbDecrypted,
|
||||
_Inout_opt_ DWORD *pcbDecrypted,
|
||||
_Out_opt_ PCCERT_CONTEXT *ppXchgCert
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptAcquireCertificatePrivateKey(
|
||||
_In_ PCCERT_CONTEXT pCert,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_opt_ VOID *pvParameters,
|
||||
_Out_ HCRYPTPROV_OR_NCRYPT_KEY_HANDLE *phCryptProvOrNCryptKey,
|
||||
_Out_ DWORD *pdwKeySpec,
|
||||
_Out_ BOOL *pfCallerFreeProvOrNCryptKey
|
||||
);
|
||||
|
||||
|
||||
PCCERT_CONTEXT WINAPI CertDuplicateCertificateContext(
|
||||
_In_ PCCERT_CONTEXT pCertContext
|
||||
);
|
||||
|
||||
|
||||
PCCERT_CONTEXT WINAPI CertEnumCertificatesInStore(
|
||||
_In_ HCERTSTORE hCertStore,
|
||||
_In_ PCCERT_CONTEXT pPrevCertContext
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptEncodeObjectEx(
|
||||
_In_ DWORD dwCertEncodingType,
|
||||
_In_ LPCSTR lpszStructType,
|
||||
_In_ VOID *pvStructInfo,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ PCRYPT_ENCODE_PARA pEncodePara,
|
||||
_Out_ VOID *pvEncoded,
|
||||
_Inout_ DWORD *pcbEncoded
|
||||
);
|
||||
|
||||
PCCERT_CONTEXT WINAPI CertCreateCertificateContext(
|
||||
_In_ DWORD dwCertEncodingType,
|
||||
_In_ BYTE *pbCertEncoded,
|
||||
_In_ DWORD cbCertEncoded
|
||||
);
|
||||
|
||||
BOOL WINAPI CertCompareCertificate(
|
||||
_In_ DWORD dwCertEncodingType,
|
||||
_In_ PCERT_INFO pCertId1,
|
||||
_In_ PCERT_INFO pCertId2
|
||||
);
|
||||
|
||||
PCCTL_CONTEXT WINAPI CertEnumCTLsInStore(
|
||||
_In_ HCERTSTORE hCertStore,
|
||||
_In_ PCCTL_CONTEXT pPrevCtlContext
|
||||
);
|
||||
|
||||
PCCTL_CONTEXT WINAPI CertDuplicateCTLContext(
|
||||
_In_ PCCTL_CONTEXT pCtlContext
|
||||
);
|
||||
|
||||
BOOL WINAPI CertFreeCTLContext(
|
||||
_In_ PCCTL_CONTEXT pCtlContext
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI CryptUIDlgViewContext(
|
||||
_In_ DWORD dwContextType,
|
||||
_In_ PVOID pvContext,
|
||||
_In_ HWND hwnd,
|
||||
_In_ LPCWSTR pwszTitle,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ PVOID pvReserved
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptMsgVerifyCountersignatureEncoded(
|
||||
_In_ HCRYPTPROV_LEGACY hCryptProv,
|
||||
_In_ DWORD dwEncodingType,
|
||||
_In_ PBYTE pbSignerInfo,
|
||||
_In_ DWORD cbSignerInfo,
|
||||
_In_ PBYTE pbSignerInfoCountersignature,
|
||||
_In_ DWORD cbSignerInfoCountersignature,
|
||||
_In_ PCERT_INFO pciCountersigner
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptMsgVerifyCountersignatureEncodedEx(
|
||||
_In_opt_ HCRYPTPROV_LEGACY hCryptProv,
|
||||
_In_ DWORD dwEncodingType,
|
||||
_In_ PBYTE pbSignerInfo,
|
||||
_In_ DWORD cbSignerInfo,
|
||||
_In_ PBYTE pbSignerInfoCountersignature,
|
||||
_In_ DWORD cbSignerInfoCountersignature,
|
||||
_In_ DWORD dwSignerType,
|
||||
_In_ PVOID pvSigner,
|
||||
_Reserved_ DWORD dwFlags,
|
||||
_Reserved_ PVOID pvExtra
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptHashCertificate(
|
||||
_In_ HCRYPTPROV_LEGACY hCryptProv,
|
||||
_In_ ALG_ID Algid,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ BYTE *pbEncoded,
|
||||
_In_ DWORD cbEncoded,
|
||||
_Out_ BYTE *pbComputedHash,
|
||||
_Inout_ DWORD *pcbComputedHash
|
||||
);
|
||||
|
||||
|
||||
BOOL CryptSignMessage(
|
||||
PCRYPT_SIGN_MESSAGE_PARA pSignPara,
|
||||
BOOL fDetachedSignature,
|
||||
DWORD cToBeSigned,
|
||||
PBYTE *rgpbToBeSigned,
|
||||
DWORD *rgcbToBeSigned,
|
||||
BYTE *pbSignedBlob,
|
||||
DWORD *pcbSignedBlob
|
||||
);
|
||||
|
||||
|
||||
BOOL CryptSignAndEncryptMessage(
|
||||
PCRYPT_SIGN_MESSAGE_PARA pSignPara,
|
||||
PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara,
|
||||
DWORD cRecipientCert,
|
||||
PCCERT_CONTEXT *rgpRecipientCert,
|
||||
BYTE *pbToBeSignedAndEncrypted,
|
||||
DWORD cbToBeSignedAndEncrypted,
|
||||
BYTE *pbSignedAndEncryptedBlob,
|
||||
DWORD *pcbSignedAndEncryptedBlob
|
||||
);
|
||||
|
||||
BOOL CryptVerifyMessageSignature(
|
||||
PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara,
|
||||
DWORD dwSignerIndex,
|
||||
BYTE *pbSignedBlob,
|
||||
DWORD cbSignedBlob,
|
||||
BYTE *pbDecoded,
|
||||
DWORD *pcbDecoded,
|
||||
PCCERT_CONTEXT *ppSignerCert
|
||||
);
|
||||
|
||||
BOOL CryptVerifyMessageSignatureWithKey(
|
||||
PCRYPT_KEY_VERIFY_MESSAGE_PARA pVerifyPara,
|
||||
PCERT_PUBLIC_KEY_INFO pPublicKeyInfo,
|
||||
BYTE *pbSignedBlob,
|
||||
DWORD cbSignedBlob,
|
||||
BYTE *pbDecoded,
|
||||
DWORD *pcbDecoded
|
||||
);
|
||||
|
||||
|
||||
BOOL CryptVerifyMessageHash(
|
||||
PCRYPT_HASH_MESSAGE_PARA pHashPara,
|
||||
BYTE *pbHashedBlob,
|
||||
DWORD cbHashedBlob,
|
||||
BYTE *pbToBeHashed,
|
||||
DWORD *pcbToBeHashed,
|
||||
BYTE *pbComputedHash,
|
||||
DWORD *pcbComputedHash
|
||||
);
|
||||
|
||||
|
||||
|
||||
PCCERT_CONTEXT PfnCryptGetSignerCertificate(
|
||||
PVOID pvGetArg,
|
||||
DWORD dwCertEncodingType,
|
||||
PCERT_INFO pSignerId,
|
||||
HCERTSTORE hMsgCertStore
|
||||
);
|
||||
|
||||
|
||||
BOOL CryptEncrypt(
|
||||
HCRYPTKEY hKey,
|
||||
HCRYPTHASH hHash,
|
||||
BOOL Final,
|
||||
DWORD dwFlags,
|
||||
BYTE *pbData,
|
||||
DWORD *pdwDataLen,
|
||||
DWORD dwBufLen
|
||||
);
|
||||
|
||||
|
||||
BOOL CryptDecrypt(
|
||||
HCRYPTKEY hKey,
|
||||
HCRYPTHASH hHash,
|
||||
BOOL Final,
|
||||
DWORD dwFlags,
|
||||
BYTE *pbData,
|
||||
DWORD *pdwDataLen
|
||||
);
|
||||
|
||||
HCRYPTMSG CryptMsgOpenToEncode(
|
||||
DWORD dwMsgEncodingType,
|
||||
DWORD dwFlags,
|
||||
DWORD dwMsgType,
|
||||
PVOID pvMsgEncodeInfo,
|
||||
LPSTR pszInnerContentObjID,
|
||||
PCMSG_STREAM_INFO pStreamInfo
|
||||
);
|
||||
|
||||
HCRYPTMSG CryptMsgOpenToDecode(
|
||||
DWORD dwMsgEncodingType,
|
||||
DWORD dwFlags,
|
||||
DWORD dwMsgType,
|
||||
HCRYPTPROV_LEGACY hCryptProv,
|
||||
PCERT_INFO pRecipientInfo,
|
||||
PCMSG_STREAM_INFO pStreamInfo
|
||||
);
|
||||
|
||||
BOOL CryptMsgUpdate(
|
||||
HCRYPTMSG hCryptMsg,
|
||||
BYTE *pbData,
|
||||
DWORD cbData,
|
||||
BOOL fFinal
|
||||
);
|
||||
|
||||
BOOL CryptMsgControl(
|
||||
HCRYPTMSG hCryptMsg,
|
||||
DWORD dwFlags,
|
||||
DWORD dwCtrlType,
|
||||
PVOID pvCtrlPara
|
||||
);
|
||||
|
||||
BOOL CryptMsgClose(
|
||||
HCRYPTMSG hCryptMsg
|
||||
);
|
||||
@@ -0,0 +1,225 @@
|
||||
HANDLE WINAPI OpenEventLogA(
|
||||
_In_ LPCSTR lpUNCServerName,
|
||||
_In_ LPCSTR lpSourceName
|
||||
);
|
||||
|
||||
HANDLE WINAPI OpenEventLogW(
|
||||
_In_ LPWSTR lpUNCServerName,
|
||||
_In_ LPWSTR lpSourceName
|
||||
);
|
||||
|
||||
|
||||
HANDLE WINAPI OpenBackupEventLogA(
|
||||
_In_ LPCSTR lpUNCServerName,
|
||||
_In_ LPCSTR lpSourceName
|
||||
);
|
||||
|
||||
HANDLE WINAPI OpenBackupEventLogW(
|
||||
_In_ LPWSTR lpUNCServerName,
|
||||
_In_ LPWSTR lpSourceName
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI ReadEventLogA(
|
||||
_In_ HANDLE hEventLog,
|
||||
_In_ DWORD dwReadFlags,
|
||||
_In_ DWORD dwRecordOffset,
|
||||
_Out_ LPVOID lpBuffer,
|
||||
_In_ DWORD nNumberOfBytesToRead,
|
||||
_Out_ DWORD *pnBytesRead,
|
||||
_Out_ DWORD *pnMinNumberOfBytesNeeded
|
||||
);
|
||||
|
||||
BOOL WINAPI ReadEventLogW(
|
||||
_In_ HANDLE hEventLog,
|
||||
_In_ DWORD dwReadFlags,
|
||||
_In_ DWORD dwRecordOffset,
|
||||
_Out_ LPVOID lpBuffer,
|
||||
_In_ DWORD nNumberOfBytesToRead,
|
||||
_Out_ DWORD *pnBytesRead,
|
||||
_Out_ DWORD *pnMinNumberOfBytesNeeded
|
||||
);
|
||||
|
||||
BOOL WINAPI GetEventLogInformation(
|
||||
_In_ HANDLE hEventLog,
|
||||
_In_ DWORD dwInfoLevel,
|
||||
_Out_ LPVOID lpBuffer,
|
||||
_In_ DWORD cbBufSize,
|
||||
_Out_ LPDWORD pcbBytesNeeded
|
||||
);
|
||||
|
||||
BOOL WINAPI GetNumberOfEventLogRecords(
|
||||
_In_ HANDLE hEventLog,
|
||||
_Out_ PDWORD NumberOfRecords
|
||||
);
|
||||
|
||||
BOOL WINAPI CloseEventLog(
|
||||
_Inout_ HANDLE hEventLog
|
||||
);
|
||||
|
||||
|
||||
/* Event logging */
|
||||
|
||||
EVT_HANDLE WINAPI EvtOpenLog(
|
||||
_In_ EVT_HANDLE Session,
|
||||
_In_ LPCWSTR Path,
|
||||
_In_ DWORD Flags
|
||||
);
|
||||
|
||||
|
||||
EVT_HANDLE WINAPI EvtQuery(
|
||||
_In_ EVT_HANDLE Session,
|
||||
_In_ LPCWSTR Path,
|
||||
_In_ LPCWSTR Query,
|
||||
_In_ DWORD Flags
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI EvtNext(
|
||||
_In_ EVT_HANDLE ResultSet,
|
||||
_In_ DWORD EventArraySize,
|
||||
_In_ EVT_HANDLE* EventArray,
|
||||
_In_ DWORD Timeout,
|
||||
_In_ DWORD Flags,
|
||||
_Out_ PDWORD Returned
|
||||
);
|
||||
|
||||
EVT_HANDLE WINAPI EvtCreateRenderContext(
|
||||
_In_ DWORD ValuePathsCount,
|
||||
_In_ LPCWSTR *ValuePaths,
|
||||
_In_ DWORD Flags
|
||||
);
|
||||
|
||||
BOOL WINAPI EvtRender(
|
||||
_In_ EVT_HANDLE Context,
|
||||
_In_ EVT_HANDLE Fragment,
|
||||
_In_ DWORD Flags,
|
||||
_In_ DWORD BufferSize,
|
||||
_In_ PVOID Buffer,
|
||||
_Out_ PDWORD BufferUsed,
|
||||
_Out_ PDWORD PropertyCount
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI EvtClose(
|
||||
_In_ EVT_HANDLE Object
|
||||
);
|
||||
|
||||
|
||||
EVT_HANDLE WINAPI EvtOpenChannelEnum(
|
||||
_In_ EVT_HANDLE Session,
|
||||
_In_ DWORD Flags
|
||||
);
|
||||
|
||||
BOOL WINAPI EvtNextChannelPath(
|
||||
_In_ EVT_HANDLE ChannelEnum,
|
||||
_In_ DWORD ChannelPathBufferSize,
|
||||
_In_ LPWSTR ChannelPathBuffer,
|
||||
_Out_ PDWORD ChannelPathBufferUsed
|
||||
);
|
||||
|
||||
EVT_HANDLE WINAPI EvtOpenPublisherEnum(
|
||||
_In_ EVT_HANDLE Session,
|
||||
_In_ DWORD Flags
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI EvtNextPublisherId(
|
||||
_In_ EVT_HANDLE PublisherEnum,
|
||||
_In_ DWORD PublisherIdBufferSize,
|
||||
_In_ LPWSTR PublisherIdBuffer,
|
||||
_Out_ PDWORD PublisherIdBufferUsed
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI EvtGetLogInfo(
|
||||
_In_ EVT_HANDLE Log,
|
||||
_In_ EVT_LOG_PROPERTY_ID PropertyId,
|
||||
_In_ DWORD PropertyValueBufferSize,
|
||||
_In_ PEVT_VARIANT PropertyValueBuffer,
|
||||
_Out_ PDWORD PropertyValueBufferUsed
|
||||
);
|
||||
|
||||
|
||||
EVT_HANDLE WINAPI EvtOpenChannelConfig(
|
||||
_In_ EVT_HANDLE Session,
|
||||
_In_ LPCWSTR ChannelPath,
|
||||
_In_ DWORD Flags
|
||||
);
|
||||
|
||||
BOOL WINAPI EvtGetChannelConfigProperty(
|
||||
_In_ EVT_HANDLE ChannelConfig,
|
||||
_In_ EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId,
|
||||
_In_ DWORD Flags,
|
||||
_In_ DWORD PropertyValueBufferSize,
|
||||
_In_ PEVT_VARIANT PropertyValueBuffer,
|
||||
_Out_ PDWORD PropertyValueBufferUsed
|
||||
);
|
||||
|
||||
EVT_HANDLE WINAPI EvtOpenPublisherMetadata(
|
||||
_In_opt_ EVT_HANDLE Session,
|
||||
_In_ LPCWSTR PublisherIdentity,
|
||||
_In_opt_ LPCWSTR LogFilePath,
|
||||
_In_ LCID Locale,
|
||||
_In_ DWORD Flags
|
||||
);
|
||||
|
||||
EVT_HANDLE WINAPI EvtOpenEventMetadataEnum(
|
||||
_In_ EVT_HANDLE PublisherMetadata,
|
||||
_In_ DWORD Flags
|
||||
);
|
||||
|
||||
EVT_HANDLE WINAPI EvtNextEventMetadata(
|
||||
_In_ EVT_HANDLE EventMetadataEnum,
|
||||
_In_ DWORD Flags
|
||||
);
|
||||
|
||||
BOOL WINAPI EvtGetEventMetadataProperty(
|
||||
_In_ EVT_HANDLE EventMetadata,
|
||||
_In_ EVT_EVENT_METADATA_PROPERTY_ID PropertyId,
|
||||
_In_ DWORD Flags,
|
||||
_In_ DWORD EventMetadataPropertyBufferSize,
|
||||
_In_ PEVT_VARIANT EventMetadataPropertyBuffer,
|
||||
_Out_ PDWORD EventMetadataPropertyBufferUsed
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI EvtGetPublisherMetadataProperty(
|
||||
_In_ EVT_HANDLE PublisherMetadata,
|
||||
_In_ EVT_PUBLISHER_METADATA_PROPERTY_ID PropertyId,
|
||||
_In_ DWORD Flags,
|
||||
_In_ DWORD PublisherMetadataPropertyBufferSize,
|
||||
_In_ PEVT_VARIANT PublisherMetadataPropertyBuffer,
|
||||
_Out_ PDWORD PublisherMetadataPropertyBufferUsed
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI EvtGetObjectArraySize(
|
||||
_In_ EVT_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
|
||||
_Out_ PDWORD ObjectArraySize
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI EvtGetObjectArrayProperty(
|
||||
_In_ EVT_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
|
||||
_In_ DWORD PropertyId,
|
||||
_In_ DWORD ArrayIndex,
|
||||
_In_ DWORD Flags,
|
||||
_In_ DWORD PropertyValueBufferSize,
|
||||
_In_ PEVT_VARIANT PropertyValueBuffer,
|
||||
_Out_ PDWORD PropertyValueBufferUsed
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI EvtFormatMessage(
|
||||
_In_ EVT_HANDLE PublisherMetadata,
|
||||
_In_ EVT_HANDLE Event,
|
||||
_In_ DWORD MessageId,
|
||||
_In_ DWORD ValueCount,
|
||||
_In_ PEVT_VARIANT Values,
|
||||
_In_ DWORD Flags,
|
||||
_In_ DWORD BufferSize,
|
||||
_In_ LPWSTR Buffer,
|
||||
_Out_ PDWORD BufferUsed
|
||||
);
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
NTSTATUS WINAPI TpCallbackSendAlpcMessageOnCompletion(
|
||||
_In_ HANDLE TpHandle,
|
||||
_In_ HANDLE PortHandle,
|
||||
_In_ ULONG Flags,
|
||||
_In_opt_ PPORT_MESSAGE SendMessage,
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS NtQueryLicenseValue(
|
||||
PUNICODE_STRING Name,
|
||||
ULONG *Type,
|
||||
PVOID Buffer,
|
||||
ULONG Length,
|
||||
ULONG *DataLength
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtQueryEaFile(
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_Out_writes_bytes_(Length) PVOID Buffer,
|
||||
_In_ ULONG Length,
|
||||
_In_ BOOLEAN ReturnSingleEntry,
|
||||
_In_reads_bytes_opt_(EaListLength) PVOID EaList,
|
||||
_In_ ULONG EaListLength,
|
||||
_In_opt_ PULONG EaIndex,
|
||||
_In_ BOOLEAN RestartScan
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtSetEaFile(
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_In_reads_bytes_(Length) PVOID Buffer,
|
||||
_In_ ULONG Length
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtCreateProcessEx(
|
||||
_Out_ PHANDLE ProcessHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_ HANDLE ParentProcess,
|
||||
_In_ ULONG Flags,
|
||||
_In_ HANDLE SectionHandle,
|
||||
_In_ HANDLE DebugPort,
|
||||
_In_ HANDLE ExceptionPort,
|
||||
_In_ BOOLEAN InJob
|
||||
);
|
||||
@@ -0,0 +1,29 @@
|
||||
import ctypes
|
||||
from flag import Flag
|
||||
|
||||
class NtStatusException(WindowsError):
|
||||
ALL_STATUS = {}
|
||||
def __init__(self , code):
|
||||
try:
|
||||
x = self.ALL_STATUS[code]
|
||||
except KeyError:
|
||||
x = (code, 'UNKNOW_ERROR', 'Error non documented in ntstatus.py')
|
||||
self.code = x[0]
|
||||
self.name = x[1]
|
||||
self.descr = x[2]
|
||||
x = ctypes.c_long(x[0]).value, x[1], x[2]
|
||||
return super(NtStatusException, self).__init__(*x)
|
||||
|
||||
def __str__(self):
|
||||
return "{e.name}(0x{e.code:x}): {e.descr}".format(e=self)
|
||||
|
||||
def __repr__(self):
|
||||
return "{0}(0x{1:08x}, {2})".format(type(self).__name__, self.code, self.name)
|
||||
|
||||
@classmethod
|
||||
def register_ntstatus(cls, code, name, descr):
|
||||
if code in cls.ALL_STATUS:
|
||||
return # Use the first def
|
||||
cls.ALL_STATUS[code] = (code, name, descr)
|
||||
return Flag(name, code)
|
||||
|
||||
@@ -0,0 +1,150 @@
|
||||
VOID = DWORD // This one is a 'cheat' to handle function returning void in ctypes
|
||||
BYTE = c_ubyte
|
||||
PWSTR = LPWSTR
|
||||
PCWSTR = LPWSTR
|
||||
SIZE_T = c_size_t
|
||||
PSIZE_T = POINTER(SIZE_T)
|
||||
PVOID = c_void_p
|
||||
NTSTATUS = DWORD
|
||||
SECURITY_INFORMATION = DWORD
|
||||
PSECURITY_INFORMATION = POINTER(SECURITY_INFORMATION)
|
||||
PULONG = POINTER(ULONG)
|
||||
PDWORD = POINTER(DWORD)
|
||||
LPDWORD = POINTER(DWORD)
|
||||
LPBYTE = POINTER(BYTE)
|
||||
ULONG_PTR = PVOID
|
||||
LONG_PTR = PVOID
|
||||
DWORD_PTR = ULONG_PTR
|
||||
KAFFINITY = ULONG_PTR
|
||||
KPRIORITY = LONG
|
||||
CHAR = c_char
|
||||
UCHAR = c_char
|
||||
CSHORT = c_short
|
||||
VARTYPE = c_ushort
|
||||
PUSHORT = POINTER(USHORT)
|
||||
PBOOL = POINTER(BOOL)
|
||||
LPBOOL = PBOOL
|
||||
PSTR = LPSTR
|
||||
PCSTR = LPSTR
|
||||
va_list = c_char_p
|
||||
BSTR = c_wchar_p
|
||||
OLECHAR = c_wchar
|
||||
POLECHAR = c_wchar_p
|
||||
PUCHAR = POINTER(UCHAR)
|
||||
double = c_double
|
||||
DATE = double
|
||||
ULONGLONG = c_ulonglong
|
||||
PULONGLONG = POINTER(ULONGLONG)
|
||||
LONGLONG = c_longlong
|
||||
ULONG64 = c_ulonglong
|
||||
UINT64 = ULONG64
|
||||
LONG64 = c_longlong
|
||||
PLARGE_INTEGER = POINTER(LARGE_INTEGER)
|
||||
DWORD64 = ULONG64
|
||||
PDWORD64 = POINTER(DWORD64)
|
||||
SCODE = LONG
|
||||
CIMTYPE = LONG
|
||||
NET_IFINDEX = ULONG
|
||||
IF_INDEX = NET_IFINDEX
|
||||
IFTYPE = ULONG
|
||||
PLONG64 = POINTER(LONG64)
|
||||
PULONG64 = POINTER(ULONG64)
|
||||
PBYTE = POINTER(BYTE)
|
||||
PUINT = POINTER(UINT)
|
||||
PHKEY = POINTER(HKEY)
|
||||
ACCESS_MASK = DWORD
|
||||
REGSAM = ACCESS_MASK
|
||||
PBOOLEAN = POINTER(BOOLEAN)
|
||||
SECURITY_CONTEXT_TRACKING_MODE = BOOLEAN
|
||||
HCRYPTPROV_LEGACY = PULONG
|
||||
HCRYPTKEY = PULONG
|
||||
HCRYPTPROV = PULONG
|
||||
HCRYPTHASH = PULONG
|
||||
ALG_ID = UINT
|
||||
DISPID = LONG
|
||||
MEMBERID = DISPID
|
||||
LRESULT = LONG_PTR
|
||||
LPUNKNOWN = POINTER(PVOID)
|
||||
LPFILETIME = POINTER(FILETIME)
|
||||
LPPOINT = POINTER(POINT)
|
||||
LPRECT = POINTER(RECT)
|
||||
SPC_UUID = BYTE * 16
|
||||
DEVICE_TYPE = DWORD
|
||||
PWINDBG_EXTENSION_APIS32 = PVOID
|
||||
PWINDBG_EXTENSION_APIS64 = PVOID
|
||||
|
||||
NCRYPT_HANDLE = ULONG_PTR
|
||||
NCRYPT_PROV_HANDLE = ULONG_PTR
|
||||
NCRYPT_KEY_HANDLE = ULONG_PTR
|
||||
NCRYPT_HASH_HANDLE = ULONG_PTR
|
||||
NCRYPT_SECRET_HANDLE = ULONG_PTR
|
||||
|
||||
/* INT sized*/
|
||||
|
||||
INT8 = c_byte // signed | our BYTE is unsigned
|
||||
INT16 = SHORT
|
||||
INT32 = INT
|
||||
INT64 = LONGLONG
|
||||
|
||||
UINT8 = BYTE
|
||||
UINT16 = USHORT
|
||||
UINT32 = UINT
|
||||
UINT64 = ULONGLONG
|
||||
|
||||
/* HANDLES */
|
||||
|
||||
PHANDLE = POINTER(HANDLE)
|
||||
HCATADMIN = HANDLE
|
||||
HCATINFO = HANDLE
|
||||
HCERTCHAINENGINE = HANDLE
|
||||
LPHANDLE = POINTER(HANDLE)
|
||||
ALPC_HANDLE = HANDLE
|
||||
PALPC_HANDLE = POINTER(ALPC_HANDLE)
|
||||
HCURSOR = HANDLE
|
||||
HBRUSH = HANDLE
|
||||
HCRYPTPROV_OR_NCRYPT_KEY_HANDLE = PULONG
|
||||
EVT_HANDLE = HANDLE
|
||||
EVT_OBJECT_ARRAY_PROPERTY_HANDLE = HANDLE
|
||||
|
||||
/* Security */
|
||||
|
||||
PSECURITY_DESCRIPTOR = PVOID
|
||||
|
||||
SECURITY_DESCRIPTOR_CONTROL = WORD
|
||||
PSECURITY_DESCRIPTOR_CONTROL = POINTER(SECURITY_DESCRIPTOR_CONTROL)
|
||||
|
||||
ACCESS_MASK = DWORD
|
||||
PACCESS_MASK = POINTER(ACCESS_MASK)
|
||||
|
||||
SECURITY_INFORMATION = DWORD
|
||||
PSECURITY_INFORMATION = POINTER(SECURITY_INFORMATION)
|
||||
PSECURITY_ATTRIBUTES_OPAQUE = PVOID
|
||||
SID_HASH_ENTRY = ULONG_PTR
|
||||
PSID_HASH_ENTRY = POINTER(SID_HASH_ENTRY)
|
||||
|
||||
PSID = PVOID
|
||||
|
||||
/* COM STUFF */
|
||||
|
||||
RPCOLEDATAREP = ULONG
|
||||
|
||||
/* Function PTR */
|
||||
|
||||
WNDPROC = PVOID
|
||||
LPPROC_THREAD_ATTRIBUTE_LIST = PVOID
|
||||
PPS_POST_PROCESS_INIT_ROUTINE = PVOID
|
||||
LPTHREAD_START_ROUTINE = PVOID
|
||||
WNDENUMPROC = PVOID
|
||||
PHANDLER_ROUTINE = PVOID
|
||||
FARPROC = PVOID
|
||||
PIO_APC_ROUTINE = PVOID
|
||||
PVECTORED_EXCEPTION_HANDLER = PVOID
|
||||
PFN_CRYPT_GET_SIGNER_CERTIFICATE = PVOID
|
||||
|
||||
// Will be changed at import time
|
||||
|
||||
LPCONTEXT = PVOID
|
||||
HCERTSTORE = PVOID
|
||||
HCRYPTMSG = PVOID
|
||||
PALPC_PORT_ATTRIBUTES = PVOID
|
||||
PPORT_MESSAGE = PVOID
|
||||
@@ -0,0 +1,276 @@
|
||||
|
||||
typedef enum _ALPC_PORT_INFORMATION_CLASS
|
||||
{
|
||||
AlpcBasicInformation,
|
||||
AlpcPortInformation,
|
||||
AlpcAssociateCompletionPortInformation,
|
||||
AlpcConnectedSIDInformation,
|
||||
AlpcServerInformation,
|
||||
AlpcMessageZoneInformation,
|
||||
AlpcRegisterCompletionListInformation,
|
||||
AlpcUnregisterCompletionListInformation,
|
||||
AlpcAdjustCompletionListConcurrencyCountInformation,
|
||||
AlpcRegisterCallbackInformation,
|
||||
AlpcCompletionListRundownInformation,
|
||||
AlpcWaitForPortReferences,
|
||||
MaxAlpcPortInfoClass
|
||||
} ALPC_PORT_INFORMATION_CLASS;
|
||||
|
||||
typedef enum _ALPC_MESSAGE_INFORMATION_CLASS
|
||||
{
|
||||
AlpcMessageSidInformation,
|
||||
AlpcMessageTokenModifiedIdInformation,
|
||||
MaxAlpcMessageInfoClass,
|
||||
AlpcMessageHandleInformation,
|
||||
} ALPC_MESSAGE_INFORMATION_CLASS, *PALPC_MESSAGE_INFORMATION_CLASS;
|
||||
|
||||
typedef struct _ALPC_PORT_ATTRIBUTES32
|
||||
{
|
||||
ULONG Flags;
|
||||
SECURITY_QUALITY_OF_SERVICE SecurityQos;
|
||||
SIZE_T MaxMessageLength;
|
||||
SIZE_T MemoryBandwidth;
|
||||
SIZE_T MaxPoolUsage;
|
||||
SIZE_T MaxSectionSize;
|
||||
SIZE_T MaxViewSize;
|
||||
SIZE_T MaxTotalSectionSize;
|
||||
ULONG DupObjectTypes;
|
||||
} ALPC_PORT_ATTRIBUTES32, *PALPC_PORT_ATTRIBUTES32;
|
||||
|
||||
|
||||
typedef struct _ALPC_PORT_ATTRIBUTES64
|
||||
{
|
||||
ULONG Flags;
|
||||
SECURITY_QUALITY_OF_SERVICE SecurityQos;
|
||||
SIZE_T MaxMessageLength;
|
||||
SIZE_T MemoryBandwidth;
|
||||
SIZE_T MaxPoolUsage;
|
||||
SIZE_T MaxSectionSize;
|
||||
SIZE_T MaxViewSize;
|
||||
SIZE_T MaxTotalSectionSize;
|
||||
ULONG DupObjectTypes;
|
||||
ULONG Reserved;
|
||||
} ALPC_PORT_ATTRIBUTES64, *PALPC_PORT_ATTRIBUTES64;
|
||||
|
||||
typedef struct _ALPC_MESSAGE_ATTRIBUTES
|
||||
{
|
||||
ULONG AllocatedAttributes;
|
||||
ULONG ValidAttributes;
|
||||
} ALPC_MESSAGE_ATTRIBUTES, *PALPC_MESSAGE_ATTRIBUTES;
|
||||
|
||||
|
||||
typedef union _PORT_MESSAGE32_TMP_UNION
|
||||
{
|
||||
ULONG ClientViewSize;
|
||||
ULONG CallbackId;
|
||||
} PORT_MESSAGE_TMP_UNION;
|
||||
|
||||
typedef union _PORT_MESSAGE64_TMP_UNION
|
||||
{
|
||||
ULONGLONG ClientViewSize;
|
||||
ULONG CallbackId;
|
||||
} PORT_MESSAGE_TMP_UNION;
|
||||
|
||||
|
||||
typedef struct _PORT_MESSAGE_TMP_SUBSTRUCT_S1
|
||||
{
|
||||
CSHORT DataLength;
|
||||
CSHORT TotalLength;
|
||||
} _PORT_MESSAGE_TMP_SUBSTRUCT_S1;
|
||||
|
||||
|
||||
typedef union _PORT_MESSAGE_TMP_UNION_U1
|
||||
{
|
||||
ULONG Length;
|
||||
_PORT_MESSAGE_TMP_SUBSTRUCT_S1 s1;
|
||||
} _PORT_MESSAGE_TMP_UNION_U1;
|
||||
|
||||
|
||||
typedef struct _PORT_MESSAGE_TMP_SUBSTRUCT_S2
|
||||
{
|
||||
CSHORT Type;
|
||||
CSHORT DataInfoOffset;
|
||||
} _PORT_MESSAGE_TMP_SUBSTRUCT_S2;
|
||||
|
||||
|
||||
typedef union _PORT_MESSAGE_TMP_UNION_U2
|
||||
{
|
||||
ULONG ZeroInit;
|
||||
_PORT_MESSAGE_TMP_SUBSTRUCT_S2 s2;
|
||||
} _PORT_MESSAGE_TMP_UNION_U2;
|
||||
|
||||
|
||||
typedef struct _PORT_MESSAGE32
|
||||
{
|
||||
_PORT_MESSAGE_TMP_UNION_U1 u1;
|
||||
_PORT_MESSAGE_TMP_UNION_U2 u2;
|
||||
CLIENT_ID32 ClientId;
|
||||
ULONG MessageId;
|
||||
_PORT_MESSAGE32_TMP_UNION tmp_union;
|
||||
} PORT_MESSAGE32, *PPORT_MESSAGE32;
|
||||
|
||||
typedef struct _PORT_MESSAGE64
|
||||
{
|
||||
_PORT_MESSAGE_TMP_UNION_U1 u1;
|
||||
_PORT_MESSAGE_TMP_UNION_U2 u2;
|
||||
CLIENT_ID64 ClientId;
|
||||
ULONG MessageId;
|
||||
_PORT_MESSAGE64_TMP_UNION tmp_union;
|
||||
} PORT_MESSAGE64, *PPORT_MESSAGE64;
|
||||
|
||||
|
||||
typedef struct _ALPC_SERVER_INFORMATION_TMP_IN
|
||||
{
|
||||
HANDLE ThreadHandle;
|
||||
} ALPC_SERVER_INFORMATION_TMP_IN;
|
||||
|
||||
typedef struct _ALPC_SERVER_INFORMATION_TMP_OUT
|
||||
{
|
||||
BOOLEAN ThreadBlocked;
|
||||
HANDLE ConnectedProcessId;
|
||||
UNICODE_STRING ConnectionPortName;
|
||||
} ALPC_SERVER_INFORMATION_TMP_OUT;
|
||||
|
||||
typedef union ALPC_SERVER_INFORMATION
|
||||
{
|
||||
ALPC_SERVER_INFORMATION_TMP_IN In;
|
||||
ALPC_SERVER_INFORMATION_TMP_OUT Out;
|
||||
} ALPC_SERVER_INFORMATION;
|
||||
|
||||
|
||||
typedef struct _ALPC_CONTEXT_ATTR
|
||||
{
|
||||
PVOID PortContext;
|
||||
PVOID MessageContext;
|
||||
ULONG Sequence;
|
||||
ULONG MessageId;
|
||||
ULONG CallbackId;
|
||||
} ALPC_CONTEXT_ATTR, *PALPC_CONTEXT_ATTR;
|
||||
|
||||
typedef struct _ALPC_CONTEXT_ATTR32
|
||||
{
|
||||
ULONG PortContext;
|
||||
ULONG MessageContext;
|
||||
ULONG Sequence;
|
||||
ULONG MessageId;
|
||||
ULONG CallbackId;
|
||||
} ALPC_CONTEXT_ATTR32, *PALPC_CONTEXT_ATTR32;
|
||||
|
||||
typedef struct _ALPC_CONTEXT_ATTR64
|
||||
{
|
||||
ULONGLONG PortContext;
|
||||
ULONGLONG MessageContext;
|
||||
ULONG Sequence;
|
||||
ULONG MessageId;
|
||||
ULONG CallbackId;
|
||||
} ALPC_CONTEXT_ATTR64, *PALPC_CONTEXT_ATTR64;
|
||||
|
||||
|
||||
typedef struct _ALPC_HANDLE_ATTR
|
||||
{
|
||||
ULONG Flags;
|
||||
HANDLE Handle;
|
||||
ULONG ObjectType;
|
||||
ACCESS_MASK DesiredAccess;
|
||||
} ALPC_HANDLE_ATTR, *PALPC_HANDLE_ATTR;
|
||||
|
||||
typedef struct _ALPC_HANDLE_ATTR32
|
||||
{
|
||||
ULONG Flags;
|
||||
ULONG Handle;
|
||||
ULONG ObjectType;
|
||||
ACCESS_MASK DesiredAccess;
|
||||
} ALPC_HANDLE_ATTR32, *PALPC_HANDLE_ATTR32;
|
||||
|
||||
|
||||
typedef struct _ALPC_HANDLE_ATTR64
|
||||
{
|
||||
ULONG Flags;
|
||||
ULONGLONG Handle;
|
||||
ULONG ObjectType;
|
||||
ACCESS_MASK DesiredAccess;
|
||||
} ALPC_HANDLE_ATTR64, *PALPC_HANDLE_ATTR64;
|
||||
|
||||
|
||||
typedef struct _ALPC_SECURITY_ATTR
|
||||
{
|
||||
ULONG Flags;
|
||||
PSECURITY_QUALITY_OF_SERVICE QoS;
|
||||
ALPC_HANDLE ContextHandle;
|
||||
} ALPC_SECURITY_ATTR, *PALPC_SECURITY_ATTR;
|
||||
|
||||
typedef struct _ALPC_SECURITY_ATTR32
|
||||
{
|
||||
ULONG Flags;
|
||||
ULONG QoS;
|
||||
ULONG ContextHandle;
|
||||
} ALPC_SECURITY_ATTR32, *PALPC_SECURITY_ATTR32;
|
||||
|
||||
|
||||
typedef struct _ALPC_SECURITY_ATTR64
|
||||
{
|
||||
ULONGLONG Flags;
|
||||
ULONGLONG QoS;
|
||||
ULONGLONG ContextHandle;
|
||||
} ALPC_SECURITY_ATTR64, *PALPC_SECURITY_ATTR64;
|
||||
|
||||
typedef struct _ALPC_DATA_VIEW_ATTR
|
||||
{
|
||||
ULONG Flags;
|
||||
ALPC_HANDLE SectionHandle;
|
||||
PVOID ViewBase;
|
||||
PVOID ViewSize;
|
||||
} ALPC_DATA_VIEW_ATTR, *PALPC_DATA_VIEW_ATTR;
|
||||
|
||||
typedef struct _ALPC_DATA_VIEW_ATTR32
|
||||
{
|
||||
ULONG Flags;
|
||||
ULONG SectionHandle;
|
||||
ULONG ViewBase;
|
||||
ULONG ViewSize;
|
||||
} ALPC_DATA_VIEW_ATTR32, *PALPC_DATA_VIEW_ATTR32;
|
||||
|
||||
|
||||
typedef struct _ALPC_DATA_VIEW_ATTR64
|
||||
{
|
||||
ULONG Flags;
|
||||
ULONGLONG SectionHandle;
|
||||
ULONGLONG ViewBase;
|
||||
ULONGLONG ViewSize;
|
||||
} ALPC_DATA_VIEW_ATTR64, *PALPC_DATA_VIEW_ATTR64;
|
||||
|
||||
|
||||
typedef struct _ALPC_TOKEN_ATTR
|
||||
{
|
||||
ULONGLONG TokenId;
|
||||
ULONGLONG AuthenticationId;
|
||||
ULONGLONG ModifiedId;
|
||||
} ALPC_TOKEN_ATTR, *PALPC_TOKEN_ATTR;
|
||||
|
||||
|
||||
typedef struct _ALPC_DIRECT_ATTR
|
||||
{
|
||||
HANDLE Event;
|
||||
} ALPC_DIRECT_ATTR, *PALPC_DIRECT_ATTR;
|
||||
|
||||
typedef struct _ALPC_DIRECT_ATTR32
|
||||
{
|
||||
ULONG Event;
|
||||
} ALPC_DIRECT_ATTR32, *PALPC_DIRECT_ATTR32;
|
||||
|
||||
typedef struct _ALPC_DIRECT_ATTR64
|
||||
{
|
||||
ULONGLONG Event;
|
||||
} ALPC_DIRECT_ATTR64, *PALPC_DIRECT_ATTR64;
|
||||
|
||||
|
||||
typedef struct _ALPC_WORK_ON_BEHALF_ATTR
|
||||
{
|
||||
ULONGLONG Ticket;
|
||||
} ALPC_WORK_ON_BEHALF_ATTR, *PALPC_WORK_ON_BEHALF_ATTR;
|
||||
|
||||
typedef struct _RPC_IF_ID {
|
||||
IID Uuid;
|
||||
USHORT VersMajor;
|
||||
USHORT VersMinor;
|
||||
} RPC_IF_ID;
|
||||
@@ -0,0 +1,154 @@
|
||||
typedef struct tagMULTI_QI {
|
||||
IID *pIID;
|
||||
PVOID *pItf;
|
||||
HRESULT hr;
|
||||
} MULTI_QI;
|
||||
|
||||
|
||||
typedef struct _COAUTHIDENTITY {
|
||||
USHORT *User;
|
||||
ULONG UserLength;
|
||||
USHORT *Domain;
|
||||
ULONG DomainLength;
|
||||
USHORT *Password;
|
||||
ULONG PasswordLength;
|
||||
ULONG Flags;
|
||||
} COAUTHIDENTITY;
|
||||
|
||||
typedef struct _COAUTHINFO {
|
||||
DWORD dwAuthnSvc;
|
||||
DWORD dwAuthzSvc;
|
||||
LPWSTR pwszServerPrincName;
|
||||
DWORD dwAuthnLevel;
|
||||
DWORD dwImpersonationLevel;
|
||||
COAUTHIDENTITY *pAuthIdentityData;
|
||||
DWORD dwCapabilities;
|
||||
} COAUTHINFO;
|
||||
|
||||
typedef struct _COSERVERINFO {
|
||||
DWORD dwReserved1;
|
||||
LPWSTR pwszName;
|
||||
COAUTHINFO *pAuthInfo;
|
||||
DWORD dwReserved2;
|
||||
} COSERVERINFO;
|
||||
|
||||
|
||||
typedef struct _CALLFRAMEPARAMINFO{
|
||||
BOOLEAN fIn;
|
||||
BOOLEAN fOut;
|
||||
ULONG stackOffset;
|
||||
ULONG cbParam;
|
||||
} CALLFRAMEPARAMINFO;
|
||||
|
||||
typedef struct _CALLFRAMEINFO{
|
||||
ULONG iMethod;
|
||||
BOOL fHasInValues;
|
||||
BOOL fHasInOutValues;
|
||||
BOOL fHasOutValues;
|
||||
BOOL fDerivesFromIDispatch;
|
||||
LONG cInInterfacesMax;
|
||||
LONG cInOutInterfacesMax;
|
||||
LONG cOutInterfacesMax;
|
||||
LONG cTopLevelInInterfaces;
|
||||
IID iid;
|
||||
ULONG cMethod;
|
||||
ULONG cParams;
|
||||
} CALLFRAMEINFO;
|
||||
|
||||
|
||||
typedef struct _CALLFRAME_MARSHALCONTEXT{
|
||||
BOOLEAN fIn;
|
||||
DWORD dwDestContext;
|
||||
LPVOID pvDestContext;
|
||||
PVOID *mshlmgr; // Was <IUnknown> how can I do for this circle dep ?
|
||||
GUID guidTransferSyntax;
|
||||
} CALLFRAME_MARSHALCONTEXT;
|
||||
|
||||
|
||||
typedef enum _CALLFRAME_COPY{
|
||||
CALLFRAME_COPY_NESTED = 1,
|
||||
CALLFRAME_COPY_INDEPENDENT = 2
|
||||
} CALLFRAME_COPY;
|
||||
|
||||
|
||||
typedef enum tagMSHLFLAGS {
|
||||
MSHLFLAGS_NORMAL = 0,
|
||||
MSHLFLAGS_TABLESTRONG = 1,
|
||||
MSHLFLAGS_TABLEWEAK = 2,
|
||||
MSHLFLAGS_NOPING = 4
|
||||
} MSHLFLAGS;
|
||||
|
||||
typedef enum tagCALLFRAME_WALK {
|
||||
CALLFRAME_WALK_IN = 1,
|
||||
CALLFRAME_WALK_INOUT = 2,
|
||||
CALLFRAME_WALK_OUT = 4
|
||||
} CALLFRAME_WALK;
|
||||
|
||||
typedef struct tagSAFEARRAYBOUND
|
||||
{
|
||||
ULONG cElements;
|
||||
LONG lLbound;
|
||||
} SAFEARRAYBOUND, *LPSAFEARRAYBOUND;
|
||||
|
||||
|
||||
typedef struct tagSAFEARRAY
|
||||
{
|
||||
USHORT cDims;
|
||||
USHORT fFeatures;
|
||||
ULONG cbElements;
|
||||
ULONG cLocks;
|
||||
PVOID pvData;
|
||||
SAFEARRAYBOUND rgsabound[ 1 ];
|
||||
} SAFEARRAY;
|
||||
|
||||
typedef struct __tagBRECORD {
|
||||
PVOID pvRecord;
|
||||
PVOID pRecInfo;
|
||||
} _tagBRECORD;
|
||||
|
||||
union _ANON_TMP_variant_sub_union{
|
||||
LONGLONG llVal;
|
||||
LONG lVal;
|
||||
BYTE bVal;
|
||||
SHORT iVal;
|
||||
FLOAT fltVal;
|
||||
DOUBLE dblVal;
|
||||
VARIANT_BOOL boolVal;
|
||||
SCODE scode;
|
||||
BSTR bstrVal;
|
||||
PVOID punkVal;
|
||||
PVOID pdispVal;
|
||||
SAFEARRAY *parray;
|
||||
BYTE *pbVal;
|
||||
SHORT *piVal;
|
||||
LONG *plVal;
|
||||
LONGLONG *pllVal;
|
||||
FLOAT *pfltVal;
|
||||
DOUBLE *pdblVal;
|
||||
VARIANT_BOOL *pboolVal;
|
||||
SCODE *pscode;
|
||||
BSTR *pbstrVal;
|
||||
PVOID byref;
|
||||
CHAR cVal;
|
||||
USHORT uiVal;
|
||||
ULONG ulVal;
|
||||
ULONGLONG ullVal;
|
||||
INT intVal;
|
||||
UINT uintVal;
|
||||
CHAR *pcVal;
|
||||
USHORT *puiVal;
|
||||
ULONG *pulVal;
|
||||
ULONGLONG *pullVal;
|
||||
INT *pintVal;
|
||||
UINT *puintVal;
|
||||
_tagBRECORD _VARIANT_NAME_4;
|
||||
};
|
||||
|
||||
|
||||
typedef struct __tagVARIANT {
|
||||
VARTYPE vt;
|
||||
WORD wReserved1;
|
||||
WORD wReserved2;
|
||||
WORD wReserved3;
|
||||
_ANON_TMP_variant_sub_union _VARIANT_NAME_3;
|
||||
} _tagVARIANT, VARIANT, VARIANTARG, *LPVARIANT, *LPVARIANTARG;
|
||||
@@ -0,0 +1,697 @@
|
||||
typedef struct _CERT_STRONG_SIGN_SERIALIZED_INFO {
|
||||
DWORD dwFlags;
|
||||
LPWSTR pwszCNGSignHashAlgids;
|
||||
LPWSTR pwszCNGPubKeyMinBitLengths;
|
||||
} CERT_STRONG_SIGN_SERIALIZED_INFO, *PCERT_STRONG_SIGN_SERIALIZED_INFO;
|
||||
|
||||
typedef union TMP_CERT_STRONG_SIGN_PARA_UNION_TYPE {
|
||||
PVOID pvInfo;
|
||||
PCERT_STRONG_SIGN_SERIALIZED_INFO pSerializedInfo;
|
||||
LPSTR pszOID;
|
||||
};
|
||||
|
||||
typedef struct _CERT_STRONG_SIGN_PARA {
|
||||
DWORD cbSize;
|
||||
DWORD dwInfoChoice;
|
||||
TMP_CERT_STRONG_SIGN_PARA_UNION_TYPE tmp_union;
|
||||
} CERT_STRONG_SIGN_PARA, *PCERT_STRONG_SIGN_PARA, *PCCERT_STRONG_SIGN_PARA;
|
||||
|
||||
|
||||
typedef struct _CRYPTOAPI_BLOB {
|
||||
DWORD cbData;
|
||||
BYTE *pbData;
|
||||
} CRYPT_INTEGER_BLOB, *PCRYPT_INTEGER_BLOB,
|
||||
CRYPT_UINT_BLOB, *PCRYPT_UINT_BLOB,
|
||||
CRYPT_OBJID_BLOB, *PCRYPT_OBJID_BLOB,
|
||||
CERT_NAME_BLOB, *PCERT_NAME_BLOB,
|
||||
CERT_RDN_VALUE_BLOB, *PCERT_RDN_VALUE_BLOB,
|
||||
CERT_BLOB, *PCERT_BLOB,
|
||||
CRL_BLOB, *PCRL_BLOB,
|
||||
DATA_BLOB, *PDATA_BLOB,
|
||||
CRYPT_DATA_BLOB, *PCRYPT_DATA_BLOB,
|
||||
CRYPT_HASH_BLOB, *PCRYPT_HASH_BLOB,
|
||||
CRYPT_DIGEST_BLOB, *PCRYPT_DIGEST_BLOB,
|
||||
CRYPT_DER_BLOB, *PCRYPT_DER_BLOB,
|
||||
CRYPT_ATTR_BLOB, *PCRYPT_ATTR_BLOB;
|
||||
|
||||
typedef struct CRYPTCATATTRIBUTE_ {
|
||||
DWORD cbStruct;
|
||||
LPWSTR pwszReferenceTag;
|
||||
DWORD dwAttrTypeAndAction;
|
||||
DWORD cbValue;
|
||||
BYTE *pbValue;
|
||||
DWORD dwReserved;
|
||||
} CRYPTCATATTRIBUTE, *PCRYPTCATATTRIBUTE;
|
||||
|
||||
typedef struct _CRYPT_ATTRIBUTE_TYPE_VALUE {
|
||||
LPSTR pszObjId;
|
||||
CRYPT_OBJID_BLOB Value;
|
||||
} CRYPT_ATTRIBUTE_TYPE_VALUE, *PCRYPT_ATTRIBUTE_TYPE_VALUE;
|
||||
|
||||
typedef struct _CRYPT_ALGORITHM_IDENTIFIER {
|
||||
LPSTR pszObjId;
|
||||
CRYPT_OBJID_BLOB Parameters;
|
||||
} CRYPT_ALGORITHM_IDENTIFIER, *PCRYPT_ALGORITHM_IDENTIFIER;
|
||||
|
||||
typedef struct SIP_INDIRECT_DATA_
|
||||
{
|
||||
CRYPT_ATTRIBUTE_TYPE_VALUE Data;
|
||||
CRYPT_ALGORITHM_IDENTIFIER DigestAlgorithm;
|
||||
CRYPT_HASH_BLOB Digest;
|
||||
} SIP_INDIRECT_DATA, *PSIP_INDIRECT_DATA;
|
||||
|
||||
typedef struct CRYPTCATMEMBER_ {
|
||||
DWORD cbStruct;
|
||||
LPWSTR pwszReferenceTag;
|
||||
LPWSTR pwszFileName;
|
||||
GUID gSubjectType;
|
||||
DWORD fdwMemberFlags;
|
||||
struct SIP_INDIRECT_DATA *pIndirectData;
|
||||
DWORD dwCertVersion;
|
||||
DWORD dwReserved;
|
||||
HANDLE hReserved;
|
||||
CRYPT_ATTR_BLOB sEncodedIndirectData;
|
||||
CRYPT_ATTR_BLOB sEncodedMemberInfo;
|
||||
} CRYPTCATMEMBER, *PCRYPTCATMEMBER;
|
||||
|
||||
typedef struct WINTRUST_FILE_INFO_
|
||||
{
|
||||
DWORD cbStruct;
|
||||
LPCWSTR pcwszFilePath;
|
||||
HANDLE hFile;
|
||||
GUID *pgKnownSubject;
|
||||
} WINTRUST_FILE_INFO, *PWINTRUST_FILE_INFO;
|
||||
|
||||
|
||||
typedef struct _CRYPT_ATTRIBUTE {
|
||||
LPSTR pszObjId;
|
||||
DWORD cValue;
|
||||
PCRYPT_ATTR_BLOB rgValue;
|
||||
} CRYPT_ATTRIBUTE, *PCRYPT_ATTRIBUTE;
|
||||
|
||||
|
||||
typedef struct _CTL_ENTRY {
|
||||
CRYPT_DATA_BLOB SubjectIdentifier;
|
||||
DWORD cAttribute;
|
||||
PCRYPT_ATTRIBUTE rgAttribute;
|
||||
} CTL_ENTRY, *PCTL_ENTRY;
|
||||
|
||||
|
||||
typedef struct _CRYPT_ATTRIBUTE {
|
||||
LPSTR pszObjId;
|
||||
DWORD cValue;
|
||||
PCRYPT_ATTR_BLOB rgValue;
|
||||
} CRYPT_ATTRIBUTE, *PCRYPT_ATTRIBUTE;
|
||||
|
||||
typedef struct _CRYPT_ATTRIBUTES {
|
||||
DWORD cAttr;
|
||||
PCRYPT_ATTRIBUTE rgAttr;
|
||||
} CRYPT_ATTRIBUTES, *PCRYPT_ATTRIBUTES;
|
||||
|
||||
|
||||
typedef struct _CERT_EXTENSION {
|
||||
LPSTR pszObjId;
|
||||
BOOL fCritical;
|
||||
CRYPT_OBJID_BLOB Value;
|
||||
} CERT_EXTENSION, *PCERT_EXTENSION;
|
||||
|
||||
|
||||
typedef struct _CRL_ENTRY {
|
||||
CRYPT_INTEGER_BLOB SerialNumber;
|
||||
FILETIME RevocationDate;
|
||||
DWORD cExtension;
|
||||
PCERT_EXTENSION rgExtension;
|
||||
} CRL_ENTRY, *PCRL_ENTRY;
|
||||
|
||||
typedef struct _CRL_INFO {
|
||||
DWORD dwVersion;
|
||||
CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm;
|
||||
CERT_NAME_BLOB Issuer;
|
||||
FILETIME ThisUpdate;
|
||||
FILETIME NextUpdate;
|
||||
DWORD cCRLEntry;
|
||||
PCRL_ENTRY rgCRLEntry;
|
||||
DWORD cExtension;
|
||||
PCERT_EXTENSION rgExtension;
|
||||
} CRL_INFO, *PCRL_INFO;
|
||||
|
||||
|
||||
typedef struct _CRL_CONTEXT {
|
||||
DWORD dwCertEncodingType;
|
||||
BYTE *pbCrlEncoded;
|
||||
DWORD cbCrlEncoded;
|
||||
PCRL_INFO pCrlInfo;
|
||||
HCERTSTORE hCertStore;
|
||||
} CRL_CONTEXT, *PCRL_CONTEXT, *PCCRL_CONTEXT;
|
||||
|
||||
typedef struct _CMSG_SIGNER_INFO {
|
||||
DWORD dwVersion;
|
||||
CERT_NAME_BLOB Issuer;
|
||||
CRYPT_INTEGER_BLOB SerialNumber;
|
||||
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
|
||||
CRYPT_ALGORITHM_IDENTIFIER HashEncryptionAlgorithm;
|
||||
CRYPT_DATA_BLOB EncryptedHash;
|
||||
CRYPT_ATTRIBUTES AuthAttrs;
|
||||
CRYPT_ATTRIBUTES UnauthAttrs;
|
||||
} CMSG_SIGNER_INFO, *PCMSG_SIGNER_INFO;
|
||||
|
||||
|
||||
|
||||
|
||||
typedef struct _CTL_USAGE {
|
||||
DWORD cUsageIdentifier;
|
||||
LPSTR *rgpszUsageIdentifier;
|
||||
} CTL_USAGE, *PCTL_USAGE, CERT_ENHKEY_USAGE, *PCERT_ENHKEY_USAGE;
|
||||
|
||||
typedef struct _CTL_INFO {
|
||||
DWORD dwVersion;
|
||||
CTL_USAGE SubjectUsage;
|
||||
CRYPT_DATA_BLOB ListIdentifier;
|
||||
CRYPT_INTEGER_BLOB SequenceNumber;
|
||||
FILETIME ThisUpdate;
|
||||
FILETIME NextUpdate;
|
||||
CRYPT_ALGORITHM_IDENTIFIER SubjectAlgorithm;
|
||||
DWORD cCTLEntry;
|
||||
PCTL_ENTRY rgCTLEntry;
|
||||
DWORD cExtension;
|
||||
PCERT_EXTENSION rgExtension;
|
||||
} CTL_INFO, *PCTL_INFO;
|
||||
|
||||
typedef struct _CTL_CONTEXT {
|
||||
DWORD dwMsgAndCertEncodingType;
|
||||
BYTE *pbCtlEncoded;
|
||||
DWORD cbCtlEncoded;
|
||||
PCTL_INFO pCtlInfo;
|
||||
HCERTSTORE hCertStore;
|
||||
HCRYPTMSG hCryptMsg;
|
||||
BYTE *pbCtlContent;
|
||||
DWORD cbCtlContent;
|
||||
} CTL_CONTEXT, *PCTL_CONTEXT, *PCCTL_CONTEXT;
|
||||
|
||||
|
||||
typedef struct WINTRUST_CATALOG_INFO_
|
||||
{
|
||||
DWORD cbStruct;
|
||||
DWORD dwCatalogVersion;
|
||||
LPCWSTR pcwszCatalogFilePath;
|
||||
LPCWSTR pcwszMemberTag;
|
||||
LPCWSTR pcwszMemberFilePath;
|
||||
HANDLE hMemberFile;
|
||||
BYTE *pbCalculatedFileHash;
|
||||
DWORD cbCalculatedFileHash;
|
||||
PCCTL_CONTEXT pcCatalogContext;
|
||||
} WINTRUST_CATALOG_INFO, *PWINTRUST_CATALOG_INFO;
|
||||
|
||||
|
||||
typedef struct WINTRUST_BLOB_INFO_
|
||||
{
|
||||
DWORD cbStruct;
|
||||
GUID gSubject;
|
||||
LPCWSTR pcwszDisplayName;
|
||||
DWORD cbMemObject;
|
||||
BYTE *pbMemObject;
|
||||
DWORD cbMemSignedMsg;
|
||||
BYTE *pbMemSignedMsg;
|
||||
} WINTRUST_BLOB_INFO, *PWINTRUST_BLOB_INFO;
|
||||
|
||||
|
||||
typedef struct _CRYPT_BIT_BLOB {
|
||||
DWORD cbData;
|
||||
BYTE *pbData;
|
||||
DWORD cUnusedBits;
|
||||
} CRYPT_BIT_BLOB, *PCRYPT_BIT_BLOB;
|
||||
|
||||
typedef struct _CERT_PUBLIC_KEY_INFO {
|
||||
CRYPT_ALGORITHM_IDENTIFIER Algorithm;
|
||||
CRYPT_BIT_BLOB PublicKey;
|
||||
} CERT_PUBLIC_KEY_INFO, *PCERT_PUBLIC_KEY_INFO;
|
||||
|
||||
typedef struct _CERT_INFO {
|
||||
DWORD dwVersion;
|
||||
CRYPT_INTEGER_BLOB SerialNumber;
|
||||
CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm;
|
||||
CERT_NAME_BLOB Issuer;
|
||||
FILETIME NotBefore;
|
||||
FILETIME NotAfter;
|
||||
CERT_NAME_BLOB Subject;
|
||||
CERT_PUBLIC_KEY_INFO SubjectPublicKeyInfo;
|
||||
CRYPT_BIT_BLOB IssuerUniqueId;
|
||||
CRYPT_BIT_BLOB SubjectUniqueId;
|
||||
DWORD cExtension;
|
||||
PCERT_EXTENSION rgExtension;
|
||||
} CERT_INFO, *PCERT_INFO;
|
||||
|
||||
|
||||
typedef struct _CERT_ISSUER_SERIAL_NUMBER {
|
||||
CERT_NAME_BLOB Issuer;
|
||||
CRYPT_INTEGER_BLOB SerialNumber;
|
||||
} CERT_ISSUER_SERIAL_NUMBER, *PCERT_ISSUER_SERIAL_NUMBER;
|
||||
|
||||
typedef union _TMPUNION_CERT_ID {
|
||||
CERT_ISSUER_SERIAL_NUMBER IssuerSerialNumber;
|
||||
CRYPT_HASH_BLOB KeyId;
|
||||
CRYPT_HASH_BLOB HashId;
|
||||
} TMPUNION_CERT_ID;
|
||||
|
||||
typedef struct _CERT_ID {
|
||||
DWORD dwIdChoice;
|
||||
TMPUNION_CERT_ID DUMMYUNIONNAME;
|
||||
} CERT_ID, *PCERT_ID;
|
||||
|
||||
typedef struct _CERT_CONTEXT {
|
||||
DWORD dwCertEncodingType;
|
||||
BYTE *pbCertEncoded;
|
||||
DWORD cbCertEncoded;
|
||||
PCERT_INFO pCertInfo;
|
||||
HCERTSTORE hCertStore;
|
||||
} CERT_CONTEXT, *PCERT_CONTEXT, *PCCERT_CONTEXT;
|
||||
|
||||
|
||||
|
||||
typedef struct WINTRUST_SGNR_INFO_
|
||||
{
|
||||
DWORD cbStruct;
|
||||
LPCWSTR pcwszDisplayName;
|
||||
CMSG_SIGNER_INFO *psSignerInfo;
|
||||
DWORD chStores;
|
||||
HCERTSTORE *pahStores;
|
||||
} WINTRUST_SGNR_INFO, *PWINTRUST_SGNR_INFO;
|
||||
|
||||
typedef struct WINTRUST_CERT_INFO_
|
||||
{
|
||||
DWORD cbStruct;
|
||||
LPCWSTR pcwszDisplayName;
|
||||
CERT_CONTEXT *psCertContext;
|
||||
DWORD chStores;
|
||||
HCERTSTORE *pahStores;
|
||||
DWORD dwFlags;
|
||||
FILETIME *psftVerifyAsOf;
|
||||
} WINTRUST_CERT_INFO, *PWINTRUST_CERT_INFO;
|
||||
|
||||
|
||||
typedef union _TMP_WINTRUST_UNION_TYPE
|
||||
{
|
||||
struct WINTRUST_FILE_INFO_ *pFile;
|
||||
struct WINTRUST_CATALOG_INFO_ *pCatalog;
|
||||
struct WINTRUST_BLOB_INFO_ *pBlob;
|
||||
struct WINTRUST_SGNR_INFO_ *pSgnr;
|
||||
struct WINTRUST_CERT_INFO_ *pCert;
|
||||
} TMP_WINTRUST_UNION_TYPE;
|
||||
|
||||
|
||||
typedef struct _WINTRUST_DATA
|
||||
{
|
||||
DWORD cbStruct;
|
||||
LPVOID pPolicyCallbackData;
|
||||
LPVOID pSIPClientData;
|
||||
DWORD dwUIChoice;
|
||||
DWORD fdwRevocationChecks;
|
||||
DWORD dwUnionChoice;
|
||||
|
||||
TMP_WINTRUST_UNION_TYPE tmp_union;
|
||||
|
||||
DWORD dwStateAction;
|
||||
HANDLE hWVTStateData;
|
||||
WCHAR *pwszURLReference;
|
||||
DWORD dwProvFlags;
|
||||
DWORD dwUIContext;
|
||||
} WINTRUST_DATA, *PWINTRUST_DATA;
|
||||
|
||||
typedef struct _CRYPT_SIGN_MESSAGE_PARA {
|
||||
DWORD cbSize;
|
||||
DWORD dwMsgEncodingType;
|
||||
PCCERT_CONTEXT pSigningCert;
|
||||
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
|
||||
PVOID pvHashAuxInfo;
|
||||
DWORD cMsgCert;
|
||||
PCCERT_CONTEXT *rgpMsgCert;
|
||||
DWORD cMsgCrl;
|
||||
PCCRL_CONTEXT *rgpMsgCrl;
|
||||
DWORD cAuthAttr;
|
||||
PCRYPT_ATTRIBUTE rgAuthAttr;
|
||||
DWORD cUnauthAttr;
|
||||
PCRYPT_ATTRIBUTE rgUnauthAttr;
|
||||
DWORD dwFlags;
|
||||
DWORD dwInnerContentType;
|
||||
CRYPT_ALGORITHM_IDENTIFIER HashEncryptionAlgorithm;
|
||||
PVOID pvHashEncryptionAuxInfo;
|
||||
} CRYPT_SIGN_MESSAGE_PARA, *PCRYPT_SIGN_MESSAGE_PARA;
|
||||
|
||||
|
||||
typedef struct _CRYPT_HASH_MESSAGE_PARA {
|
||||
DWORD cbSize;
|
||||
DWORD dwMsgEncodingType;
|
||||
HCRYPTPROV_LEGACY hCryptProv;
|
||||
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
|
||||
PVOID pvHashAuxInfo;
|
||||
} CRYPT_HASH_MESSAGE_PARA, *PCRYPT_HASH_MESSAGE_PARA;
|
||||
|
||||
|
||||
typedef struct _CRYPT_KEY_VERIFY_MESSAGE_PARA {
|
||||
DWORD cbSize;
|
||||
DWORD dwMsgEncodingType;
|
||||
HCRYPTPROV_LEGACY hCryptProv;
|
||||
} CRYPT_KEY_VERIFY_MESSAGE_PARA, *PCRYPT_KEY_VERIFY_MESSAGE_PARA;
|
||||
|
||||
typedef struct _CRYPT_VERIFY_MESSAGE_PARA {
|
||||
DWORD cbSize;
|
||||
DWORD dwMsgAndCertEncodingType;
|
||||
HCRYPTPROV_LEGACY hCryptProv;
|
||||
PFN_CRYPT_GET_SIGNER_CERTIFICATE pfnGetSignerCertificate;
|
||||
PVOID pvGetArg;
|
||||
PCCERT_STRONG_SIGN_PARA pStrongSignPara;
|
||||
} CRYPT_VERIFY_MESSAGE_PARA, *PCRYPT_VERIFY_MESSAGE_PARA;
|
||||
|
||||
|
||||
|
||||
typedef struct _SPC_SERIALIZED_OBJECT
|
||||
{
|
||||
SPC_UUID ClassId;
|
||||
CRYPT_DATA_BLOB SerializedData;
|
||||
|
||||
} SPC_SERIALIZED_OBJECT, *PSPC_SERIALIZED_OBJECT;
|
||||
|
||||
|
||||
typedef union _TMP_SPC_LINK_UNION
|
||||
{
|
||||
LPWSTR pwszUrl;
|
||||
SPC_SERIALIZED_OBJECT Moniker;
|
||||
LPWSTR pwszFile;
|
||||
} TMP_SPC_LINK_UNION;
|
||||
|
||||
|
||||
|
||||
typedef struct SPC_LINK_
|
||||
{
|
||||
DWORD dwLinkChoice;
|
||||
TMP_SPC_LINK_UNION u;
|
||||
} SPC_LINK, *PSPC_LINK;
|
||||
|
||||
|
||||
typedef struct _SPC_SP_OPUS_INFO
|
||||
{
|
||||
LPCWSTR pwszProgramName;
|
||||
struct SPC_LINK_ *pMoreInfo;
|
||||
struct SPC_LINK_ *pPublisherInfo;
|
||||
|
||||
} SPC_SP_OPUS_INFO, *PSPC_SP_OPUS_INFO;
|
||||
|
||||
|
||||
typedef struct _CERT_TRUST_STATUS {
|
||||
|
||||
DWORD dwErrorStatus;
|
||||
DWORD dwInfoStatus;
|
||||
|
||||
} CERT_TRUST_STATUS, *PCERT_TRUST_STATUS;
|
||||
|
||||
typedef struct _CERT_TRUST_LIST_INFO {
|
||||
|
||||
DWORD cbSize;
|
||||
PCTL_ENTRY pCtlEntry;
|
||||
PCCTL_CONTEXT pCtlContext;
|
||||
|
||||
} CERT_TRUST_LIST_INFO, *PCERT_TRUST_LIST_INFO;
|
||||
|
||||
|
||||
|
||||
|
||||
typedef struct _CERT_REVOCATION_CRL_INFO {
|
||||
DWORD cbSize;
|
||||
PCCRL_CONTEXT pBaseCrlContext;
|
||||
PCCRL_CONTEXT pDeltaCrlContext;
|
||||
|
||||
PCRL_ENTRY pCrlEntry;
|
||||
BOOL fDeltaCrlEntry;
|
||||
} CERT_REVOCATION_CRL_INFO, *PCERT_REVOCATION_CRL_INFO;
|
||||
|
||||
typedef struct _CERT_REVOCATION_INFO {
|
||||
|
||||
DWORD cbSize;
|
||||
DWORD dwRevocationResult;
|
||||
LPCSTR pszRevocationOid;
|
||||
LPVOID pvOidSpecificInfo;
|
||||
BOOL fHasFreshnessTime;
|
||||
DWORD dwFreshnessTime;
|
||||
PCERT_REVOCATION_CRL_INFO pCrlInfo;
|
||||
|
||||
} CERT_REVOCATION_INFO, *PCERT_REVOCATION_INFO;
|
||||
|
||||
typedef struct _CERT_CHAIN_ELEMENT {
|
||||
|
||||
DWORD cbSize;
|
||||
PCCERT_CONTEXT pCertContext;
|
||||
CERT_TRUST_STATUS TrustStatus;
|
||||
PCERT_REVOCATION_INFO pRevocationInfo;
|
||||
|
||||
PCERT_ENHKEY_USAGE pIssuanceUsage;
|
||||
PCERT_ENHKEY_USAGE pApplicationUsage;
|
||||
|
||||
LPCWSTR pwszExtendedErrorInfo;
|
||||
} CERT_CHAIN_ELEMENT, *PCERT_CHAIN_ELEMENT, *PCCERT_CHAIN_ELEMENT;
|
||||
|
||||
typedef struct _CERT_SIMPLE_CHAIN {
|
||||
|
||||
DWORD cbSize;
|
||||
CERT_TRUST_STATUS TrustStatus;
|
||||
DWORD cElement;
|
||||
PCERT_CHAIN_ELEMENT* rgpElement;
|
||||
PCERT_TRUST_LIST_INFO pTrustListInfo;
|
||||
|
||||
BOOL fHasRevocationFreshnessTime;
|
||||
DWORD dwRevocationFreshnessTime;
|
||||
|
||||
} CERT_SIMPLE_CHAIN, *PCERT_SIMPLE_CHAIN, *PCCERT_SIMPLE_CHAIN;
|
||||
|
||||
typedef struct _CERT_CHAIN_CONTEXT {
|
||||
DWORD cbSize;
|
||||
CERT_TRUST_STATUS TrustStatus;
|
||||
DWORD cChain;
|
||||
PCERT_SIMPLE_CHAIN* rgpChain;
|
||||
DWORD cLowerQualityChainContext;
|
||||
PCCERT_CHAIN_CONTEXT* rgpLowerQualityChainContext;
|
||||
BOOL fHasRevocationFreshnessTime;
|
||||
DWORD dwRevocationFreshnessTime;
|
||||
DWORD dwCreateFlags;
|
||||
GUID ChainId;
|
||||
}CERT_CHAIN_CONTEXT, *PCERT_CHAIN_CONTEXT, *PCCERT_CHAIN_CONTEXT;
|
||||
|
||||
|
||||
typedef struct _CERT_USAGE_MATCH {
|
||||
|
||||
DWORD dwType;
|
||||
CERT_ENHKEY_USAGE Usage;
|
||||
|
||||
} CERT_USAGE_MATCH, *PCERT_USAGE_MATCH;
|
||||
|
||||
typedef struct _CERT_CHAIN_PARA {
|
||||
|
||||
DWORD cbSize;
|
||||
CERT_USAGE_MATCH RequestedUsage;
|
||||
CERT_USAGE_MATCH RequestedIssuancePolicy;
|
||||
DWORD dwUrlRetrievalTimeout;
|
||||
BOOL fCheckRevocationFreshnessTime;
|
||||
DWORD dwRevocationFreshnessTime;
|
||||
LPFILETIME pftCacheResync;
|
||||
|
||||
} CERT_CHAIN_PARA, *PCERT_CHAIN_PARA;
|
||||
|
||||
|
||||
typedef struct _CERT_CHAIN_ENGINE_CONFIG {
|
||||
DWORD cbSize;
|
||||
HCERTSTORE hRestrictedRoot;
|
||||
HCERTSTORE hRestrictedTrust;
|
||||
HCERTSTORE hRestrictedOther;
|
||||
DWORD cAdditionalStore;
|
||||
HCERTSTORE* rghAdditionalStore;
|
||||
DWORD dwFlags;
|
||||
DWORD dwUrlRetrievalTimeout;
|
||||
DWORD MaximumCachedCertificates;
|
||||
DWORD CycleDetectionModulus;
|
||||
} CERT_CHAIN_ENGINE_CONFIG, *PCERT_CHAIN_ENGINE_CONFIG;
|
||||
|
||||
|
||||
typedef struct _SYSTEMTIME {
|
||||
WORD wYear;
|
||||
WORD wMonth;
|
||||
WORD wDayOfWeek;
|
||||
WORD wDay;
|
||||
WORD wHour;
|
||||
WORD wMinute;
|
||||
WORD wSecond;
|
||||
WORD wMilliseconds;
|
||||
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
|
||||
|
||||
|
||||
typedef struct _CERT_EXTENSIONS {
|
||||
DWORD cExtension;
|
||||
PCERT_EXTENSION rgExtension;
|
||||
} CERT_EXTENSIONS, *PCERT_EXTENSIONS;
|
||||
|
||||
typedef struct _CRYPT_KEY_PROV_PARAM {
|
||||
DWORD dwParam;
|
||||
BYTE *pbData;
|
||||
DWORD cbData;
|
||||
DWORD dwFlags;
|
||||
} CRYPT_KEY_PROV_PARAM, *PCRYPT_KEY_PROV_PARAM;
|
||||
|
||||
|
||||
typedef struct _CRYPT_KEY_PROV_INFO {
|
||||
LPWSTR pwszContainerName;
|
||||
LPWSTR pwszProvName;
|
||||
DWORD dwProvType;
|
||||
DWORD dwFlags;
|
||||
DWORD cProvParam;
|
||||
PCRYPT_KEY_PROV_PARAM rgProvParam;
|
||||
DWORD dwKeySpec;
|
||||
} CRYPT_KEY_PROV_INFO, *PCRYPT_KEY_PROV_INFO;
|
||||
|
||||
typedef struct _CRYPT_ENCRYPT_MESSAGE_PARA {
|
||||
DWORD cbSize;
|
||||
DWORD dwMsgEncodingType;
|
||||
HCRYPTPROV_LEGACY hCryptProv;
|
||||
CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm;
|
||||
VOID *pvEncryptionAuxInfo;
|
||||
DWORD dwFlags;
|
||||
DWORD dwInnerContentType;
|
||||
} CRYPT_ENCRYPT_MESSAGE_PARA, *PCRYPT_ENCRYPT_MESSAGE_PARA;
|
||||
|
||||
|
||||
typedef struct _CRYPT_DECRYPT_MESSAGE_PARA {
|
||||
DWORD cbSize;
|
||||
DWORD dwMsgAndCertEncodingType;
|
||||
DWORD cCertStore;
|
||||
HCERTSTORE *rghCertStore;
|
||||
DWORD dwFlags;
|
||||
} CRYPT_DECRYPT_MESSAGE_PARA, *PCRYPT_DECRYPT_MESSAGE_PARA;
|
||||
|
||||
|
||||
typedef struct _CERT_KEY_CONTEXT {
|
||||
DWORD cbSize;
|
||||
HCRYPTPROV hCryptProv;
|
||||
DWORD dwKeySpec;
|
||||
} CERT_KEY_CONTEXT, *PCERT_KEY_CONTEXT;
|
||||
|
||||
|
||||
typedef struct _CRYPT_ENCODE_PARA {
|
||||
DWORD cbSize;
|
||||
PVOID pfnAlloc;
|
||||
PVOID pfnFree;
|
||||
} CRYPT_ENCODE_PARA, *PCRYPT_ENCODE_PARA;
|
||||
|
||||
typedef union _TMPUNION_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO {
|
||||
HCRYPTKEY hKeyEncryptionKey;
|
||||
PVOID pvKeyEncryptionKey;
|
||||
}TMPUNION_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO;
|
||||
|
||||
typedef struct _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO {
|
||||
DWORD cbSize;
|
||||
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
|
||||
PVOID pvKeyEncryptionAuxInfo;
|
||||
HCRYPTPROV hCryptProv;
|
||||
DWORD dwKeyChoice;
|
||||
TMPUNION_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO DUMMYUNIONNAME;
|
||||
CRYPT_DATA_BLOB KeyId;
|
||||
FILETIME Date;
|
||||
PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr;
|
||||
} CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO, *PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO;
|
||||
|
||||
|
||||
|
||||
typedef struct _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO {
|
||||
DWORD cbSize;
|
||||
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
|
||||
PVOID pvKeyEncryptionAuxInfo;
|
||||
HCRYPTPROV_LEGACY hCryptProv;
|
||||
CRYPT_BIT_BLOB RecipientPublicKey;
|
||||
CERT_ID RecipientId;
|
||||
} CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, *PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO;
|
||||
|
||||
typedef struct _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO {
|
||||
DWORD cbSize;
|
||||
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
|
||||
PVOID pvKeyEncryptionAuxInfo;
|
||||
HCRYPTPROV_LEGACY hCryptProv;
|
||||
CRYPT_BIT_BLOB RecipientPublicKey;
|
||||
CERT_ID RecipientId;
|
||||
} CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, *PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO;
|
||||
|
||||
|
||||
typedef union _TMPUNION_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO {
|
||||
PCRYPT_ALGORITHM_IDENTIFIER pEphemeralAlgorithm;
|
||||
PCERT_ID pSenderId;
|
||||
}TMPUNION_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO;
|
||||
|
||||
typedef struct _CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO {
|
||||
DWORD cbSize;
|
||||
CRYPT_BIT_BLOB RecipientPublicKey;
|
||||
CERT_ID RecipientId;
|
||||
FILETIME Date;
|
||||
PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr;
|
||||
} CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO, *PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO;
|
||||
|
||||
typedef struct _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO {
|
||||
DWORD cbSize;
|
||||
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
|
||||
PVOID pvKeyEncryptionAuxInfo;
|
||||
CRYPT_ALGORITHM_IDENTIFIER KeyWrapAlgorithm;
|
||||
PVOID pvKeyWrapAuxInfo;
|
||||
HCRYPTPROV_LEGACY hCryptProv;
|
||||
DWORD dwKeySpec;
|
||||
DWORD dwKeyChoice;
|
||||
TMPUNION_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO DUMMYUNIONNAME;
|
||||
CRYPT_DATA_BLOB UserKeyingMaterial;
|
||||
DWORD cRecipientEncryptedKeys;
|
||||
PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO *rgpRecipientEncryptedKeys;
|
||||
} CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, *PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO;
|
||||
|
||||
|
||||
typedef union _TMP_CMSG_RECIPIENT_ENCODE_INFO_UNION {
|
||||
PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO pKeyTrans;
|
||||
PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO pKeyAgree;
|
||||
PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO pMailList;
|
||||
} TMP_CMSG_RECIPIENT_ENCODE_INFO_UNION;
|
||||
|
||||
typedef struct _CMSG_RECIPIENT_ENCODE_INFO {
|
||||
DWORD dwRecipientChoice;
|
||||
TMP_CMSG_RECIPIENT_ENCODE_INFO_UNION DUMMYUNIONNAME;
|
||||
} CMSG_RECIPIENT_ENCODE_INFO, *PCMSG_RECIPIENT_ENCODE_INFO;
|
||||
|
||||
|
||||
typedef struct _CMSG_ENVELOPED_ENCODE_INFO {
|
||||
DWORD cbSize;
|
||||
HCRYPTPROV_LEGACY hCryptProv;
|
||||
CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm;
|
||||
PVOID pvEncryptionAuxInfo;
|
||||
DWORD cRecipients;
|
||||
PCERT_INFO *rgpRecipients;
|
||||
PCMSG_RECIPIENT_ENCODE_INFO rgCmsRecipients;
|
||||
DWORD cCertEncoded;
|
||||
PCERT_BLOB rgCertEncoded;
|
||||
DWORD cCrlEncoded;
|
||||
PCRL_BLOB rgCrlEncoded;
|
||||
DWORD cAttrCertEncoded;
|
||||
PCERT_BLOB rgAttrCertEncoded;
|
||||
DWORD cUnprotectedAttr;
|
||||
PCRYPT_ATTRIBUTE rgUnprotectedAttr;
|
||||
} CMSG_ENVELOPED_ENCODE_INFO, *PCMSG_ENVELOPED_ENCODE_INFO;
|
||||
|
||||
|
||||
typedef struct _CMSG_STREAM_INFO {
|
||||
DWORD cbContent;
|
||||
PVOID pfnStreamOutput;
|
||||
PVOID pvArg;
|
||||
} CMSG_STREAM_INFO, *PCMSG_STREAM_INFO;
|
||||
|
||||
|
||||
typedef union _TMPUNION_CMSG_CTRL_DECRYPT_PARA {
|
||||
HCRYPTPROV hCryptProv;
|
||||
NCRYPT_KEY_HANDLE hNCryptKey;
|
||||
} TMPUNION_CMSG_CTRL_DECRYPT_PARA;
|
||||
|
||||
|
||||
typedef struct _CMSG_CTRL_DECRYPT_PARA {
|
||||
DWORD cbSize;
|
||||
TMPUNION_CMSG_CTRL_DECRYPT_PARA DUMMYUNIONNAME;
|
||||
DWORD dwKeySpec;
|
||||
DWORD dwRecipientIndex;
|
||||
} CMSG_CTRL_DECRYPT_PARA, *PCMSG_CTRL_DECRYPT_PARA;
|
||||
@@ -0,0 +1,194 @@
|
||||
typedef enum _FILE_INFORMATION_CLASS {
|
||||
FakeFileInformationZero,
|
||||
FileDirectoryInformation,
|
||||
FileFullDirectoryInformation,
|
||||
FileBothDirectoryInformation,
|
||||
FileBasicInformation,
|
||||
FileStandardInformation,
|
||||
FileInternalInformation,
|
||||
FileEaInformation,
|
||||
FileAccessInformation,
|
||||
FileNameInformation,
|
||||
FileRenameInformation,
|
||||
FileLinkInformation,
|
||||
FileNamesInformation,
|
||||
FileDispositionInformation,
|
||||
FilePositionInformation,
|
||||
FileFullEaInformation,
|
||||
FileModeInformation,
|
||||
FileAlignmentInformation,
|
||||
FileAllInformation,
|
||||
FileAllocationInformation,
|
||||
FileEndOfFileInformation,
|
||||
FileAlternateNameInformation,
|
||||
FileStreamInformation,
|
||||
FilePipeInformation,
|
||||
FilePipeLocalInformation,
|
||||
FilePipeRemoteInformation,
|
||||
FileMailslotQueryInformation,
|
||||
FileMailslotSetInformation,
|
||||
FileCompressionInformation,
|
||||
FileObjectIdInformation,
|
||||
FileCompletionInformation,
|
||||
FileMoveClusterInformation,
|
||||
FileQuotaInformation,
|
||||
FileReparsePointInformation,
|
||||
FileNetworkOpenInformation,
|
||||
FileAttributeTagInformation,
|
||||
FileTrackingInformation,
|
||||
FileIdBothDirectoryInformation,
|
||||
FileIdFullDirectoryInformation,
|
||||
FileValidDataLengthInformation,
|
||||
FileShortNameInformation,
|
||||
FileIoCompletionNotificationInformation,
|
||||
FileIoStatusBlockRangeInformation,
|
||||
FileIoPriorityHintInformation,
|
||||
FileSfioReserveInformation,
|
||||
FileSfioVolumeInformation,
|
||||
FileHardLinkInformation,
|
||||
FileProcessIdsUsingFileInformation,
|
||||
FileNormalizedNameInformation,
|
||||
FileNetworkPhysicalNameInformation,
|
||||
FileIdGlobalTxDirectoryInformation,
|
||||
FileIsRemoteDeviceInformation,
|
||||
FileUnusedInformation,
|
||||
FileNumaNodeInformation,
|
||||
FileStandardLinkInformation,
|
||||
FileRemoteProtocolInformation,
|
||||
FileRenameInformationBypassAccessCheck,
|
||||
FileLinkInformationBypassAccessCheck,
|
||||
FileVolumeNameInformation,
|
||||
FileIdInformation,
|
||||
FileIdExtdDirectoryInformation,
|
||||
FileReplaceCompletionInformation,
|
||||
FileHardLinkFullIdInformation,
|
||||
FileIdExtdBothDirectoryInformation,
|
||||
FileDispositionInformationEx,
|
||||
FileRenameInformationEx,
|
||||
FileRenameInformationExBypassAccessCheck,
|
||||
FileMaximumInformation
|
||||
} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
|
||||
|
||||
typedef enum _IO_PRIORITY_HINT {
|
||||
IoPriorityVeryLow = 0,
|
||||
IoPriorityLow = 1,
|
||||
IoPriorityNormal = 2,
|
||||
IoPriorityHigh = 3,
|
||||
IoPriorityCritical = 4,
|
||||
MaxIoPriorityTypes = 5
|
||||
} IO_PRIORITY_HINT;
|
||||
|
||||
|
||||
typedef struct _FILE_INTERNAL_INFORMATION {
|
||||
LARGE_INTEGER IndexNumber;
|
||||
} FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION;
|
||||
|
||||
|
||||
typedef struct _FILE_ALIGNMENT_INFORMATION {
|
||||
ULONG AlignmentRequirement;
|
||||
} FILE_ALIGNMENT_INFORMATION, *PFILE_ALIGNMENT_INFORMATION;
|
||||
|
||||
|
||||
typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION {
|
||||
ULONG FileAttributes;
|
||||
ULONG ReparseTag;
|
||||
} FILE_ATTRIBUTE_TAG_INFORMATION, *PFILE_ATTRIBUTE_TAG_INFORMATION;
|
||||
|
||||
typedef struct _FILE_BASIC_INFORMATION {
|
||||
LARGE_INTEGER CreationTime;
|
||||
LARGE_INTEGER LastAccessTime;
|
||||
LARGE_INTEGER LastWriteTime;
|
||||
LARGE_INTEGER ChangeTime;
|
||||
ULONG FileAttributes;
|
||||
} FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION;
|
||||
|
||||
typedef struct _FILE_EA_INFORMATION {
|
||||
ULONG EaSize;
|
||||
} FILE_EA_INFORMATION, *PFILE_EA_INFORMATION;
|
||||
|
||||
typedef struct _FILE_IO_PRIORITY_HINT_INFORMATION {
|
||||
IO_PRIORITY_HINT PriorityHint;
|
||||
} FILE_IO_PRIORITY_HINT_INFORMATION, *PFILE_IO_PRIORITY_HINT_INFORMATION;
|
||||
|
||||
|
||||
typedef struct _FILE_MODE_INFORMATION {
|
||||
ULONG Mode;
|
||||
} FILE_MODE_INFORMATION, *PFILE_MODE_INFORMATION;
|
||||
|
||||
typedef struct _FILE_NAME_INFORMATION {
|
||||
ULONG FileNameLength;
|
||||
WCHAR FileName[1];
|
||||
} FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION;
|
||||
|
||||
|
||||
typedef struct _FILE_NETWORK_OPEN_INFORMATION {
|
||||
LARGE_INTEGER CreationTime;
|
||||
LARGE_INTEGER LastAccessTime;
|
||||
LARGE_INTEGER LastWriteTime;
|
||||
LARGE_INTEGER ChangeTime;
|
||||
LARGE_INTEGER AllocationSize;
|
||||
LARGE_INTEGER EndOfFile;
|
||||
ULONG FileAttributes;
|
||||
} FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION;
|
||||
|
||||
typedef struct _FILE_STANDARD_INFORMATION {
|
||||
LARGE_INTEGER AllocationSize;
|
||||
LARGE_INTEGER EndOfFile;
|
||||
ULONG NumberOfLinks;
|
||||
BOOLEAN DeletePending;
|
||||
BOOLEAN Directory;
|
||||
} FILE_STANDARD_INFORMATION, *PFILE_STANDARD_INFORMATION;
|
||||
|
||||
typedef struct _FILE_ACCESS_INFORMATION {
|
||||
ACCESS_MASK AccessFlags;
|
||||
} FILE_ACCESS_INFORMATION, *PFILE_ACCESS_INFORMATION;
|
||||
|
||||
typedef struct _FILE_POSITION_INFORMATION {
|
||||
LARGE_INTEGER CurrentByteOffset;
|
||||
} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;
|
||||
|
||||
typedef struct _FILE_IS_REMOTE_DEVICE_INFORMATION {
|
||||
BOOLEAN IsRemote;
|
||||
} FILE_IS_REMOTE_DEVICE_INFORMATION, *PFILE_IS_REMOTE_DEVICE_INFORMATION;
|
||||
|
||||
|
||||
typedef struct _FILE_ALL_INFORMATION {
|
||||
FILE_BASIC_INFORMATION BasicInformation;
|
||||
FILE_STANDARD_INFORMATION StandardInformation;
|
||||
FILE_INTERNAL_INFORMATION InternalInformation;
|
||||
FILE_EA_INFORMATION EaInformation;
|
||||
FILE_ACCESS_INFORMATION AccessInformation;
|
||||
FILE_POSITION_INFORMATION PositionInformation;
|
||||
FILE_MODE_INFORMATION ModeInformation;
|
||||
FILE_ALIGNMENT_INFORMATION AlignmentInformation;
|
||||
FILE_NAME_INFORMATION NameInformation;
|
||||
} FILE_ALL_INFORMATION, *PFILE_ALL_INFORMATION;
|
||||
|
||||
typedef struct _FILE_STREAM_INFORMATION {
|
||||
ULONG NextEntryOffset;
|
||||
ULONG StreamNameLength;
|
||||
LARGE_INTEGER StreamSize;
|
||||
LARGE_INTEGER StreamAllocationSize;
|
||||
WCHAR StreamName[1];
|
||||
} FILE_STREAM_INFORMATION, *PFILE_STREAM_INFORMATION;
|
||||
|
||||
|
||||
typedef struct _FILE_DISPOSITION_INFORMATION {
|
||||
BOOLEAN DeleteFile;
|
||||
} FILE_DISPOSITION_INFORMATION, *PFILE_DISPOSITION_INFORMATION;
|
||||
|
||||
typedef struct _FILE_FULL_EA_INFORMATION
|
||||
{
|
||||
ULONG NextEntryOffset;
|
||||
UCHAR Flags;
|
||||
UCHAR EaNameLength;
|
||||
USHORT EaValueLength;
|
||||
CHAR EaName[1];
|
||||
} FILE_FULL_EA_INFORMATION, *PFILE_FULL_EA_INFORMATION;
|
||||
|
||||
typedef struct _FILE_GET_EA_INFORMATION
|
||||
{
|
||||
ULONG NextEntryOffset;
|
||||
UCHAR EaNameLength;
|
||||
CHAR EaName[1];
|
||||
} FILE_GET_EA_INFORMATION, *PFILE_GET_EA_INFORMATION;
|
||||
@@ -0,0 +1,8 @@
|
||||
/* I 'often' add typedef for GUID: so I put it in a specific file */
|
||||
|
||||
typedef struct _GUID {
|
||||
ULONG Data1;
|
||||
USHORT Data2;
|
||||
USHORT Data3;
|
||||
BYTE Data4[ 8 ];
|
||||
} GUID, IID, CLSID, *REFIID, *REFCLSID, *LPGUID, *REFGUID, *LPCLSID;
|
||||
@@ -0,0 +1,182 @@
|
||||
typedef enum _PROCESS_MITIGATION_POLICY {
|
||||
ProcessDEPPolicy,
|
||||
ProcessASLRPolicy,
|
||||
ProcessDynamicCodePolicy,
|
||||
ProcessStrictHandleCheckPolicy,
|
||||
ProcessSystemCallDisablePolicy,
|
||||
ProcessMitigationOptionsMask,
|
||||
ProcessExtensionPointDisablePolicy,
|
||||
ProcessReserved1Policy,
|
||||
ProcessSignaturePolicy,
|
||||
MaxProcessMitigationPolicy
|
||||
} PROCESS_MITIGATION_POLICY, *PPROCESS_MITIGATION_POLICY;
|
||||
|
||||
|
||||
// DEP Policy
|
||||
|
||||
struct _ANON_PROCESS_MITIGATION_DEP_POLICY_BITFIELD {
|
||||
DWORD Enable : 1;
|
||||
DWORD DisableAtlThunkEmulation : 1;
|
||||
DWORD ReservedFlags : 30;
|
||||
};
|
||||
|
||||
union _ANON_PROCESS_MITIGATION_DEP_POLICY_UNION {
|
||||
DWORD Flags;
|
||||
_ANON_PROCESS_MITIGATION_DEP_POLICY_BITFIELD anon;
|
||||
};
|
||||
|
||||
typedef struct _PROCESS_MITIGATION_DEP_POLICY {
|
||||
_ANON_PROCESS_MITIGATION_DEP_POLICY_UNION anon;
|
||||
BOOLEAN Permanent;
|
||||
} PROCESS_MITIGATION_DEP_POLICY, *PPROCESS_MITIGATION_DEP_POLICY;
|
||||
|
||||
|
||||
// ASLR policy
|
||||
|
||||
struct _ANON_PROCESS_MITIGATION_ASLR_POLICY_BITFIELD {
|
||||
DWORD EnableBottomUpRandomization : 1;
|
||||
DWORD EnableForceRelocateImages : 1;
|
||||
DWORD EnableHighEntropy : 1;
|
||||
DWORD DisallowStrippedImages : 1;
|
||||
DWORD ReservedFlags : 28;
|
||||
};
|
||||
|
||||
union _ANON_PROCESS_MITIGATION_ASLR_POLICY_UNION {
|
||||
DWORD Flags;
|
||||
_ANON_PROCESS_MITIGATION_ASLR_POLICY_BITFIELD anon;
|
||||
};
|
||||
|
||||
|
||||
typedef struct _PROCESS_MITIGATION_ASLR_POLICY {
|
||||
_ANON_PROCESS_MITIGATION_ASLR_POLICY_UNION anon;
|
||||
} PROCESS_MITIGATION_ASLR_POLICY, *PPROCESS_MITIGATION_ASLR_POLICY;
|
||||
|
||||
// Dynamic code policy
|
||||
|
||||
struct _ANON_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY_BITFIELD {
|
||||
DWORD ProhibitDynamicCode :1;
|
||||
DWORD AllowThreadOptOut :1;
|
||||
DWORD AllowRemoteDowngrade :1;
|
||||
DWORD ReservedFlags :30;
|
||||
};
|
||||
|
||||
union _ANON_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY_UNION {
|
||||
DWORD Flags;
|
||||
_ANON_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY_BITFIELD anon;
|
||||
};
|
||||
|
||||
typedef struct _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY {
|
||||
_ANON_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY_UNION anon;
|
||||
} PROCESS_MITIGATION_DYNAMIC_CODE_POLICY, *PPROCESS_MITIGATION_DYNAMIC_CODE_POLICY;
|
||||
|
||||
|
||||
//Strict handle policy
|
||||
|
||||
struct _ANON_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY_BITFIELD {
|
||||
DWORD RaiseExceptionOnInvalidHandleReference : 1;
|
||||
DWORD HandleExceptionsPermanentlyEnabled : 1;
|
||||
DWORD ReservedFlags : 30;
|
||||
};
|
||||
|
||||
union _ANON_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY_UNION {
|
||||
DWORD Flags;
|
||||
_ANON_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY_BITFIELD ANON_STRUCT;
|
||||
};
|
||||
|
||||
|
||||
typedef struct _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY {
|
||||
_ANON_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY_UNION anon;
|
||||
} PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY, *PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY;
|
||||
|
||||
|
||||
|
||||
// System Call policy
|
||||
|
||||
struct _ANON_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY_BITFIELD {
|
||||
DWORD DisallowWin32kSystemCalls : 1;
|
||||
DWORD ReservedFlags : 31;
|
||||
};
|
||||
|
||||
union _ANON_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY_UNION {
|
||||
DWORD Flags;
|
||||
_ANON_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY_BITFIELD ANON_STRUCT;
|
||||
};
|
||||
|
||||
typedef struct _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY {
|
||||
_ANON_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY_UNION anon;
|
||||
} PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY, *PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY;
|
||||
|
||||
|
||||
// EXTENSION POINT policy
|
||||
|
||||
struct _ANON_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY_BITFIELD {
|
||||
DWORD DisableExtensionPoints : 1;
|
||||
DWORD ReservedFlags : 31;
|
||||
};
|
||||
|
||||
union _ANON_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY_UNION {
|
||||
DWORD Flags;
|
||||
_ANON_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY_BITFIELD ANON_STRUCT;
|
||||
};
|
||||
|
||||
typedef struct _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY {
|
||||
_ANON_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY_UNION anon;
|
||||
} PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY, *PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY;
|
||||
|
||||
|
||||
// CFG policy
|
||||
|
||||
struct _ANON_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY_BITFIELD {
|
||||
DWORD EnableControlFlowGuard :1;
|
||||
DWORD EnableExportSuppression :1;
|
||||
DWORD StrictMode :1;
|
||||
DWORD ReservedFlags :29;
|
||||
};
|
||||
|
||||
union _ANON_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY_UNION {
|
||||
DWORD Flags;
|
||||
_ANON_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY_BITFIELD ANON_STRUCT;
|
||||
};
|
||||
|
||||
typedef struct _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY {
|
||||
_ANON_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY_UNION anon;
|
||||
} PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY, *PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY;
|
||||
|
||||
|
||||
// BINARY SIGNATURE policy
|
||||
|
||||
|
||||
struct _ANON_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY_BITFIELD {
|
||||
DWORD MicrosoftSignedOnly :1;
|
||||
DWORD StoreSignedOnly :1;
|
||||
DWORD MitigationOptIn :1;
|
||||
DWORD ReservedFlags :29;
|
||||
};
|
||||
|
||||
union _ANON_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY_UNION {
|
||||
DWORD Flags;
|
||||
_ANON_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY_BITFIELD ANON_STRUCT;
|
||||
};
|
||||
|
||||
typedef struct _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY {
|
||||
_ANON_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY_UNION anon;
|
||||
} PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY, *PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY;
|
||||
|
||||
|
||||
// Font disable policy
|
||||
|
||||
struct _ANON_PROCESS_MITIGATION_IMAGE_LOAD_POLICY_BITFIELD {
|
||||
DWORD NoRemoteImages :1;
|
||||
DWORD NoLowMandatoryLabelImages :1;
|
||||
DWORD PreferSystem32Images :1;
|
||||
DWORD ReservedFlags :29;
|
||||
};
|
||||
|
||||
union _ANON_PROCESS_MITIGATION_IMAGE_LOAD_POLICY_UNION {
|
||||
DWORD Flags;
|
||||
_ANON_PROCESS_MITIGATION_IMAGE_LOAD_POLICY_BITFIELD ANON_STRUCT;
|
||||
};
|
||||
|
||||
typedef struct _PROCESS_MITIGATION_IMAGE_LOAD_POLICY {
|
||||
_ANON_PROCESS_MITIGATION_IMAGE_LOAD_POLICY_UNION anon;
|
||||
} PROCESS_MITIGATION_IMAGE_LOAD_POLICY, *PPROCESS_MITIGATION_IMAGE_LOAD_POLICY;
|
||||
@@ -0,0 +1,34 @@
|
||||
typedef enum _KEY_VALUE_INFORMATION_CLASS {
|
||||
KeyValueBasicInformation ,
|
||||
KeyValueFullInformation ,
|
||||
KeyValuePartialInformation ,
|
||||
KeyValueFullInformationAlign64 ,
|
||||
KeyValuePartialInformationAlign64 ,
|
||||
KeyValueLayerInformation ,
|
||||
MaxKeyValueInfoClass
|
||||
} KEY_VALUE_INFORMATION_CLASS;
|
||||
|
||||
|
||||
typedef struct _KEY_VALUE_BASIC_INFORMATION {
|
||||
ULONG TitleIndex;
|
||||
ULONG Type;
|
||||
ULONG NameLength;
|
||||
WCHAR Name[1];
|
||||
} KEY_VALUE_BASIC_INFORMATION, *PKEY_VALUE_BASIC_INFORMATION;
|
||||
|
||||
typedef struct _KEY_VALUE_FULL_INFORMATION {
|
||||
ULONG TitleIndex;
|
||||
ULONG Type;
|
||||
ULONG DataOffset;
|
||||
ULONG DataLength;
|
||||
ULONG NameLength;
|
||||
WCHAR Name[1];
|
||||
} KEY_VALUE_FULL_INFORMATION, *PKEY_VALUE_FULL_INFORMATION;
|
||||
|
||||
|
||||
typedef struct _KEY_VALUE_PARTIAL_INFORMATION {
|
||||
ULONG TitleIndex;
|
||||
ULONG Type;
|
||||
ULONG DataLength;
|
||||
UCHAR Data[1];
|
||||
} KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;
|
||||
@@ -0,0 +1,265 @@
|
||||
/* Enum */
|
||||
|
||||
typedef enum _ACL_INFORMATION_CLASS {
|
||||
AclRevisionInformation = 1,
|
||||
AclSizeInformation = 2,
|
||||
} ACL_INFORMATION_CLASS;
|
||||
|
||||
/* ACL Stuff */
|
||||
|
||||
typedef struct _ACL {
|
||||
BYTE AclRevision;
|
||||
BYTE Sbz1;
|
||||
WORD AclSize;
|
||||
WORD AceCount;
|
||||
WORD Sbz2;
|
||||
} ACL, *PACL;
|
||||
|
||||
|
||||
typedef struct _ACL_REVISION_INFORMATION {
|
||||
DWORD AclRevision;
|
||||
} ACL_REVISION_INFORMATION, *PACL_REVISION_INFORMATION;
|
||||
|
||||
|
||||
typedef struct _ACL_SIZE_INFORMATION {
|
||||
DWORD AceCount;
|
||||
DWORD AclBytesInUse;
|
||||
DWORD AclBytesFree;
|
||||
} ACL_SIZE_INFORMATION, *PACL_SIZE_INFORMATION;
|
||||
|
||||
typedef struct _ACE_HEADER {
|
||||
BYTE AceType;
|
||||
BYTE AceFlags;
|
||||
WORD AceSize;
|
||||
} ACE_HEADER, *PACE_HEADER;
|
||||
|
||||
|
||||
typedef struct _ACCESS_ALLOWED_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD SidStart;
|
||||
} ACCESS_ALLOWED_ACE, *PACCESS_ALLOWED_ACE;
|
||||
|
||||
typedef struct _ACCESS_ALLOWED_CALLBACK_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD SidStart;
|
||||
} ACCESS_ALLOWED_CALLBACK_ACE, *PACCESS_ALLOWED_CALLBACK_ACE;
|
||||
|
||||
|
||||
typedef struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD Flags;
|
||||
GUID ObjectType;
|
||||
GUID InheritedObjectType;
|
||||
DWORD SidStart;
|
||||
} ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, *PACCESS_ALLOWED_CALLBACK_OBJECT_ACE;
|
||||
|
||||
typedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD Flags;
|
||||
GUID ObjectType;
|
||||
GUID InheritedObjectType;
|
||||
DWORD SidStart;
|
||||
// Opaque resource manager specific data
|
||||
} ACCESS_DENIED_CALLBACK_OBJECT_ACE, *PACCESS_DENIED_CALLBACK_OBJECT_ACE;
|
||||
|
||||
|
||||
typedef struct _ACCESS_ALLOWED_OBJECT_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD Flags;
|
||||
GUID ObjectType;
|
||||
GUID InheritedObjectType;
|
||||
DWORD SidStart;
|
||||
} ACCESS_ALLOWED_OBJECT_ACE, *PACCESS_ALLOWED_OBJECT_ACE;
|
||||
|
||||
|
||||
typedef struct _ACCESS_DENIED_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD SidStart;
|
||||
} ACCESS_DENIED_ACE, *PACCESS_DENIED_ACE;
|
||||
|
||||
|
||||
typedef struct _ACCESS_DENIED_CALLBACK_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD SidStart;
|
||||
} ACCESS_DENIED_CALLBACK_ACE, *PACCESS_DENIED_CALLBACK_ACE;
|
||||
|
||||
|
||||
typedef struct _ACCESS_DENIED_OBJECT_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD Flags;
|
||||
GUID ObjectType;
|
||||
GUID InheritedObjectType;
|
||||
DWORD SidStart;
|
||||
} ACCESS_DENIED_OBJECT_ACE, *PACCESS_DENIED_OBJECT_ACE;
|
||||
|
||||
|
||||
typedef struct _SYSTEM_MANDATORY_LABEL_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD SidStart;
|
||||
} SYSTEM_MANDATORY_LABEL_ACE, *PSYSTEM_MANDATORY_LABEL_ACE;
|
||||
|
||||
typedef struct _SYSTEM_AUDIT_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD SidStart;
|
||||
} SYSTEM_AUDIT_ACE;
|
||||
|
||||
typedef struct _SYSTEM_ALARM_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD SidStart;
|
||||
} SYSTEM_ALARM_ACE;
|
||||
|
||||
typedef struct _SYSTEM_RESOURCE_ATTRIBUTE_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD SidStart;
|
||||
} SYSTEM_RESOURCE_ATTRIBUTE_ACE, *PSYSTEM_RESOURCE_ATTRIBUTE_ACE;
|
||||
|
||||
typedef struct _SYSTEM_SCOPED_POLICY_ID_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD SidStart;
|
||||
} SYSTEM_SCOPED_POLICY_ID_ACE, *PSYSTEM_SCOPED_POLICY_ID_ACE;
|
||||
|
||||
typedef struct _SYSTEM_PROCESS_TRUST_LABEL_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD SidStart;
|
||||
} SYSTEM_PROCESS_TRUST_LABEL_ACE, *PSYSTEM_PROCESS_TRUST_LABEL_ACE;
|
||||
|
||||
|
||||
typedef struct _SYSTEM_AUDIT_OBJECT_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD Flags;
|
||||
GUID ObjectType;
|
||||
GUID InheritedObjectType;
|
||||
DWORD SidStart;
|
||||
} SYSTEM_AUDIT_OBJECT_ACE, *PSYSTEM_AUDIT_OBJECT_ACE;
|
||||
|
||||
typedef struct _SYSTEM_ALARM_OBJECT_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD Flags;
|
||||
GUID ObjectType;
|
||||
GUID InheritedObjectType;
|
||||
DWORD SidStart;
|
||||
} SYSTEM_ALARM_OBJECT_ACE, *PSYSTEM_ALARM_OBJECT_ACE;
|
||||
|
||||
|
||||
typedef struct _SYSTEM_AUDIT_CALLBACK_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD SidStart;
|
||||
} SYSTEM_AUDIT_CALLBACK_ACE, *PSYSTEM_AUDIT_CALLBACK_ACE;
|
||||
|
||||
typedef struct _SYSTEM_ALARM_CALLBACK_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD SidStart;
|
||||
} SYSTEM_ALARM_CALLBACK_ACE, *PSYSTEM_ALARM_CALLBACK_ACE;
|
||||
|
||||
typedef struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD Flags;
|
||||
GUID ObjectType;
|
||||
GUID InheritedObjectType;
|
||||
DWORD SidStart;
|
||||
} SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, *PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE;
|
||||
|
||||
typedef struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE {
|
||||
ACE_HEADER Header;
|
||||
ACCESS_MASK Mask;
|
||||
DWORD Flags;
|
||||
GUID ObjectType;
|
||||
GUID InheritedObjectType;
|
||||
DWORD SidStart;
|
||||
} SYSTEM_ALARM_CALLBACK_OBJECT_ACE, *PSYSTEM_ALARM_CALLBACK_OBJECT_ACE;
|
||||
|
||||
|
||||
typedef union _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_UNION {
|
||||
DWORD pInt64[ANYSIZE_ARRAY];
|
||||
DWORD pUint64[ANYSIZE_ARRAY];
|
||||
DWORD ppString[ANYSIZE_ARRAY];
|
||||
DWORD pFqbn[ANYSIZE_ARRAY];
|
||||
DWORD pOctetString[ANYSIZE_ARRAY];
|
||||
} CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_UNION;
|
||||
|
||||
typedef struct _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 {
|
||||
DWORD Name;
|
||||
WORD ValueType;
|
||||
WORD Reserved;
|
||||
DWORD Flags;
|
||||
DWORD ValueCount;
|
||||
CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_UNION Values;
|
||||
} CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1, *PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1;
|
||||
|
||||
typedef struct _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE {
|
||||
DWORD64 Version;
|
||||
PWSTR Name;
|
||||
} CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE, *PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE;
|
||||
|
||||
typedef struct _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE {
|
||||
PVOID pValue; // Pointer is BYTE aligned.
|
||||
DWORD ValueLength; // In bytes
|
||||
} CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE,
|
||||
*PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE;
|
||||
|
||||
typedef struct _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_RELATIVE {
|
||||
DWORD Length;
|
||||
BYTE OctetString[ANYSIZE_ARRAY];
|
||||
} CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_RELATIVE,
|
||||
*PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_RELATIVE;
|
||||
|
||||
|
||||
typedef union _CLAIM_SECURITY_ATTRIBUTE_V1_UNION {
|
||||
PLONG64 pInt64;
|
||||
PDWORD64 pUint64;
|
||||
PWSTR *ppString;
|
||||
PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE pFqbn;
|
||||
PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE pOctetString;
|
||||
} CLAIM_SECURITY_ATTRIBUTE_V1_UNION;
|
||||
|
||||
|
||||
typedef struct _CLAIM_SECURITY_ATTRIBUTE_V1 {
|
||||
PWSTR Name;
|
||||
WORD ValueType;
|
||||
WORD Reserved;
|
||||
DWORD Flags;
|
||||
DWORD ValueCount;
|
||||
CLAIM_SECURITY_ATTRIBUTE_V1_UNION Values;
|
||||
} CLAIM_SECURITY_ATTRIBUTE_V1, *PCLAIM_SECURITY_ATTRIBUTE_V1;
|
||||
|
||||
|
||||
|
||||
typedef union _CLAIM_SECURITY_ATTRIBUTES_INFORMATION_UNION {
|
||||
PCLAIM_SECURITY_ATTRIBUTE_V1 pAttributeV1;
|
||||
} CLAIM_SECURITY_ATTRIBUTES_INFORMATION_UNION;
|
||||
|
||||
typedef struct _CLAIM_SECURITY_ATTRIBUTES_INFORMATION {
|
||||
WORD Version;
|
||||
WORD Reserved;
|
||||
DWORD AttributeCount;
|
||||
CLAIM_SECURITY_ATTRIBUTES_INFORMATION_UNION Attribute;
|
||||
} CLAIM_SECURITY_ATTRIBUTES_INFORMATION, *PCLAIM_SECURITY_ATTRIBUTES_INFORMATION;
|
||||
|
||||
typedef struct _SECURITY_DESCRIPTOR {
|
||||
BYTE Revision;
|
||||
BYTE Sbz1;
|
||||
SECURITY_DESCRIPTOR_CONTROL Control;
|
||||
PSID Owner;
|
||||
PSID Group;
|
||||
PACL Sacl;
|
||||
PACL Dacl;
|
||||
} SECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR;
|
||||
@@ -0,0 +1,11 @@
|
||||
typedef struct _SHITEMID {
|
||||
USHORT cb;
|
||||
BYTE abID[1];
|
||||
} SHITEMID;
|
||||
|
||||
|
||||
/* MANUAL TYPEDEF see: https://msdn.microsoft.com/en-us/library/windows/desktop/bb773321(v=vs.85).aspx*/
|
||||
|
||||
typedef struct _ITEMIDLIST {
|
||||
SHITEMID mkid;
|
||||
} ITEMIDLIST, *PCIDLIST_ABSOLUTE, *PIDLIST_ABSOLUTE;
|
||||
@@ -0,0 +1,38 @@
|
||||
typedef enum {
|
||||
SymNone,
|
||||
SymCoff,
|
||||
SymCv,
|
||||
SymPdb,
|
||||
SymExport,
|
||||
SymDeferred,
|
||||
SymSym, // .sym file
|
||||
SymDia,
|
||||
SymVirtual,
|
||||
NumSymTypes
|
||||
} SYM_TYPE;
|
||||
|
||||
typedef struct _IMAGEHLP_MODULE64 {
|
||||
DWORD SizeOfStruct;
|
||||
DWORD64 BaseOfImage;
|
||||
DWORD ImageSize;
|
||||
DWORD TimeDateStamp;
|
||||
DWORD CheckSum;
|
||||
DWORD NumSyms;
|
||||
SYM_TYPE SymType;
|
||||
CHAR ModuleName[32];
|
||||
CHAR ImageName[256];
|
||||
CHAR LoadedImageName[256];
|
||||
CHAR LoadedPdbName[256];
|
||||
DWORD CVSig;
|
||||
CHAR CVData[780]; // MAX_PATH * 3
|
||||
DWORD PdbSig;
|
||||
GUID PdbSig70;
|
||||
DWORD PdbAge;
|
||||
BOOL PdbUnmatched;
|
||||
BOOL DbgUnmatched;
|
||||
BOOL LineNumbers;
|
||||
BOOL GlobalSymbols;
|
||||
BOOL TypeInfo;
|
||||
BOOL SourceIndexed;
|
||||
BOOL Publics;
|
||||
} IMAGEHLP_MODULE64, *PIMAGEHLP_MODULE64;
|
||||
@@ -0,0 +1,85 @@
|
||||
typedef enum _TASK_ACTION_TYPE{
|
||||
TASK_ACTION_EXEC = 0,
|
||||
TASK_ACTION_COM_HANDLER = 5,
|
||||
TASK_ACTION_SEND_EMAIL = 6,
|
||||
TASK_ACTION_SHOW_MESSAGE = 7
|
||||
} TASK_ACTION_TYPE;
|
||||
|
||||
typedef enum _TASK_RUNLEVEL_TYPE{
|
||||
TASK_RUNLEVEL_LUA = 0,
|
||||
TASK_RUNLEVEL_HIGHEST = 1
|
||||
} TASK_RUNLEVEL_TYPE;
|
||||
|
||||
|
||||
typedef enum _TASK_LOGON_TYPE{
|
||||
TASK_LOGON_NONE = 0,
|
||||
TASK_LOGON_PASSWORD = 1,
|
||||
TASK_LOGON_S4U = 2,
|
||||
TASK_LOGON_INTERACTIVE_TOKEN = 3,
|
||||
TASK_LOGON_GROUP = 4,
|
||||
TASK_LOGON_SERVICE_ACCOUNT = 5,
|
||||
TASK_LOGON_INTERACTIVE_TOKEN_OR_PASSWORD = 6
|
||||
} TASK_LOGON_TYPE;
|
||||
|
||||
typedef enum _TASK_STATE {
|
||||
TASK_STATE_UNKNOWN = 0,
|
||||
TASK_STATE_DISABLED = 1,
|
||||
TASK_STATE_QUEUED = 2,
|
||||
TASK_STATE_READY = 3,
|
||||
TASK_STATE_RUNNING = 4
|
||||
} TASK_STATE;
|
||||
|
||||
|
||||
typedef enum _TASK_INSTANCES_POLICY {
|
||||
TASK_INSTANCES_PARALLEL = 0,
|
||||
TASK_INSTANCES_QUEUE = 1,
|
||||
TASK_INSTANCES_IGNORE_NEW = 2,
|
||||
TASK_INSTANCES_STOP_EXISTING = 3
|
||||
} TASK_INSTANCES_POLICY;
|
||||
|
||||
|
||||
typedef enum _TASK_COMPATIBILITY{
|
||||
TASK_COMPATIBILITY_AT = 0,
|
||||
TASK_COMPATIBILITY_V1 = 1,
|
||||
TASK_COMPATIBILITY_V2 = 2
|
||||
} TASK_COMPATIBILITY;
|
||||
|
||||
|
||||
|
||||
typedef enum _TASK_TRIGGER_TYPE2{
|
||||
TASK_TRIGGER_EVENT = 0,
|
||||
TASK_TRIGGER_TIME = 1,
|
||||
TASK_TRIGGER_DAILY = 2,
|
||||
TASK_TRIGGER_WEEKLY = 3,
|
||||
TASK_TRIGGER_MONTHLY = 4,
|
||||
TASK_TRIGGER_MONTHLYDOW = 5,
|
||||
TASK_TRIGGER_IDLE = 6,
|
||||
TASK_TRIGGER_REGISTRATION = 7,
|
||||
TASK_TRIGGER_BOOT = 8,
|
||||
TASK_TRIGGER_LOGON = 9,
|
||||
TASK_TRIGGER_SESSION_STATE_CHANGE = 11
|
||||
} TASK_TRIGGER_TYPE2;
|
||||
|
||||
|
||||
typedef enum _TASK_ENUM_FLAGS {
|
||||
TASK_ENUM_HIDDEN = 0x1
|
||||
} TASK_ENUM_FLAGS;
|
||||
|
||||
typedef enum _TASK_CREATION {
|
||||
TASK_VALIDATE_ONLY = 0x1,
|
||||
TASK_CREATE = 0x2,
|
||||
TASK_UPDATE = 0x4,
|
||||
TASK_CREATE_OR_UPDATE = 0x6,
|
||||
TASK_DISABLE = 0x8,
|
||||
TASK_DONT_ADD_PRINCIPAL_ACE = 0x10,
|
||||
TASK_IGNORE_REGISTRATION_TRIGGERS = 0x20
|
||||
} TASK_CREATION;
|
||||
|
||||
|
||||
typedef enum {
|
||||
TASK_RUN_NO_FLAGS = 0x0,
|
||||
TASK_RUN_AS_SELF = 0x1,
|
||||
TASK_RUN_IGNORE_CONSTRAINTS = 0x2,
|
||||
TASK_RUN_USE_SESSION_ID = 0x4,
|
||||
TASK_RUN_USER_SID = 0x8
|
||||
} TASK_RUN_FLAGS;
|
||||
@@ -0,0 +1,37 @@
|
||||
import windows # Allow extended-struct to use windows/winproxy/...
|
||||
from ctypes import *
|
||||
from ctypes.wintypes import *
|
||||
|
||||
from flag import Flag, FlagMapper, FlagExatractor
|
||||
|
||||
class EnumValue(Flag):
|
||||
def __new__(cls, enum_name, name, value):
|
||||
return super(EnumValue, cls).__new__(cls, name, value)
|
||||
|
||||
def __init__(self, enum_name, name, value):
|
||||
self.enum_name = enum_name
|
||||
self.name = name
|
||||
|
||||
def __repr__(self):
|
||||
return "{0}.{1}({2})".format(self.enum_name, self.name, hex(self))
|
||||
|
||||
# Fix pickling with protocol 2
|
||||
def __getnewargs__(self, *args):
|
||||
return self.enum_name, self.name, int(self)
|
||||
|
||||
|
||||
class EnumType(DWORD):
|
||||
values = ()
|
||||
mapper = {}
|
||||
|
||||
@property
|
||||
def value(self):
|
||||
raw_value = super(EnumType, self).value
|
||||
return self.mapper.get(raw_value, raw_value)
|
||||
|
||||
def __repr__(self):
|
||||
raw_value = super(EnumType, self).value
|
||||
if raw_value in self.values:
|
||||
value = self.value
|
||||
return "<{0} {1}({2})>".format(type(self).__name__, value.name, hex(raw_value))
|
||||
return "<{0}({1})>".format(type(self).__name__, hex(self.value))
|
||||
@@ -0,0 +1,216 @@
|
||||
typedef enum _TOKEN_INFORMATION_CLASS {
|
||||
TokenInvalid,
|
||||
TokenUser,
|
||||
TokenGroups,
|
||||
TokenPrivileges,
|
||||
TokenOwner,
|
||||
TokenPrimaryGroup,
|
||||
TokenDefaultDacl,
|
||||
TokenSource,
|
||||
TokenType,
|
||||
TokenImpersonationLevel,
|
||||
TokenStatistics,
|
||||
TokenRestrictedSids,
|
||||
TokenSessionId,
|
||||
TokenGroupsAndPrivileges,
|
||||
TokenSessionReference,
|
||||
TokenSandBoxInert,
|
||||
TokenAuditPolicy,
|
||||
TokenOrigin,
|
||||
TokenElevationType,
|
||||
TokenLinkedToken,
|
||||
TokenElevation,
|
||||
TokenHasRestrictions,
|
||||
TokenAccessInformation,
|
||||
TokenVirtualizationAllowed,
|
||||
TokenVirtualizationEnabled,
|
||||
TokenIntegrityLevel,
|
||||
TokenUIAccess,
|
||||
TokenMandatoryPolicy,
|
||||
TokenLogonSid,
|
||||
TokenIsAppContainer,
|
||||
TokenCapabilities,
|
||||
TokenAppContainerSid,
|
||||
TokenAppContainerNumber,
|
||||
TokenUserClaimAttributes,
|
||||
TokenDeviceClaimAttributes,
|
||||
TokenRestrictedUserClaimAttributes,
|
||||
TokenRestrictedDeviceClaimAttributes,
|
||||
TokenDeviceGroups,
|
||||
TokenRestrictedDeviceGroups,
|
||||
TokenSecurityAttributes,
|
||||
TokenIsRestricted,
|
||||
TokenProcessTrustLevel,
|
||||
TokenPrivateNameSpace,
|
||||
TokenSingletonAttributes,
|
||||
TokenBnoIsolation,
|
||||
TokenChildProcessFlags,
|
||||
MaxTokenInfoClass
|
||||
} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;
|
||||
|
||||
|
||||
typedef enum _TOKEN_ELEVATION_TYPE {
|
||||
TokenElevationTypeDefault = 1,
|
||||
TokenElevationTypeFull = 2,
|
||||
TokenElevationTypeLimited = 3
|
||||
} TOKEN_ELEVATION_TYPE, *PTOKEN_ELEVATION_TYPE;
|
||||
|
||||
typedef struct _TOKEN_PRIVILEGES {
|
||||
DWORD PrivilegeCount;
|
||||
LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
|
||||
} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
|
||||
|
||||
typedef struct _TOKEN_ELEVATION {
|
||||
DWORD TokenIsElevated;
|
||||
} TOKEN_ELEVATION, *PTOKEN_ELEVATION;
|
||||
|
||||
typedef struct _SID_AND_ATTRIBUTES {
|
||||
PSID Sid;
|
||||
DWORD Attributes;
|
||||
} SID_AND_ATTRIBUTES, * PSID_AND_ATTRIBUTES;
|
||||
|
||||
typedef struct _TOKEN_MANDATORY_LABEL {
|
||||
SID_AND_ATTRIBUTES Label;
|
||||
} TOKEN_MANDATORY_LABEL, *PTOKEN_MANDATORY_LABEL;
|
||||
|
||||
|
||||
typedef struct _TOKEN_USER {
|
||||
SID_AND_ATTRIBUTES User;
|
||||
} TOKEN_USER, *PTOKEN_USER;
|
||||
|
||||
typedef struct _TOKEN_DEFAULT_DACL {
|
||||
PACL DefaultDacl;
|
||||
} TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL;
|
||||
|
||||
|
||||
typedef struct _TOKEN_GROUPS {
|
||||
DWORD GroupCount;
|
||||
SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];
|
||||
} TOKEN_GROUPS, *PTOKEN_GROUPS;
|
||||
|
||||
typedef struct _TOKEN_OWNER {
|
||||
PSID Owner;
|
||||
} TOKEN_OWNER, *PTOKEN_OWNER;
|
||||
|
||||
typedef struct _TOKEN_PRIMARY_GROUP {
|
||||
PSID PrimaryGroup;
|
||||
} TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP;
|
||||
|
||||
typedef struct _TOKEN_SOURCE {
|
||||
CHAR SourceName[TOKEN_SOURCE_LENGTH];
|
||||
LUID SourceIdentifier;
|
||||
} TOKEN_SOURCE, *PTOKEN_SOURCE;
|
||||
|
||||
typedef struct _TOKEN_STATISTICS {
|
||||
LUID TokenId;
|
||||
LUID AuthenticationId;
|
||||
LARGE_INTEGER ExpirationTime;
|
||||
TOKEN_TYPE TokenType;
|
||||
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
|
||||
DWORD DynamicCharged;
|
||||
DWORD DynamicAvailable;
|
||||
DWORD GroupCount;
|
||||
DWORD PrivilegeCount;
|
||||
LUID ModifiedId;
|
||||
} TOKEN_STATISTICS, *PTOKEN_STATISTICS;
|
||||
|
||||
typedef struct _TOKEN_ORIGIN {
|
||||
LUID OriginatingLogonSession;
|
||||
} TOKEN_ORIGIN, *PTOKEN_ORIGIN;
|
||||
|
||||
typedef struct _TOKEN_LINKED_TOKEN {
|
||||
HANDLE LinkedToken;
|
||||
} TOKEN_LINKED_TOKEN, *PTOKEN_LINKED_TOKEN;
|
||||
|
||||
typedef struct _TOKEN_MANDATORY_POLICY {
|
||||
DWORD Policy;
|
||||
} TOKEN_MANDATORY_POLICY, *PTOKEN_MANDATORY_POLICY;
|
||||
|
||||
typedef struct _SID_AND_ATTRIBUTES_HASH {
|
||||
DWORD SidCount;
|
||||
PSID_AND_ATTRIBUTES SidAttr;
|
||||
SID_HASH_ENTRY Hash[SID_HASH_SIZE];
|
||||
} SID_AND_ATTRIBUTES_HASH, *PSID_AND_ATTRIBUTES_HASH;
|
||||
|
||||
typedef struct _TOKEN_APPCONTAINER_INFORMATION {
|
||||
PSID TokenAppContainer;
|
||||
} TOKEN_APPCONTAINER_INFORMATION, *PTOKEN_APPCONTAINER_INFORMATION;
|
||||
|
||||
typedef struct _TOKEN_ACCESS_INFORMATION {
|
||||
PSID_AND_ATTRIBUTES_HASH SidHash;
|
||||
PSID_AND_ATTRIBUTES_HASH RestrictedSidHash;
|
||||
PTOKEN_PRIVILEGES Privileges;
|
||||
LUID AuthenticationId;
|
||||
TOKEN_TYPE TokenType;
|
||||
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
|
||||
TOKEN_MANDATORY_POLICY MandatoryPolicy;
|
||||
DWORD Flags;
|
||||
DWORD AppContainerNumber;
|
||||
PSID PackageSid;
|
||||
PSID_AND_ATTRIBUTES_HASH CapabilitiesHash;
|
||||
PSID TrustLevelSid;
|
||||
PSECURITY_ATTRIBUTES_OPAQUE SecurityAttributes;
|
||||
} TOKEN_ACCESS_INFORMATION, *PTOKEN_ACCESS_INFORMATION;
|
||||
|
||||
typedef struct _TOKEN_GROUPS_AND_PRIVILEGES {
|
||||
DWORD SidCount;
|
||||
DWORD SidLength;
|
||||
PSID_AND_ATTRIBUTES Sids;
|
||||
DWORD RestrictedSidCount;
|
||||
DWORD RestrictedSidLength;
|
||||
PSID_AND_ATTRIBUTES RestrictedSids;
|
||||
DWORD PrivilegeCount;
|
||||
DWORD PrivilegeLength;
|
||||
PLUID_AND_ATTRIBUTES Privileges;
|
||||
LUID AuthenticationId;
|
||||
} TOKEN_GROUPS_AND_PRIVILEGES, *PTOKEN_GROUPS_AND_PRIVILEGES;
|
||||
|
||||
|
||||
|
||||
/* from ntseapi.h */
|
||||
|
||||
typedef struct _TOKEN_SECURITY_ATTRIBUTE_FQBN_VALUE
|
||||
{
|
||||
ULONG64 Version;
|
||||
UNICODE_STRING Name;
|
||||
} TOKEN_SECURITY_ATTRIBUTE_FQBN_VALUE, *PTOKEN_SECURITY_ATTRIBUTE_FQBN_VALUE;
|
||||
|
||||
typedef struct _TOKEN_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE
|
||||
{
|
||||
PVOID pValue;
|
||||
ULONG ValueLength;
|
||||
} TOKEN_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE, *PTOKEN_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE;
|
||||
|
||||
typedef union _TOKEN_SECURITY_ATTRIBUTE_V1_UNION {
|
||||
PLONG64 pInt64;
|
||||
PULONG64 pUint64;
|
||||
PUNICODE_STRING pString;
|
||||
PTOKEN_SECURITY_ATTRIBUTE_FQBN_VALUE pFqbn;
|
||||
PTOKEN_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE pOctetString;
|
||||
} TOKEN_SECURITY_ATTRIBUTE_V1_UNION;
|
||||
|
||||
|
||||
// private
|
||||
typedef struct _TOKEN_SECURITY_ATTRIBUTE_V1
|
||||
{
|
||||
UNICODE_STRING Name;
|
||||
USHORT ValueType;
|
||||
USHORT Reserved;
|
||||
ULONG Flags;
|
||||
ULONG ValueCount;
|
||||
TOKEN_SECURITY_ATTRIBUTE_V1_UNION Values;
|
||||
} TOKEN_SECURITY_ATTRIBUTE_V1, *PTOKEN_SECURITY_ATTRIBUTE_V1;
|
||||
|
||||
|
||||
typedef union _TOKEN_SECURITY_ATTRIBUTES_INFORMATION_UNION {
|
||||
PTOKEN_SECURITY_ATTRIBUTE_V1 pAttributeV1;
|
||||
} TOKEN_SECURITY_ATTRIBUTES_INFORMATION_UNION;
|
||||
|
||||
//private
|
||||
typedef struct _TOKEN_SECURITY_ATTRIBUTES_INFORMATION
|
||||
{
|
||||
USHORT Version;
|
||||
USHORT Reserved;
|
||||
ULONG AttributeCount;
|
||||
TOKEN_SECURITY_ATTRIBUTES_INFORMATION_UNION Attribute;
|
||||
} TOKEN_SECURITY_ATTRIBUTES_INFORMATION, *PTOKEN_SECURITY_ATTRIBUTES_INFORMATION;
|
||||
+31
-9
@@ -1,11 +1,3 @@
|
||||
typedef struct tagRECT
|
||||
{
|
||||
LONG left;
|
||||
LONG top;
|
||||
LONG right;
|
||||
LONG bottom;
|
||||
} RECT, *PRECT, *NPRECT, *LPRECT;
|
||||
|
||||
typedef struct tagRGBTRIPLE {
|
||||
BYTE rgbtBlue;
|
||||
BYTE rgbtGreen;
|
||||
@@ -71,4 +63,34 @@ typedef struct tagBITMAPINFO {
|
||||
typedef struct tagBITMAPCOREINFO {
|
||||
BITMAPCOREHEADER bmciHeader;
|
||||
RGBTRIPLE bmciColors[1];
|
||||
} BITMAPCOREINFO, *LPBITMAPCOREINFO, *PBITMAPCOREINFO;
|
||||
} BITMAPCOREINFO, *LPBITMAPCOREINFO, *PBITMAPCOREINFO;
|
||||
|
||||
typedef struct tagWNDCLASSEXA {
|
||||
UINT cbSize;
|
||||
UINT style;
|
||||
WNDPROC lpfnWndProc;
|
||||
INT cbClsExtra;
|
||||
INT cbWndExtra;
|
||||
HINSTANCE hInstance;
|
||||
HICON hIcon;
|
||||
HCURSOR hCursor;
|
||||
HBRUSH hbrBackground;
|
||||
LPCSTR lpszMenuName;
|
||||
LPCSTR lpszClassName;
|
||||
HICON hIconSm;
|
||||
} WNDCLASSEXA, *PWNDCLASSEXA, *LPWNDCLASSEXA;
|
||||
|
||||
typedef struct tagWNDCLASSEXW {
|
||||
UINT cbSize;
|
||||
UINT style;
|
||||
WNDPROC lpfnWndProc;
|
||||
INT cbClsExtra;
|
||||
INT cbWndExtra;
|
||||
HINSTANCE hInstance;
|
||||
HICON hIcon;
|
||||
HCURSOR hCursor;
|
||||
HBRUSH hbrBackground;
|
||||
LPWSTR lpszMenuName;
|
||||
LPWSTR lpszClassName;
|
||||
HICON hIconSm;
|
||||
} WNDCLASSEXW, *PWNDCLASSEXW, *LPWNDCLASSEXW;
|
||||
+538
-864
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,108 @@
|
||||
// API SET MAP Stuff
|
||||
// From apiset.h
|
||||
|
||||
|
||||
// Used in V6
|
||||
typedef struct _API_SET_VALUE_ENTRY {
|
||||
ULONG Flags;
|
||||
ULONG NameOffset;
|
||||
ULONG NameLength;
|
||||
ULONG ValueOffset;
|
||||
ULONG ValueLength;
|
||||
} API_SET_VALUE_ENTRY, *PAPI_SET_VALUE_ENTRY;
|
||||
|
||||
typedef struct _API_SET_NAMESPACE_ENTRY {
|
||||
ULONG Flags;
|
||||
ULONG NameOffset;
|
||||
ULONG NameLength;
|
||||
ULONG AliasOffset;
|
||||
ULONG AliasLength;
|
||||
ULONG DataOffset; // API_SET_VALUE_ARRAY
|
||||
} API_SET_NAMESPACE_ENTRY, *PAPI_SET_NAMESPACE_ENTRY;
|
||||
|
||||
|
||||
typedef struct _API_SET_NAMESPACE_ARRAY {
|
||||
ULONG Version;
|
||||
ULONG Size;
|
||||
ULONG Flags;
|
||||
ULONG Count;
|
||||
API_SET_NAMESPACE_ENTRY Array[ANYSIZE_ARRAY];
|
||||
} API_SET_NAMESPACE_ARRAY, *PAPI_SET_NAMESPACE_ARRAY;
|
||||
|
||||
|
||||
// Version 2
|
||||
|
||||
typedef struct _API_SET_VALUE_ENTRY_V2 {
|
||||
ULONG NameOffset;
|
||||
ULONG NameLength;
|
||||
ULONG ValueOffset;
|
||||
ULONG ValueLength;
|
||||
} API_SET_VALUE_ENTRY_V2, *PAPI_SET_VALUE_ENTRY_V2;
|
||||
|
||||
typedef struct _API_SET_VALUE_ARRAY_V2 {
|
||||
ULONG Count;
|
||||
API_SET_VALUE_ENTRY_V2 Array[ANYSIZE_ARRAY];
|
||||
} API_SET_VALUE_ARRAY_V2,*PAPI_SET_VALUE_ARRAY_V2;
|
||||
|
||||
typedef struct _API_SET_NAMESPACE_ENTRY_V2 {
|
||||
ULONG NameOffset;
|
||||
ULONG NameLength;
|
||||
ULONG DataOffset; // _API_SET_VALUE_ARRAY_V2
|
||||
} API_SET_NAMESPACE_ENTRY_V2, *PAPI_SET_NAMESPACE_ENTRY_V2;
|
||||
|
||||
typedef struct _API_SET_NAMESPACE_ARRAY_V2 {
|
||||
ULONG Version;
|
||||
ULONG Count;
|
||||
API_SET_NAMESPACE_ENTRY_V2 Array[ANYSIZE_ARRAY];
|
||||
} API_SET_NAMESPACE_ARRAY_V2, *PAPI_SET_NAMESPACE_ARRAY_V2;
|
||||
|
||||
// Version 4
|
||||
|
||||
typedef struct _API_SET_VALUE_ARRAY_V4 {
|
||||
ULONG GuessFlags;
|
||||
ULONG Count;
|
||||
API_SET_VALUE_ENTRY_V2 Array[ANYSIZE_ARRAY];
|
||||
} API_SET_VALUE_ARRAY_V4,*PAPI_SET_VALUE_ARRAY_V2;
|
||||
|
||||
typedef struct _API_SET_NAMESPACE_ARRAY_V4 {
|
||||
ULONG Version;
|
||||
ULONG Size;
|
||||
ULONG Flags;
|
||||
ULONG Count;
|
||||
API_SET_NAMESPACE_ENTRY Array[ANYSIZE_ARRAY];
|
||||
} API_SET_NAMESPACE_ARRAY_V4, *PAPI_SET_NAMESPACE_ARRAY_V4;
|
||||
|
||||
typedef struct _API_SET_NAMESPACE_ENTRY_V4 {
|
||||
ULONG Flags;
|
||||
ULONG NameOffset;
|
||||
ULONG NameLength;
|
||||
ULONG AliasOffset;
|
||||
ULONG AliasLength;
|
||||
ULONG DataOffset;
|
||||
} API_SET_NAMESPACE_ENTRY_V4, *PAPI_SET_NAMESPACE_ENTRY_V4;
|
||||
|
||||
|
||||
|
||||
// Version 6
|
||||
|
||||
typedef struct _API_SET_NAMESPACE_ENTRY_V6 {
|
||||
ULONG Flags;
|
||||
ULONG NameOffset;
|
||||
ULONG NameLength;
|
||||
ULONG HashedLength;
|
||||
ULONG ValueOffset;
|
||||
ULONG ValueCount;
|
||||
} API_SET_NAMESPACE_ENTRY_V6;
|
||||
|
||||
|
||||
typedef struct _API_SET_NAMESPACE_V6 {
|
||||
ULONG Version;
|
||||
ULONG Size;
|
||||
ULONG Flags;
|
||||
ULONG Count;
|
||||
ULONG EntryOffset;
|
||||
ULONG HashOffset;
|
||||
ULONG HashFactor;
|
||||
} API_SET_NAMESPACE_V6;
|
||||
|
||||
// STOP API-SET-MAP
|
||||
@@ -0,0 +1,71 @@
|
||||
typedef enum _BG_JOB_STATE{
|
||||
BG_JOB_STATE_QUEUED,
|
||||
BG_JOB_STATE_CONNECTING,
|
||||
BG_JOB_STATE_TRANSFERRING,
|
||||
BG_JOB_STATE_SUSPENDED,
|
||||
BG_JOB_STATE_ERROR,
|
||||
BG_JOB_STATE_TRANSIENT_ERROR,
|
||||
BG_JOB_STATE_TRANSFERRED,
|
||||
BG_JOB_STATE_ACKNOWLEDGED,
|
||||
BG_JOB_STATE_CANCELLED
|
||||
} BG_JOB_STATE;
|
||||
|
||||
|
||||
typedef enum _BG_JOB_PROXY_USAGE{
|
||||
BG_JOB_PROXY_USAGE_PRECONFIG,
|
||||
BG_JOB_PROXY_USAGE_NO_PROXY,
|
||||
BG_JOB_PROXY_USAGE_OVERRIDE,
|
||||
BG_JOB_PROXY_USAGE_AUTODETECT
|
||||
} BG_JOB_PROXY_USAGE;
|
||||
|
||||
|
||||
typedef enum _BG_JOB_PRIORITY{
|
||||
BG_JOB_PRIORITY_FOREGROUND,
|
||||
BG_JOB_PRIORITY_HIGH,
|
||||
BG_JOB_PRIORITY_NORMAL,
|
||||
BG_JOB_PRIORITY_LOW
|
||||
} BG_JOB_PRIORITY;
|
||||
|
||||
typedef enum _BG_ERROR_CONTEXT{
|
||||
BG_ERROR_CONTEXT_NONE = 0,
|
||||
BG_ERROR_CONTEXT_UNKNOWN = 1,
|
||||
BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER = 2,
|
||||
BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION = 3,
|
||||
BG_ERROR_CONTEXT_LOCAL_FILE = 4,
|
||||
BG_ERROR_CONTEXT_REMOTE_FILE = 5,
|
||||
BG_ERROR_CONTEXT_GENERAL_TRANSPORT = 6,
|
||||
BG_ERROR_CONTEXT_REMOTE_APPLICATION = 7
|
||||
} BG_ERROR_CONTEXT;
|
||||
|
||||
typedef enum _BG_JOB_TYPE{
|
||||
BG_JOB_TYPE_DOWNLOAD,
|
||||
BG_JOB_TYPE_UPLOAD,
|
||||
BG_JOB_TYPE_UPLOAD_REPLY
|
||||
} BG_JOB_TYPE;
|
||||
|
||||
typedef struct _BG_FILE_PROGRESS {
|
||||
UINT64 BytesTotal;
|
||||
UINT64 BytesTransferred;
|
||||
BOOL Completed;
|
||||
} BG_FILE_PROGRESS;
|
||||
|
||||
|
||||
typedef struct _BG_JOB_PROGRESS {
|
||||
UINT64 BytesTotal;
|
||||
UINT64 BytesTransferred;
|
||||
ULONG FilesTotal;
|
||||
ULONG FilesTransferred;
|
||||
} BG_JOB_PROGRESS;
|
||||
|
||||
|
||||
typedef struct _BG_FILE_INFO {
|
||||
LPWSTR RemoteName;
|
||||
LPWSTR LocalName;
|
||||
} BG_FILE_INFO;
|
||||
|
||||
|
||||
typedef struct _BG_JOB_TIMES {
|
||||
FILETIME CreationTime;
|
||||
FILETIME ModificationTime;
|
||||
FILETIME TransferCompletionTime;
|
||||
} BG_JOB_TIMES;
|
||||
@@ -0,0 +1,267 @@
|
||||
typedef struct _EVENTLOGRECORD {
|
||||
DWORD Length;
|
||||
DWORD Reserved;
|
||||
DWORD RecordNumber;
|
||||
DWORD TimeGenerated;
|
||||
DWORD TimeWritten;
|
||||
DWORD EventID;
|
||||
WORD EventType;
|
||||
WORD NumStrings;
|
||||
WORD EventCategory;
|
||||
WORD ReservedFlags;
|
||||
DWORD ClosingRecordNumber;
|
||||
DWORD StringOffset;
|
||||
DWORD UserSidLength;
|
||||
DWORD UserSidOffset;
|
||||
DWORD DataLength;
|
||||
DWORD DataOffset;
|
||||
} EVENTLOGRECORD, *PEVENTLOGRECORD;
|
||||
|
||||
typedef struct _EVENTLOG_FULL_INFORMATION {
|
||||
DWORD dwFull;
|
||||
} EVENTLOG_FULL_INFORMATION, *LPEVENTLOG_FULL_INFORMATION;
|
||||
|
||||
|
||||
typedef enum _EVT_VARIANT_TYPE {
|
||||
EvtVarTypeNull = 0,
|
||||
EvtVarTypeString = 1,
|
||||
EvtVarTypeAnsiString = 2,
|
||||
EvtVarTypeSByte = 3,
|
||||
EvtVarTypeByte = 4,
|
||||
EvtVarTypeInt16 = 5,
|
||||
EvtVarTypeUInt16 = 6,
|
||||
EvtVarTypeInt32 = 7,
|
||||
EvtVarTypeUInt32 = 8,
|
||||
EvtVarTypeInt64 = 9,
|
||||
EvtVarTypeUInt64 = 10,
|
||||
EvtVarTypeSingle = 11,
|
||||
EvtVarTypeDouble = 12,
|
||||
EvtVarTypeBoolean = 13,
|
||||
EvtVarTypeBinary = 14,
|
||||
EvtVarTypeGuid = 15,
|
||||
EvtVarTypeSizeT = 16,
|
||||
EvtVarTypeFileTime = 17,
|
||||
EvtVarTypeSysTime = 18,
|
||||
EvtVarTypeSid = 19,
|
||||
EvtVarTypeHexInt32 = 20,
|
||||
EvtVarTypeHexInt64 = 21,
|
||||
EvtVarTypeEvtHandle = 32,
|
||||
EvtVarTypeEvtXml = 35
|
||||
} EVT_VARIANT_TYPE;
|
||||
|
||||
|
||||
|
||||
|
||||
union _ANON_evt_variant_sub_union {
|
||||
BOOL BooleanVal;
|
||||
INT8 SByteVal;
|
||||
INT16 Int16Val;
|
||||
INT32 Int32Val;
|
||||
INT64 Int64Val;
|
||||
UINT8 ByteVal;
|
||||
UINT16 UInt16Val;
|
||||
UINT32 UInt32Val;
|
||||
UINT64 UInt64Val;
|
||||
FLOAT SingleVal;
|
||||
DOUBLE DoubleVal;
|
||||
ULONGLONG FileTimeVal;
|
||||
SYSTEMTIME *SysTimeVal;
|
||||
GUID *GuidVal;
|
||||
LPCWSTR StringVal;
|
||||
LPCSTR AnsiStringVal;
|
||||
PBYTE BinaryVal;
|
||||
PSID SidVal;
|
||||
SIZE_T SizeTVal;
|
||||
EVT_HANDLE EvtHandleVal;
|
||||
BOOL *BooleanArr;
|
||||
INT8 *SByteArr;
|
||||
INT16 *Int16Arr;
|
||||
INT32 *Int32Arr;
|
||||
INT64 *Int64Arr;
|
||||
UINT8 *ByteArr;
|
||||
UINT16 *UInt16Arr;
|
||||
UINT32 *UInt32Arr;
|
||||
UINT64 *UInt64Arr;
|
||||
FLOAT *SingleArr;
|
||||
DOUBLE *DoubleArr;
|
||||
FILETIME *FileTimeArr;
|
||||
SYSTEMTIME *SysTimeArr;
|
||||
GUID *GuidArr;
|
||||
LPWSTR *StringArr;
|
||||
LPSTR *AnsiStringArr;
|
||||
PSID *SidArr;
|
||||
SIZE_T *SizeTArr;
|
||||
LPCWSTR XmlVal;
|
||||
LPCWSTR* XmlValArr;
|
||||
};
|
||||
|
||||
typedef struct _EVT_VARIANT {
|
||||
_ANON_evt_variant_sub_union _VARIANT_VALUE;
|
||||
DWORD Count;
|
||||
DWORD Type;
|
||||
} EVT_VARIANT, *PEVT_VARIANT;
|
||||
|
||||
|
||||
typedef enum _EVT_RENDER_CONTEXT_FLAGS {
|
||||
EvtRenderContextValues = 0,
|
||||
EvtRenderContextSystem = 1,
|
||||
EvtRenderContextUser = 2
|
||||
} EVT_RENDER_CONTEXT_FLAGS;
|
||||
|
||||
|
||||
typedef enum _EVT_SYSTEM_PROPERTY_ID {
|
||||
EvtSystemProviderName,
|
||||
EvtSystemProviderGuid,
|
||||
EvtSystemEventID,
|
||||
EvtSystemQualifiers,
|
||||
EvtSystemLevel,
|
||||
EvtSystemTask,
|
||||
EvtSystemOpcode,
|
||||
EvtSystemKeywords,
|
||||
EvtSystemTimeCreated,
|
||||
EvtSystemEventRecordId,
|
||||
EvtSystemActivityID,
|
||||
EvtSystemRelatedActivityID,
|
||||
EvtSystemProcessID,
|
||||
EvtSystemThreadID,
|
||||
EvtSystemChannel,
|
||||
EvtSystemComputer,
|
||||
EvtSystemUserID,
|
||||
EvtSystemVersion,
|
||||
EvtSystemPropertyIdEND
|
||||
} EVT_SYSTEM_PROPERTY_ID;
|
||||
|
||||
|
||||
typedef enum _EVT_RENDER_FLAGS {
|
||||
EvtRenderEventValues = 0,
|
||||
EvtRenderEventXml = 1,
|
||||
EvtRenderBookmark = 2
|
||||
} EVT_RENDER_FLAGS;
|
||||
|
||||
|
||||
typedef enum _EVT_QUERY_FLAGS {
|
||||
EvtQueryChannelPath = 0x1,
|
||||
EvtQueryFilePath = 0x2,
|
||||
EvtQueryForwardDirection = 0x100,
|
||||
EvtQueryReverseDirection = 0x200,
|
||||
EvtQueryTolerateQueryErrors = 0x1000
|
||||
} EVT_QUERY_FLAGS;
|
||||
|
||||
|
||||
typedef enum _EVT_LOG_PROPERTY_ID {
|
||||
EvtLogCreationTime = 0,
|
||||
EvtLogLastAccessTime = 1,
|
||||
EvtLogLastWriteTime = 2,
|
||||
EvtLogFileSize = 3,
|
||||
EvtLogAttributes = 4,
|
||||
EvtLogNumberOfLogRecords = 5,
|
||||
EvtLogOldestRecordNumber = 6,
|
||||
EvtLogFull = 7
|
||||
} EVT_LOG_PROPERTY_ID;
|
||||
|
||||
typedef enum _EVT_OPEN_LOG_FLAGS {
|
||||
EvtOpenChannelPath = 0x1,
|
||||
EvtOpenFilePath = 0x2
|
||||
} EVT_OPEN_LOG_FLAGS;
|
||||
|
||||
|
||||
typedef enum _EVT_CHANNEL_CONFIG_PROPERTY_ID {
|
||||
EvtChannelConfigEnabled = 0,
|
||||
EvtChannelConfigIsolation = 1,
|
||||
EvtChannelConfigType = 2,
|
||||
EvtChannelConfigOwningPublisher = 3,
|
||||
EvtChannelConfigClassicEventlog = 4,
|
||||
EvtChannelConfigAccess = 5,
|
||||
EvtChannelLoggingConfigRetention = 6,
|
||||
EvtChannelLoggingConfigAutoBackup = 7,
|
||||
EvtChannelLoggingConfigMaxSize = 8,
|
||||
EvtChannelLoggingConfigLogFilePath = 9,
|
||||
EvtChannelPublishingConfigLevel = 10,
|
||||
EvtChannelPublishingConfigKeywords = 11,
|
||||
EvtChannelPublishingConfigControlGuid = 12,
|
||||
EvtChannelPublishingConfigBufferSize = 13,
|
||||
EvtChannelPublishingConfigMinBuffers = 14,
|
||||
EvtChannelPublishingConfigMaxBuffers = 15,
|
||||
EvtChannelPublishingConfigLatency = 16,
|
||||
EvtChannelPublishingConfigClockType = 17,
|
||||
EvtChannelPublishingConfigSidType = 18,
|
||||
EvtChannelPublisherList = 19,
|
||||
EvtChannelPublishingConfigFileMax = 20,
|
||||
EvtChannelConfigPropertyIdEND = 21
|
||||
} EVT_CHANNEL_CONFIG_PROPERTY_ID;
|
||||
|
||||
|
||||
typedef enum _EVT_CHANNEL_TYPE{
|
||||
EvtChannelTypeAdmin = 0,
|
||||
EvtChannelTypeOperational = 1,
|
||||
EvtChannelTypeAnalytic = 2,
|
||||
EvtChannelTypeDebug = 3
|
||||
} EVT_CHANNEL_TYPE;
|
||||
|
||||
typedef enum _EVT_CHANNEL_ISOLATION_TYPE{
|
||||
EvtChannelIsolationTypeApplication = 0,
|
||||
EvtChannelIsolationTypeSystem = 1,
|
||||
EvtChannelIsolationTypeCustom = 2
|
||||
} EVT_CHANNEL_ISOLATION_TYPE;
|
||||
|
||||
|
||||
typedef enum _EVT_EVENT_METADATA_PROPERTY_ID {
|
||||
EventMetadataEventID = 0,
|
||||
EventMetadataEventVersion = 1,
|
||||
EventMetadataEventChannel = 2,
|
||||
EventMetadataEventLevel = 3,
|
||||
EventMetadataEventOpcode = 4,
|
||||
EventMetadataEventTask = 5,
|
||||
EventMetadataEventKeyword = 6,
|
||||
EventMetadataEventMessageID = 7,
|
||||
EventMetadataEventTemplate = 8,
|
||||
EvtEventMetadataPropertyIdEND = 9
|
||||
} EVT_EVENT_METADATA_PROPERTY_ID;
|
||||
|
||||
|
||||
typedef enum _EVT_PUBLISHER_METADATA_PROPERTY_ID {
|
||||
EvtPublisherMetadataPublisherGuid,
|
||||
EvtPublisherMetadataResourceFilePath,
|
||||
EvtPublisherMetadataParameterFilePath,
|
||||
EvtPublisherMetadataMessageFilePath,
|
||||
EvtPublisherMetadataHelpLink,
|
||||
EvtPublisherMetadataPublisherMessageID,
|
||||
EvtPublisherMetadataChannelReferences,
|
||||
EvtPublisherMetadataChannelReferencePath,
|
||||
EvtPublisherMetadataChannelReferenceIndex,
|
||||
EvtPublisherMetadataChannelReferenceID,
|
||||
EvtPublisherMetadataChannelReferenceFlags,
|
||||
EvtPublisherMetadataChannelReferenceMessageID,
|
||||
EvtPublisherMetadataLevels,
|
||||
EvtPublisherMetadataLevelName,
|
||||
EvtPublisherMetadataLevelValue,
|
||||
EvtPublisherMetadataLevelMessageID,
|
||||
EvtPublisherMetadataTasks,
|
||||
EvtPublisherMetadataTaskName,
|
||||
EvtPublisherMetadataTaskEventGuid,
|
||||
EvtPublisherMetadataTaskValue,
|
||||
EvtPublisherMetadataTaskMessageID,
|
||||
EvtPublisherMetadataOpcodes,
|
||||
EvtPublisherMetadataOpcodeName,
|
||||
EvtPublisherMetadataOpcodeValue,
|
||||
EvtPublisherMetadataOpcodeMessageID,
|
||||
EvtPublisherMetadataKeywords,
|
||||
EvtPublisherMetadataKeywordName,
|
||||
EvtPublisherMetadataKeywordValue,
|
||||
EvtPublisherMetadataKeywordMessageID,
|
||||
EvtPublisherMetadataPropertyIdEND
|
||||
} EVT_PUBLISHER_METADATA_PROPERTY_ID;
|
||||
|
||||
|
||||
typedef enum _EVT_FORMAT_MESSAGE_FLAGS {
|
||||
EvtFormatMessageEvent = 1,
|
||||
EvtFormatMessageLevel = 2,
|
||||
EvtFormatMessageTask = 3,
|
||||
EvtFormatMessageOpcode = 4,
|
||||
EvtFormatMessageKeyword = 5,
|
||||
EvtFormatMessageChannel = 6,
|
||||
EvtFormatMessageProvider = 7,
|
||||
EvtFormatMessageId = 8,
|
||||
EvtFormatMessageXml = 9
|
||||
} EVT_FORMAT_MESSAGE_FLAGS;
|
||||
|
||||
@@ -0,0 +1,257 @@
|
||||
typedef /* [v1_enum] */
|
||||
enum tag_WBEM_GENUS_TYPE
|
||||
{
|
||||
WBEM_GENUS_CLASS = 1,
|
||||
WBEM_GENUS_INSTANCE = 2
|
||||
} WBEM_GENUS_TYPE;
|
||||
|
||||
|
||||
typedef /* [v1_enum] */
|
||||
enum tag_WBEM_CHANGE_FLAG_TYPE
|
||||
{
|
||||
WBEM_FLAG_CREATE_OR_UPDATE = 0,
|
||||
WBEM_FLAG_UPDATE_ONLY = 0x1,
|
||||
WBEM_FLAG_CREATE_ONLY = 0x2,
|
||||
WBEM_FLAG_UPDATE_COMPATIBLE = 0,
|
||||
WBEM_FLAG_UPDATE_SAFE_MODE = 0x20,
|
||||
WBEM_FLAG_UPDATE_FORCE_MODE = 0x40,
|
||||
WBEM_MASK_UPDATE_MODE = 0x60,
|
||||
WBEM_FLAG_ADVISORY = 0x10000
|
||||
} WBEM_CHANGE_FLAG_TYPE;
|
||||
|
||||
|
||||
typedef enum tag_WBEMSTATUS {
|
||||
WBEM_NO_ERROR = 0,
|
||||
WBEM_S_NO_ERROR = 0,
|
||||
WBEM_S_SAME = 0,
|
||||
WBEM_S_FALSE = 1,
|
||||
WBEM_S_ALREADY_EXISTS = 0x40001,
|
||||
WBEM_S_RESET_TO_DEFAULT = 0x40002,
|
||||
WBEM_S_DIFFERENT = 0x40003,
|
||||
WBEM_S_TIMEDOUT = 0x40004,
|
||||
WBEM_S_NO_MORE_DATA = 0x40005,
|
||||
WBEM_S_OPERATION_CANCELLED = 0x40006,
|
||||
WBEM_S_PENDING = 0x40007,
|
||||
WBEM_S_DUPLICATE_OBJECTS = 0x40008,
|
||||
WBEM_S_ACCESS_DENIED = 0x40009,
|
||||
WBEM_S_PARTIAL_RESULTS = 0x40010,
|
||||
WBEM_S_SOURCE_NOT_AVAILABLE = 0x40017,
|
||||
WBEM_E_FAILED = 0x80041001,
|
||||
WBEM_E_NOT_FOUND = 0x80041002,
|
||||
WBEM_E_ACCESS_DENIED = 0x80041003,
|
||||
WBEM_E_PROVIDER_FAILURE = 0x80041004,
|
||||
WBEM_E_TYPE_MISMATCH = 0x80041005,
|
||||
WBEM_E_OUT_OF_MEMORY = 0x80041006,
|
||||
WBEM_E_INVALID_CONTEXT = 0x80041007,
|
||||
WBEM_E_INVALID_PARAMETER = 0x80041008,
|
||||
WBEM_E_NOT_AVAILABLE = 0x80041009,
|
||||
WBEM_E_CRITICAL_ERROR = 0x8004100a,
|
||||
WBEM_E_INVALID_STREAM = 0x8004100b,
|
||||
WBEM_E_NOT_SUPPORTED = 0x8004100c,
|
||||
WBEM_E_INVALID_SUPERCLASS = 0x8004100d,
|
||||
WBEM_E_INVALID_NAMESPACE = 0x8004100e,
|
||||
WBEM_E_INVALID_OBJECT = 0x8004100f,
|
||||
WBEM_E_INVALID_CLASS = 0x80041010,
|
||||
WBEM_E_PROVIDER_NOT_FOUND = 0x80041011,
|
||||
WBEM_E_INVALID_PROVIDER_REGISTRATION = 0x80041012,
|
||||
WBEM_E_PROVIDER_LOAD_FAILURE = 0x80041013,
|
||||
WBEM_E_INITIALIZATION_FAILURE = 0x80041014,
|
||||
WBEM_E_TRANSPORT_FAILURE = 0x80041015,
|
||||
WBEM_E_INVALID_OPERATION = 0x80041016,
|
||||
WBEM_E_INVALID_QUERY = 0x80041017,
|
||||
WBEM_E_INVALID_QUERY_TYPE = 0x80041018,
|
||||
WBEM_E_ALREADY_EXISTS = 0x80041019,
|
||||
WBEM_E_OVERRIDE_NOT_ALLOWED = 0x8004101a,
|
||||
WBEM_E_PROPAGATED_QUALIFIER = 0x8004101b,
|
||||
WBEM_E_PROPAGATED_PROPERTY = 0x8004101c,
|
||||
WBEM_E_UNEXPECTED = 0x8004101d,
|
||||
WBEM_E_ILLEGAL_OPERATION = 0x8004101e,
|
||||
WBEM_E_CANNOT_BE_KEY = 0x8004101f,
|
||||
WBEM_E_INCOMPLETE_CLASS = 0x80041020,
|
||||
WBEM_E_INVALID_SYNTAX = 0x80041021,
|
||||
WBEM_E_NONDECORATED_OBJECT = 0x80041022,
|
||||
WBEM_E_READ_ONLY = 0x80041023,
|
||||
WBEM_E_PROVIDER_NOT_CAPABLE = 0x80041024,
|
||||
WBEM_E_CLASS_HAS_CHILDREN = 0x80041025,
|
||||
WBEM_E_CLASS_HAS_INSTANCES = 0x80041026,
|
||||
WBEM_E_QUERY_NOT_IMPLEMENTED = 0x80041027,
|
||||
WBEM_E_ILLEGAL_NULL = 0x80041028,
|
||||
WBEM_E_INVALID_QUALIFIER_TYPE = 0x80041029,
|
||||
WBEM_E_INVALID_PROPERTY_TYPE = 0x8004102a,
|
||||
WBEM_E_VALUE_OUT_OF_RANGE = 0x8004102b,
|
||||
WBEM_E_CANNOT_BE_SINGLETON = 0x8004102c,
|
||||
WBEM_E_INVALID_CIM_TYPE = 0x8004102d,
|
||||
WBEM_E_INVALID_METHOD = 0x8004102e,
|
||||
WBEM_E_INVALID_METHOD_PARAMETERS = 0x8004102f,
|
||||
WBEM_E_SYSTEM_PROPERTY = 0x80041030,
|
||||
WBEM_E_INVALID_PROPERTY = 0x80041031,
|
||||
WBEM_E_CALL_CANCELLED = 0x80041032,
|
||||
WBEM_E_SHUTTING_DOWN = 0x80041033,
|
||||
WBEM_E_PROPAGATED_METHOD = 0x80041034,
|
||||
WBEM_E_UNSUPPORTED_PARAMETER = 0x80041035,
|
||||
WBEM_E_MISSING_PARAMETER_ID = 0x80041036,
|
||||
WBEM_E_INVALID_PARAMETER_ID = 0x80041037,
|
||||
WBEM_E_NONCONSECUTIVE_PARAMETER_IDS = 0x80041038,
|
||||
WBEM_E_PARAMETER_ID_ON_RETVAL = 0x80041039,
|
||||
WBEM_E_INVALID_OBJECT_PATH = 0x8004103a,
|
||||
WBEM_E_OUT_OF_DISK_SPACE = 0x8004103b,
|
||||
WBEM_E_BUFFER_TOO_SMALL = 0x8004103c,
|
||||
WBEM_E_UNSUPPORTED_PUT_EXTENSION = 0x8004103d,
|
||||
WBEM_E_UNKNOWN_OBJECT_TYPE = 0x8004103e,
|
||||
WBEM_E_UNKNOWN_PACKET_TYPE = 0x8004103f,
|
||||
WBEM_E_MARSHAL_VERSION_MISMATCH = 0x80041040,
|
||||
WBEM_E_MARSHAL_INVALID_SIGNATURE = 0x80041041,
|
||||
WBEM_E_INVALID_QUALIFIER = 0x80041042,
|
||||
WBEM_E_INVALID_DUPLICATE_PARAMETER = 0x80041043,
|
||||
WBEM_E_TOO_MUCH_DATA = 0x80041044,
|
||||
WBEM_E_SERVER_TOO_BUSY = 0x80041045,
|
||||
WBEM_E_INVALID_FLAVOR = 0x80041046,
|
||||
WBEM_E_CIRCULAR_REFERENCE = 0x80041047,
|
||||
WBEM_E_UNSUPPORTED_CLASS_UPDATE = 0x80041048,
|
||||
WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE = 0x80041049,
|
||||
WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE = 0x80041050,
|
||||
WBEM_E_TOO_MANY_PROPERTIES = 0x80041051,
|
||||
WBEM_E_UPDATE_TYPE_MISMATCH = 0x80041052,
|
||||
WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED = 0x80041053,
|
||||
WBEM_E_UPDATE_PROPAGATED_METHOD = 0x80041054,
|
||||
WBEM_E_METHOD_NOT_IMPLEMENTED = 0x80041055,
|
||||
WBEM_E_METHOD_DISABLED = 0x80041056,
|
||||
WBEM_E_REFRESHER_BUSY = 0x80041057,
|
||||
WBEM_E_UNPARSABLE_QUERY = 0x80041058,
|
||||
WBEM_E_NOT_EVENT_CLASS = 0x80041059,
|
||||
WBEM_E_MISSING_GROUP_WITHIN = 0x8004105a,
|
||||
WBEM_E_MISSING_AGGREGATION_LIST = 0x8004105b,
|
||||
WBEM_E_PROPERTY_NOT_AN_OBJECT = 0x8004105c,
|
||||
WBEM_E_AGGREGATING_BY_OBJECT = 0x8004105d,
|
||||
WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY = 0x8004105f,
|
||||
WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING = 0x80041060,
|
||||
WBEM_E_QUEUE_OVERFLOW = 0x80041061,
|
||||
WBEM_E_PRIVILEGE_NOT_HELD = 0x80041062,
|
||||
WBEM_E_INVALID_OPERATOR = 0x80041063,
|
||||
WBEM_E_LOCAL_CREDENTIALS = 0x80041064,
|
||||
WBEM_E_CANNOT_BE_ABSTRACT = 0x80041065,
|
||||
WBEM_E_AMENDED_OBJECT = 0x80041066,
|
||||
WBEM_E_CLIENT_TOO_SLOW = 0x80041067,
|
||||
WBEM_E_NULL_SECURITY_DESCRIPTOR = 0x80041068,
|
||||
WBEM_E_TIMED_OUT = 0x80041069,
|
||||
WBEM_E_INVALID_ASSOCIATION = 0x8004106a,
|
||||
WBEM_E_AMBIGUOUS_OPERATION = 0x8004106b,
|
||||
WBEM_E_QUOTA_VIOLATION = 0x8004106c,
|
||||
WBEM_E_RESERVED_001 = 0x8004106d,
|
||||
WBEM_E_RESERVED_002 = 0x8004106e,
|
||||
WBEM_E_UNSUPPORTED_LOCALE = 0x8004106f,
|
||||
WBEM_E_HANDLE_OUT_OF_DATE = 0x80041070,
|
||||
WBEM_E_CONNECTION_FAILED = 0x80041071,
|
||||
WBEM_E_INVALID_HANDLE_REQUEST = 0x80041072,
|
||||
WBEM_E_PROPERTY_NAME_TOO_WIDE = 0x80041073,
|
||||
WBEM_E_CLASS_NAME_TOO_WIDE = 0x80041074,
|
||||
WBEM_E_METHOD_NAME_TOO_WIDE = 0x80041075,
|
||||
WBEM_E_QUALIFIER_NAME_TOO_WIDE = 0x80041076,
|
||||
WBEM_E_RERUN_COMMAND = 0x80041077,
|
||||
WBEM_E_DATABASE_VER_MISMATCH = 0x80041078,
|
||||
WBEM_E_VETO_DELETE = 0x80041079,
|
||||
WBEM_E_VETO_PUT = 0x8004107a,
|
||||
WBEM_E_INVALID_LOCALE = 0x80041080,
|
||||
WBEM_E_PROVIDER_SUSPENDED = 0x80041081,
|
||||
WBEM_E_SYNCHRONIZATION_REQUIRED = 0x80041082,
|
||||
WBEM_E_NO_SCHEMA = 0x80041083,
|
||||
WBEM_E_PROVIDER_ALREADY_REGISTERED = 0x80041084,
|
||||
WBEM_E_PROVIDER_NOT_REGISTERED = 0x80041085,
|
||||
WBEM_E_FATAL_TRANSPORT_ERROR = 0x80041086,
|
||||
WBEM_E_ENCRYPTED_CONNECTION_REQUIRED = 0x80041087,
|
||||
WBEM_E_PROVIDER_TIMED_OUT = 0x80041088,
|
||||
WBEM_E_NO_KEY = 0x80041089,
|
||||
WBEM_E_PROVIDER_DISABLED = 0x8004108a,
|
||||
WBEMESS_E_REGISTRATION_TOO_BROAD = 0x80042001,
|
||||
WBEMESS_E_REGISTRATION_TOO_PRECISE = 0x80042002,
|
||||
WBEMESS_E_AUTHZ_NOT_PRIVILEGED = 0x80042003,
|
||||
WBEMMOF_E_EXPECTED_QUALIFIER_NAME = 0x80044001,
|
||||
WBEMMOF_E_EXPECTED_SEMI = 0x80044002,
|
||||
WBEMMOF_E_EXPECTED_OPEN_BRACE = 0x80044003,
|
||||
WBEMMOF_E_EXPECTED_CLOSE_BRACE = 0x80044004,
|
||||
WBEMMOF_E_EXPECTED_CLOSE_BRACKET = 0x80044005,
|
||||
WBEMMOF_E_EXPECTED_CLOSE_PAREN = 0x80044006,
|
||||
WBEMMOF_E_ILLEGAL_CONSTANT_VALUE = 0x80044007,
|
||||
WBEMMOF_E_EXPECTED_TYPE_IDENTIFIER = 0x80044008,
|
||||
WBEMMOF_E_EXPECTED_OPEN_PAREN = 0x80044009,
|
||||
WBEMMOF_E_UNRECOGNIZED_TOKEN = 0x8004400a,
|
||||
WBEMMOF_E_UNRECOGNIZED_TYPE = 0x8004400b,
|
||||
WBEMMOF_E_EXPECTED_PROPERTY_NAME = 0x8004400c,
|
||||
WBEMMOF_E_TYPEDEF_NOT_SUPPORTED = 0x8004400d,
|
||||
WBEMMOF_E_UNEXPECTED_ALIAS = 0x8004400e,
|
||||
WBEMMOF_E_UNEXPECTED_ARRAY_INIT = 0x8004400f,
|
||||
WBEMMOF_E_INVALID_AMENDMENT_SYNTAX = 0x80044010,
|
||||
WBEMMOF_E_INVALID_DUPLICATE_AMENDMENT = 0x80044011,
|
||||
WBEMMOF_E_INVALID_PRAGMA = 0x80044012,
|
||||
WBEMMOF_E_INVALID_NAMESPACE_SYNTAX = 0x80044013,
|
||||
WBEMMOF_E_EXPECTED_CLASS_NAME = 0x80044014,
|
||||
WBEMMOF_E_TYPE_MISMATCH = 0x80044015,
|
||||
WBEMMOF_E_EXPECTED_ALIAS_NAME = 0x80044016,
|
||||
WBEMMOF_E_INVALID_CLASS_DECLARATION = 0x80044017,
|
||||
WBEMMOF_E_INVALID_INSTANCE_DECLARATION = 0x80044018,
|
||||
WBEMMOF_E_EXPECTED_DOLLAR = 0x80044019,
|
||||
WBEMMOF_E_CIMTYPE_QUALIFIER = 0x8004401a,
|
||||
WBEMMOF_E_DUPLICATE_PROPERTY = 0x8004401b,
|
||||
WBEMMOF_E_INVALID_NAMESPACE_SPECIFICATION = 0x8004401c,
|
||||
WBEMMOF_E_OUT_OF_RANGE = 0x8004401d,
|
||||
WBEMMOF_E_INVALID_FILE = 0x8004401e,
|
||||
WBEMMOF_E_ALIASES_IN_EMBEDDED = 0x8004401f,
|
||||
WBEMMOF_E_NULL_ARRAY_ELEM = 0x80044020,
|
||||
WBEMMOF_E_DUPLICATE_QUALIFIER = 0x80044021,
|
||||
WBEMMOF_E_EXPECTED_FLAVOR_TYPE = 0x80044022,
|
||||
WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES = 0x80044023,
|
||||
WBEMMOF_E_MULTIPLE_ALIASES = 0x80044024,
|
||||
WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES2 = 0x80044025,
|
||||
WBEMMOF_E_NO_ARRAYS_RETURNED = 0x80044026,
|
||||
WBEMMOF_E_MUST_BE_IN_OR_OUT = 0x80044027,
|
||||
WBEMMOF_E_INVALID_FLAGS_SYNTAX = 0x80044028,
|
||||
WBEMMOF_E_EXPECTED_BRACE_OR_BAD_TYPE = 0x80044029,
|
||||
WBEMMOF_E_UNSUPPORTED_CIMV22_QUAL_VALUE = 0x8004402a,
|
||||
WBEMMOF_E_UNSUPPORTED_CIMV22_DATA_TYPE = 0x8004402b,
|
||||
WBEMMOF_E_INVALID_DELETEINSTANCE_SYNTAX = 0x8004402c,
|
||||
WBEMMOF_E_INVALID_QUALIFIER_SYNTAX = 0x8004402d,
|
||||
WBEMMOF_E_QUALIFIER_USED_OUTSIDE_SCOPE = 0x8004402e,
|
||||
WBEMMOF_E_ERROR_CREATING_TEMP_FILE = 0x8004402f,
|
||||
WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE = 0x80044030,
|
||||
WBEMMOF_E_INVALID_DELETECLASS_SYNTAX = 0x80044031
|
||||
} WBEMSTATUS;
|
||||
|
||||
|
||||
typedef enum tag_WBEM_TIMEOUT_TYPE
|
||||
{
|
||||
WBEM_NO_WAIT = 0,
|
||||
WBEM_INFINITE = 0xffffffff
|
||||
} WBEM_TIMEOUT_TYPE;
|
||||
|
||||
typedef enum tag_WBEM_GENERIC_FLAG_TYPE {
|
||||
WBEM_FLAG_RETURN_IMMEDIATELY = 0x10,
|
||||
WBEM_FLAG_RETURN_WBEM_COMPLETE = 0,
|
||||
WBEM_FLAG_BIDIRECTIONAL = 0,
|
||||
WBEM_FLAG_FORWARD_ONLY = 0x20,
|
||||
WBEM_FLAG_NO_ERROR_OBJECT = 0x40,
|
||||
WBEM_FLAG_RETURN_ERROR_OBJECT = 0,
|
||||
WBEM_FLAG_SEND_STATUS = 0x80,
|
||||
WBEM_FLAG_DONT_SEND_STATUS = 0,
|
||||
WBEM_FLAG_ENSURE_LOCATABLE = 0x100,
|
||||
WBEM_FLAG_DIRECT_READ = 0x200,
|
||||
WBEM_FLAG_SEND_ONLY_SELECTED = 0,
|
||||
WBEM_RETURN_WHEN_COMPLETE = 0,
|
||||
WBEM_RETURN_IMMEDIATELY = 0x10,
|
||||
WBEM_MASK_RESERVED_FLAGS = 0x1f000,
|
||||
WBEM_FLAG_USE_AMENDED_QUALIFIERS = 0x20000,
|
||||
WBEM_FLAG_STRONG_VALIDATION = 0x100000
|
||||
} WBEM_GENERIC_FLAG_TYPE;
|
||||
|
||||
|
||||
typedef enum tag_WBEM_CONNECT_OPTIONS {
|
||||
WBEM_FLAG_CONNECT_REPOSITORY_ONLY = 0x40,
|
||||
WBEM_FLAG_CONNECT_USE_MAX_WAIT = 0x80,
|
||||
WBEM_FLAG_CONNECT_PROVIDERS = 0x100
|
||||
} WBEM_CONNECT_OPTIONS;
|
||||
|
||||
|
||||
typedef enum tag_WBEM_QUERY_FLAG_TYPE {
|
||||
WBEM_FLAG_DEEP = 0,
|
||||
WBEM_FLAG_SHALLOW = 1,
|
||||
WBEM_FLAG_PROTOTYPE = 2
|
||||
} WBEM_QUERY_FLAG_TYPE;
|
||||
@@ -1,250 +0,0 @@
|
||||
#define CERT_QUERY_OBJECT_FILE 0x00000001
|
||||
#define CERT_QUERY_OBJECT_BLOB 0x00000002
|
||||
|
||||
#define CERT_QUERY_CONTENT_CERT 1
|
||||
#define CERT_QUERY_CONTENT_CTL 2
|
||||
#define CERT_QUERY_CONTENT_CRL 3
|
||||
#define CERT_QUERY_CONTENT_SERIALIZED_STORE 4
|
||||
#define CERT_QUERY_CONTENT_SERIALIZED_CERT 5
|
||||
#define CERT_QUERY_CONTENT_SERIALIZED_CTL 6
|
||||
#define CERT_QUERY_CONTENT_SERIALIZED_CRL 7
|
||||
#define CERT_QUERY_CONTENT_PKCS7_SIGNED 8
|
||||
#define CERT_QUERY_CONTENT_PKCS7_UNSIGNED 9
|
||||
#define CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED 10
|
||||
#define CERT_QUERY_CONTENT_PKCS10 11
|
||||
#define CERT_QUERY_CONTENT_PFX 12
|
||||
#define CERT_QUERY_CONTENT_CERT_PAIR 13
|
||||
#define CERT_QUERY_CONTENT_PFX_AND_LOAD 14
|
||||
|
||||
#define CERT_QUERY_FORMAT_BINARY 1
|
||||
#define CERT_QUERY_FORMAT_BASE64_ENCODED 2
|
||||
#define CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED 3
|
||||
|
||||
#define CERT_QUERY_FORMAT_FLAG_BINARY ( 1 << CERT_QUERY_FORMAT_BINARY)
|
||||
|
||||
#define CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED ( 1 << CERT_QUERY_FORMAT_BASE64_ENCODED)
|
||||
|
||||
#define CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED ( 1 << CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED)
|
||||
|
||||
#define CERT_QUERY_FORMAT_FLAG_ALL (CERT_QUERY_FORMAT_FLAG_BINARY | CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED | CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED)
|
||||
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_CERT ( 1 << CERT_QUERY_CONTENT_CERT)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_CTL ( 1 << CERT_QUERY_CONTENT_CTL)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_CRL ( 1 << CERT_QUERY_CONTENT_CRL)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE ( 1 << CERT_QUERY_CONTENT_SERIALIZED_STORE)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT ( 1 << CERT_QUERY_CONTENT_SERIALIZED_CERT)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL ( 1 << CERT_QUERY_CONTENT_SERIALIZED_CTL)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL ( 1 << CERT_QUERY_CONTENT_SERIALIZED_CRL)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED ( 1 << CERT_QUERY_CONTENT_PKCS7_SIGNED)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED ( 1 << CERT_QUERY_CONTENT_PKCS7_UNSIGNED)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED ( 1 << CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_PKCS10 ( 1 << CERT_QUERY_CONTENT_PKCS10)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_PFX ( 1 << CERT_QUERY_CONTENT_PFX)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_CERT_PAIR ( 1 << CERT_QUERY_CONTENT_CERT_PAIR)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD ( 1 << CERT_QUERY_CONTENT_PFX_AND_LOAD)
|
||||
|
||||
#define CERT_QUERY_CONTENT_FLAG_ALL ( CERT_QUERY_CONTENT_FLAG_CERT | CERT_QUERY_CONTENT_FLAG_CTL | CERT_QUERY_CONTENT_FLAG_CRL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED | CERT_QUERY_CONTENT_FLAG_PKCS10 | CERT_QUERY_CONTENT_FLAG_PFX | CERT_QUERY_CONTENT_FLAG_CERT_PAIR )
|
||||
|
||||
|
||||
|
||||
#define CRYPT_ASN_ENCODING 0x00000001
|
||||
#define CRYPT_NDR_ENCODING 0x00000002
|
||||
#define X509_ASN_ENCODING 0x00000001
|
||||
#define X509_NDR_ENCODING 0x00000002
|
||||
#define PKCS_7_ASN_ENCODING 0x00010000
|
||||
#define PKCS_7_NDR_ENCODING 0x00020000
|
||||
|
||||
#define CERT_ENCODING_TYPE_MASK 0x0000FFFF
|
||||
#define CMSG_ENCODING_TYPE_MASK 0xFFFF0000
|
||||
|
||||
|
||||
#define CERT_COMPARE_MASK 0xFFFF
|
||||
#define CERT_COMPARE_SHIFT 16
|
||||
#define CERT_COMPARE_ANY 0
|
||||
#define CERT_COMPARE_SHA1_HASH 1
|
||||
#define CERT_COMPARE_NAME 2
|
||||
#define CERT_COMPARE_ATTR 3
|
||||
#define CERT_COMPARE_MD5_HASH 4
|
||||
#define CERT_COMPARE_PROPERTY 5
|
||||
#define CERT_COMPARE_PUBLIC_KEY 6
|
||||
#define CERT_COMPARE_HASH CERT_COMPARE_SHA1_HASH
|
||||
#define CERT_COMPARE_NAME_STR_A 7
|
||||
#define CERT_COMPARE_NAME_STR_W 8
|
||||
#define CERT_COMPARE_KEY_SPEC 9
|
||||
#define CERT_COMPARE_ENHKEY_USAGE 10
|
||||
#define CERT_COMPARE_CTL_USAGE CERT_COMPARE_ENHKEY_USAGE
|
||||
#define CERT_COMPARE_SUBJECT_CERT 11
|
||||
#define CERT_COMPARE_ISSUER_OF 12
|
||||
#define CERT_COMPARE_EXISTING 13
|
||||
#define CERT_COMPARE_SIGNATURE_HASH 14
|
||||
#define CERT_COMPARE_KEY_IDENTIFIER 15
|
||||
#define CERT_COMPARE_CERT_ID 16
|
||||
#define CERT_COMPARE_CROSS_CERT_DIST_POINTS 17
|
||||
#define CERT_COMPARE_PUBKEY_MD5_HASH 18
|
||||
#define CERT_COMPARE_SUBJECT_INFO_ACCESS 19
|
||||
|
||||
#define CERT_NAME_ISSUER_FLAG 0x1
|
||||
#define CERT_NAME_DISABLE_IE4_UTF8_FLAG 0x00010000
|
||||
|
||||
|
||||
#define USAGE_MATCH_TYPE_AND 0x00000000
|
||||
#define USAGE_MATCH_TYPE_OR 0x00000001
|
||||
|
||||
#define CERT_CHAIN_REVOCATION_CHECK_END_CERT 0x10000000
|
||||
#define CERT_CHAIN_REVOCATION_CHECK_CHAIN 0x20000000
|
||||
#define CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 0x40000000
|
||||
#define CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY 0x80000000
|
||||
|
||||
#define CERT_TRUST_NO_ERROR 0x00000000
|
||||
#define CERT_TRUST_IS_NOT_TIME_VALID 0x00000001
|
||||
#define CERT_TRUST_IS_NOT_TIME_NESTED 0x00000002
|
||||
#define CERT_TRUST_IS_REVOKED 0x00000004
|
||||
#define CERT_TRUST_IS_NOT_SIGNATURE_VALID 0x00000008
|
||||
#define CERT_TRUST_IS_NOT_VALID_FOR_USAGE 0x00000010
|
||||
#define CERT_TRUST_IS_UNTRUSTED_ROOT 0x00000020
|
||||
#define CERT_TRUST_REVOCATION_STATUS_UNKNOWN 0x00000040
|
||||
#define CERT_TRUST_IS_CYCLIC 0x00000080
|
||||
|
||||
#define CERT_TRUST_INVALID_EXTENSION 0x00000100
|
||||
#define CERT_TRUST_INVALID_POLICY_CONSTRAINTS 0x00000200
|
||||
#define CERT_TRUST_INVALID_BASIC_CONSTRAINTS 0x00000400
|
||||
#define CERT_TRUST_INVALID_NAME_CONSTRAINTS 0x00000800
|
||||
#define CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT 0x00001000
|
||||
|
||||
#define CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT 0x00002000
|
||||
|
||||
#define CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT 0x00004000
|
||||
#define CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT 0x00008000
|
||||
|
||||
#define CERT_TRUST_IS_OFFLINE_REVOCATION 0x01000000
|
||||
#define CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY 0x02000000
|
||||
#define CERT_TRUST_IS_EXPLICIT_DISTRUST 0x04000000
|
||||
#define CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT 0x08000000
|
||||
|
||||
#define CERT_TRUST_IS_PARTIAL_CHAIN 0x00010000
|
||||
#define CERT_TRUST_CTL_IS_NOT_TIME_VALID 0x00020000
|
||||
#define CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID 0x00040000
|
||||
#define CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE 0x00080000
|
||||
|
||||
#define CERT_TRUST_HAS_EXACT_MATCH_ISSUER 0x00000001
|
||||
#define CERT_TRUST_HAS_KEY_MATCH_ISSUER 0x00000002
|
||||
#define CERT_TRUST_HAS_NAME_MATCH_ISSUER 0x00000004
|
||||
#define CERT_TRUST_IS_SELF_SIGNED 0x00000008
|
||||
|
||||
#define CERT_TRUST_HAS_PREFERRED_ISSUER 0x00000100
|
||||
#define CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY 0x00000200
|
||||
#define CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS 0x00000400
|
||||
#define CERT_TRUST_IS_PEER_TRUSTED 0x00000800
|
||||
#define CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED 0x00001000
|
||||
|
||||
|
||||
#define CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE 0x00002000
|
||||
#define CERT_TRUST_IS_COMPLEX_CHAIN 0x00010000
|
||||
|
||||
|
||||
|
||||
#define CMSG_TYPE_PARAM 1
|
||||
#define CMSG_CONTENT_PARAM 2
|
||||
#define CMSG_BARE_CONTENT_PARAM 3
|
||||
#define CMSG_INNER_CONTENT_TYPE_PARAM 4
|
||||
#define CMSG_SIGNER_COUNT_PARAM 5
|
||||
#define CMSG_SIGNER_INFO_PARAM 6
|
||||
#define CMSG_SIGNER_CERT_INFO_PARAM 7
|
||||
#define CMSG_SIGNER_HASH_ALGORITHM_PARAM 8
|
||||
#define CMSG_SIGNER_AUTH_ATTR_PARAM 9
|
||||
#define CMSG_SIGNER_UNAUTH_ATTR_PARAM 10
|
||||
#define CMSG_CERT_COUNT_PARAM 11
|
||||
#define CMSG_CERT_PARAM 12
|
||||
#define CMSG_CRL_COUNT_PARAM 13
|
||||
#define CMSG_CRL_PARAM 14
|
||||
#define CMSG_ENVELOPE_ALGORITHM_PARAM 15
|
||||
#define CMSG_RECIPIENT_COUNT_PARAM 17
|
||||
#define CMSG_RECIPIENT_INDEX_PARAM 18
|
||||
#define CMSG_RECIPIENT_INFO_PARAM 19
|
||||
#define CMSG_HASH_ALGORITHM_PARAM 20
|
||||
#define CMSG_HASH_DATA_PARAM 21
|
||||
#define CMSG_COMPUTED_HASH_PARAM 22
|
||||
#define CMSG_ENCRYPT_PARAM 26
|
||||
#define CMSG_ENCRYPTED_DIGEST 27
|
||||
#define CMSG_ENCODED_SIGNER 28
|
||||
#define CMSG_ENCODED_MESSAGE 29
|
||||
#define CMSG_VERSION_PARAM 30
|
||||
#define CMSG_ATTR_CERT_COUNT_PARAM 31
|
||||
#define CMSG_ATTR_CERT_PARAM 32
|
||||
#define CMSG_CMS_RECIPIENT_COUNT_PARAM 33
|
||||
#define CMSG_CMS_RECIPIENT_INDEX_PARAM 34
|
||||
#define CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM 35
|
||||
#define CMSG_CMS_RECIPIENT_INFO_PARAM 36
|
||||
#define CMSG_UNPROTECTED_ATTR_PARAM 37
|
||||
#define CMSG_SIGNER_CERT_ID_PARAM 38
|
||||
#define CMSG_CMS_SIGNER_INFO_PARAM 39
|
||||
|
||||
|
||||
#define CERT_INFO_VERSION_FLAG 1
|
||||
#define CERT_INFO_SERIAL_NUMBER_FLAG 2
|
||||
#define CERT_INFO_SIGNATURE_ALGORITHM_FLAG 3
|
||||
#define CERT_INFO_ISSUER_FLAG 4
|
||||
#define CERT_INFO_NOT_BEFORE_FLAG 5
|
||||
#define CERT_INFO_NOT_AFTER_FLAG 6
|
||||
#define CERT_INFO_SUBJECT_FLAG 7
|
||||
#define CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG 8
|
||||
#define CERT_INFO_ISSUER_UNIQUE_ID_FLAG 9
|
||||
#define CERT_INFO_SUBJECT_UNIQUE_ID_FLAG 10
|
||||
#define CERT_INFO_EXTENSION_FLAG 11
|
||||
|
||||
#define CERT_FIND_ANY (CERT_COMPARE_ANY << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_SHA1_HASH (CERT_COMPARE_SHA1_HASH << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_MD5_HASH (CERT_COMPARE_MD5_HASH << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_SIGNATURE_HASH (CERT_COMPARE_SIGNATURE_HASH << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_KEY_IDENTIFIER (CERT_COMPARE_KEY_IDENTIFIER << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_HASH CERT_FIND_SHA1_HASH
|
||||
#define CERT_FIND_PROPERTY (CERT_COMPARE_PROPERTY << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_PUBLIC_KEY (CERT_COMPARE_PUBLIC_KEY << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_SUBJECT_NAME (CERT_COMPARE_NAME << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
|
||||
#define CERT_FIND_SUBJECT_ATTR (CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
|
||||
#define CERT_FIND_ISSUER_NAME (CERT_COMPARE_NAME << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
|
||||
#define CERT_FIND_ISSUER_ATTR (CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
|
||||
#define CERT_FIND_SUBJECT_STR_A (CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
|
||||
#define CERT_FIND_SUBJECT_STR_W (CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG)
|
||||
#define CERT_FIND_SUBJECT_STR CERT_FIND_SUBJECT_STR_W
|
||||
#define CERT_FIND_ISSUER_STR_A (CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
|
||||
#define CERT_FIND_ISSUER_STR_W (CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG)
|
||||
#define CERT_FIND_ISSUER_STR CERT_FIND_ISSUER_STR_W
|
||||
#define CERT_FIND_KEY_SPEC (CERT_COMPARE_KEY_SPEC << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_ENHKEY_USAGE (CERT_COMPARE_ENHKEY_USAGE << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_CTL_USAGE CERT_FIND_ENHKEY_USAGE
|
||||
|
||||
#define CERT_FIND_SUBJECT_CERT (CERT_COMPARE_SUBJECT_CERT << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_ISSUER_OF (CERT_COMPARE_ISSUER_OF << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_EXISTING (CERT_COMPARE_EXISTING << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_CERT_ID (CERT_COMPARE_CERT_ID << CERT_COMPARE_SHIFT)
|
||||
#define CERT_FIND_CROSS_CERT_DIST_POINTS (CERT_COMPARE_CROSS_CERT_DIST_POINTS << CERT_COMPARE_SHIFT)
|
||||
|
||||
|
||||
#define CERT_FIND_PUBKEY_MD5_HASH (CERT_COMPARE_PUBKEY_MD5_HASH << CERT_COMPARE_SHIFT)
|
||||
|
||||
#define CERT_FIND_SUBJECT_INFO_ACCESS (CERT_COMPARE_SUBJECT_INFO_ACCESS << CERT_COMPARE_SHIFT)
|
||||
|
||||
|
||||
#define CERT_NAME_EMAIL_TYPE 1
|
||||
#define CERT_NAME_RDN_TYPE 2
|
||||
#define CERT_NAME_ATTR_TYPE 3
|
||||
#define CERT_NAME_SIMPLE_DISPLAY_TYPE 4
|
||||
#define CERT_NAME_FRIENDLY_DISPLAY_TYPE 5
|
||||
#define CERT_NAME_DNS_TYPE 6
|
||||
#define CERT_NAME_URL_TYPE 7
|
||||
#define CERT_NAME_UPN_TYPE 8
|
||||
@@ -1,72 +0,0 @@
|
||||
BOOL WINAPI CryptQueryObject(
|
||||
_In_ DWORD dwObjectType,
|
||||
_In_ void *pvObject,
|
||||
_In_ DWORD dwExpectedContentTypeFlags,
|
||||
_In_ DWORD dwExpectedFormatTypeFlags,
|
||||
_In_ DWORD dwFlags,
|
||||
_Out_ DWORD *pdwMsgAndCertEncodingType,
|
||||
_Out_ DWORD *pdwContentType,
|
||||
_Out_ DWORD *pdwFormatType,
|
||||
_Out_ HCERTSTORE *phCertStore,
|
||||
_Out_ HCRYPTMSG *phMsg,
|
||||
_Out_ PVOID *ppvContext
|
||||
);
|
||||
|
||||
BOOL WINAPI CryptMsgGetParam(
|
||||
_In_ HCRYPTMSG hCryptMsg,
|
||||
_In_ DWORD dwParamType,
|
||||
_In_ DWORD dwIndex,
|
||||
_Out_ void *pvData,
|
||||
_Inout_ DWORD *pcbData
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI CryptDecodeObject(
|
||||
_In_ DWORD dwCertEncodingType,
|
||||
_In_ LPCSTR lpszStructType,
|
||||
_In_ BYTE *pbEncoded,
|
||||
_In_ DWORD cbEncoded,
|
||||
_In_ DWORD dwFlags,
|
||||
_Out_ void *pvStructInfo,
|
||||
_Inout_ DWORD *pcbStructInfo
|
||||
);
|
||||
|
||||
|
||||
PCCERT_CONTEXT WINAPI CertFindCertificateInStore(
|
||||
_In_ HCERTSTORE hCertStore,
|
||||
_In_ DWORD dwCertEncodingType,
|
||||
_In_ DWORD dwFindFlags,
|
||||
_In_ DWORD dwFindType,
|
||||
_In_ void *pvFindPara,
|
||||
_In_ PCCERT_CONTEXT pPrevCertContext
|
||||
);
|
||||
|
||||
DWORD WINAPI CertGetNameStringA(
|
||||
_In_ PCCERT_CONTEXT pCertContext,
|
||||
_In_ DWORD dwType,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ void *pvTypePara,
|
||||
_Out_ LPCSTR pszNameString,
|
||||
_In_ DWORD cchNameString
|
||||
);
|
||||
|
||||
DWORD WINAPI CertGetNameStringW(
|
||||
_In_ PCCERT_CONTEXT pCertContext,
|
||||
_In_ DWORD dwType,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ void *pvTypePara,
|
||||
_Out_ LPWSTR pszNameString,
|
||||
_In_ DWORD cchNameString
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI CertGetCertificateChain(
|
||||
_In_opt_ HCERTCHAINENGINE hChainEngine,
|
||||
_In_ PCCERT_CONTEXT pCertContext,
|
||||
_In_opt_ LPFILETIME pTime,
|
||||
_In_ HCERTSTORE hAdditionalStore,
|
||||
_In_ PCERT_CHAIN_PARA pChainPara,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ LPVOID pvReserved,
|
||||
_Out_ PCCERT_CHAIN_CONTEXT *ppChainContext
|
||||
);
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user