mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
Compare commits
373 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8d33e0143f | |||
| 7a368a1a23 | |||
| 8e257f9678 | |||
| 34254dfde2 | |||
| 0f49dff128 | |||
| 9bf2e61431 | |||
| 01a59a92c4 | |||
| e2ff50e6a2 | |||
| 47f3e64c84 | |||
| d8ac02e6a2 | |||
| 0fa8026c1b | |||
| e4c0f8645e | |||
| 2e48f9008a | |||
| aec35a46d5 | |||
| e70c97cbfc | |||
| 5b210b50cb | |||
| 2e7bfba3b9 | |||
| 027b7c1c64 | |||
| 3151155670 | |||
| 38aef8e497 | |||
| c666882105 | |||
| ffec0aa57e | |||
| eb131d2621 | |||
| 042e77acf1 | |||
| 654280c8a5 | |||
| 176066d917 | |||
| b59522e504 | |||
| 996487cc1f | |||
| 0ec8ae2fa6 | |||
| 78c205d248 | |||
| 6a7626eb2d | |||
| 1077541ec4 | |||
| f491c510eb | |||
| 5aed4305d6 | |||
| 97a1bb22e1 | |||
| ec0e97c075 | |||
| 7652f597f3 | |||
| 5aa181c4cf | |||
| 445c68537c | |||
| 0ee191c981 | |||
| e74089cda3 | |||
| ef580c675f | |||
| 6a5364ea1e | |||
| ed0099fd57 | |||
| bbf031e784 | |||
| 466d94c03c | |||
| 578b4d9193 | |||
| 9485ceef05 | |||
| f63f7f308a | |||
| c691d8eb84 | |||
| 91e6ef824c | |||
| 54f202731d | |||
| fefe9f397f | |||
| 546818f91b | |||
| fb23ad2838 | |||
| 7921e74647 | |||
| 5c3b0cda88 | |||
| 50f6b993de | |||
| d7c150b794 | |||
| 0cf6057b98 | |||
| 02b2ba13f9 | |||
| 92df7eaee0 | |||
| 9f69b1cefa | |||
| fe22a5ad0d | |||
| 66382b89f7 | |||
| 4dc71b0449 | |||
| 4d3b3e18ad | |||
| b27d161a6a | |||
| 80c6a747da | |||
| f403856e26 | |||
| 6a74c83670 | |||
| 889de363ca | |||
| bac3dcb55b | |||
| 2f778b69f9 | |||
| 2fddd82f00 | |||
| 46197e763a | |||
| a7175be425 | |||
| f2a6489463 | |||
| 2e1043ead4 | |||
| b490130585 | |||
| d20083c57c | |||
| fb2b63b66d | |||
| b971fa5faf | |||
| c5d8faaa4a | |||
| 5ae6fb2634 | |||
| c589a41902 | |||
| 7638080ee4 | |||
| 0ed859b95e | |||
| 6f55d2e48f | |||
| 5b55d4d693 | |||
| fbfe4344d4 | |||
| 215afaa418 | |||
| 91ef7da2e1 | |||
| 8a14fe9174 | |||
| 4f92323abf | |||
| 44d9d0dd35 | |||
| 6dd314659d | |||
| adb7d3b63a | |||
| b5371ddf33 | |||
| 4495eca6d0 | |||
| df28515b97 | |||
| 6374f91fef | |||
| 6125a1fb15 | |||
| bfeb2e6dec | |||
| 536a60c040 | |||
| 05ee89de81 | |||
| 80799fe411 | |||
| 265ef59011 | |||
| 30b05d25f1 | |||
| 6bd45e8503 | |||
| 1e42553112 | |||
| 168783af9d | |||
| b9fe4d19e5 | |||
| 6fcba46739 | |||
| 960838ae3c | |||
| 8a32e00f68 | |||
| 670bb713a2 | |||
| 032de6a848 | |||
| 7827a43d9a | |||
| b0fa864271 | |||
| 7c816acdda | |||
| 7f4ff75854 | |||
| 0697891026 | |||
| 15f399df6d | |||
| b628ca336b | |||
| b160935747 | |||
| 554a6b0572 | |||
| f9104141e5 | |||
| 5794a92168 | |||
| 578392ffde | |||
| 44e5a09564 | |||
| 4e8a765bd6 | |||
| 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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# PythonForWindows
|
||||
|
||||
PythonForWindows is a base of code aimed to make interaction with `Windows` (on X86/X64) easier (for both 32 and 64 bits Python).
|
||||
[](https://gitter.im/PythonForWindows/general)
|
||||
|
||||
PythonForWindows (PFW) is a base of code aimed to make interaction with `Windows` (on X86/X64) easier (for both 32 and 64 bits Python).
|
||||
Its goal is to offer abstractions around some of the OS features in a (I hope) pythonic way.
|
||||
It also tries to make the barrier between python and native execution thinner in both ways.
|
||||
There is no external dependencies but it relies heavily on the `ctypes` module.
|
||||
@@ -12,7 +14,25 @@ Let's say that the codebase evolves with my needs and my curiosity.
|
||||
Complete online documentation is available [here][ONLINE_DOC]
|
||||
You can find some examples of code in the [samples directory][SAMPLE_DIR] or [online][ONLINE_SAMPLE].
|
||||
|
||||
Parts of PythonForWindows are used in the [LKD project][LKD_GITHUB].
|
||||
PythonForWindows is principally known for its ALPC-RPC Client (see [samples](http://hakril.github.io/PythonForWindows/build/html/sample.html#windows-rpc)).
|
||||
|
||||
|
||||
If you have any issue, question or suggestion do not hesitate to join [the Gitter channel](https://gitter.im/PythonForWindows/general).
|
||||
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
|
||||
``
|
||||
|
||||
#### Python3
|
||||
|
||||
python3 support is still in beta.
|
||||
All the tests pass on master, but I did not test it heavily on real case.
|
||||
Do not hesitate report bugs and issues.
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -35,33 +55,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 +125,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 +189,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 +242,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 +252,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 +274,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 +291,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 +429,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 +509,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 +525,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,19 @@ 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",
|
||||
"__RPC__deref_out_opt_string", "_COM_Outptr_", "_In_", "_In_opt_", "_Out_"]
|
||||
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",
|
||||
"__RPC__deref_out_ecount_full_opt", "__out_ecount_part", "__deref_out_range", "__out_bcount_part",
|
||||
"_Outptr_result_buffer_"]
|
||||
|
||||
def __init__(self, data):
|
||||
data = initial_processing(data)
|
||||
# data = self.initial_processing(data)
|
||||
#print(data)
|
||||
super(WinComParser, self).__init__(data)
|
||||
|
||||
@@ -83,9 +37,13 @@ class WinComParser(Parser):
|
||||
if ign.value in self.PARAM_INFO_WITH_VALUE:
|
||||
# pass __RPC__in_ecount(cNames)
|
||||
self.assert_token_type(OpenParenthesisToken)
|
||||
while type(self.peek()) != CloseParenthesisToken:
|
||||
self.next_token()
|
||||
self.next_token()
|
||||
depth = 1
|
||||
while depth:
|
||||
ntok = self.next_token()
|
||||
if type(ntok) == CloseParenthesisToken:
|
||||
depth -= 1
|
||||
elif type(ntok) == OpenParenthesisToken:
|
||||
depth +=1
|
||||
if self.peek() == KeywordToken("const"):
|
||||
self.next_token()
|
||||
type_name = self.assert_token_type(NameToken)
|
||||
@@ -117,14 +75,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 +120,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 +138,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 +150,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,13 @@ 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)
|
||||
if self.code[-1] == "L" and self.code[0].isdigit():
|
||||
self.code = self.code[:-1]
|
||||
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 +27,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,39 @@
|
||||
typedef struct IBackgroundCopyFile2Vtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IBackgroundCopyFile2 * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IBackgroundCopyFile2 * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IBackgroundCopyFile2 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetRemoteName )(
|
||||
__RPC__in IBackgroundCopyFile2 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetLocalName )(
|
||||
__RPC__in IBackgroundCopyFile2 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetProgress )(
|
||||
__RPC__in IBackgroundCopyFile2 * This,
|
||||
/* [out] */ __RPC__out BG_FILE_PROGRESS *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetFileRanges )(
|
||||
__RPC__in IBackgroundCopyFile2 * This,
|
||||
/* [unique][out][in] */ __RPC__inout_opt DWORD *RangeCount,
|
||||
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*RangeCount) BG_FILE_RANGE **Ranges);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetRemoteName )(
|
||||
__RPC__in IBackgroundCopyFile2 * This,
|
||||
__RPC__in LPCWSTR Val);
|
||||
|
||||
END_INTERFACE
|
||||
} IBackgroundCopyFile2Vtbl;
|
||||
@@ -0,0 +1,55 @@
|
||||
typedef struct IBackgroundCopyFile3Vtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IBackgroundCopyFile3 * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IBackgroundCopyFile3 * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IBackgroundCopyFile3 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetRemoteName )(
|
||||
__RPC__in IBackgroundCopyFile3 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetLocalName )(
|
||||
__RPC__in IBackgroundCopyFile3 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetProgress )(
|
||||
__RPC__in IBackgroundCopyFile3 * This,
|
||||
/* [out] */ __RPC__out BG_FILE_PROGRESS *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetFileRanges )(
|
||||
__RPC__in IBackgroundCopyFile3 * This,
|
||||
/* [unique][out][in] */ __RPC__inout_opt DWORD *RangeCount,
|
||||
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*RangeCount) BG_FILE_RANGE **Ranges);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetRemoteName )(
|
||||
__RPC__in IBackgroundCopyFile3 * This,
|
||||
__RPC__in LPCWSTR Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTemporaryName )(
|
||||
__RPC__in IBackgroundCopyFile3 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pFilename);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetValidationState )(
|
||||
__RPC__in IBackgroundCopyFile3 * This,
|
||||
/* [in] */ BOOL state);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetValidationState )(
|
||||
__RPC__in IBackgroundCopyFile3 * This,
|
||||
/* [out] */ __RPC__out BOOL *pState);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *IsDownloadedFromPeer )(
|
||||
__RPC__in IBackgroundCopyFile3 * This,
|
||||
/* [out] */ __RPC__out BOOL *pVal);
|
||||
|
||||
END_INTERFACE
|
||||
} IBackgroundCopyFile3Vtbl;
|
||||
@@ -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,183 @@
|
||||
typedef struct IBackgroundCopyJob2Vtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IBackgroundCopyJob2 * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IBackgroundCopyJob2 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *AddFileSet )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [in] */ ULONG cFileCount,
|
||||
/* [size_is][in] */ __RPC__in_ecount_full(cFileCount) BG_FILE_INFO *pFileSet);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *AddFile )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [in] */ __RPC__in LPCWSTR RemoteUrl,
|
||||
/* [in] */ __RPC__in LPCWSTR LocalName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *EnumFiles )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumBackgroundCopyFiles **pEnum);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Suspend )(
|
||||
__RPC__in IBackgroundCopyJob2 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Resume )(
|
||||
__RPC__in IBackgroundCopyJob2 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Cancel )(
|
||||
__RPC__in IBackgroundCopyJob2 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Complete )(
|
||||
__RPC__in IBackgroundCopyJob2 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetId )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__out GUID *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetType )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__out BG_JOB_TYPE *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetProgress )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__out BG_JOB_PROGRESS *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTimes )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__out BG_JOB_TIMES *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetState )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__out BG_JOB_STATE *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetError )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__deref_out_opt IBackgroundCopyError **ppError);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetOwner )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetDisplayName )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [in] */ __RPC__in LPCWSTR Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetDescription )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [in] */ __RPC__in LPCWSTR Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetDescription )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetPriority )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [in] */ BG_JOB_PRIORITY Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetPriority )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__out BG_JOB_PRIORITY *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetNotifyFlags )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [in] */ ULONG Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetNotifyFlags )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__out ULONG *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetNotifyInterface )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [in] */ __RPC__in_opt IUnknown *Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetNotifyInterface )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__deref_out_opt IUnknown **pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetMinimumRetryDelay )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [in] */ ULONG Seconds);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetMinimumRetryDelay )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__out ULONG *Seconds);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetNoProgressTimeout )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [in] */ ULONG Seconds);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetNoProgressTimeout )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__out ULONG *Seconds);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetErrorCount )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__out ULONG *Errors);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetProxySettings )(
|
||||
__RPC__in IBackgroundCopyJob2 * 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 IBackgroundCopyJob2 * 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 IBackgroundCopyJob2 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetNotifyCmdLine )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [unique][in] */ __RPC__in_opt LPCWSTR Program,
|
||||
/* [unique][in] */ __RPC__in_opt LPCWSTR Parameters);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetNotifyCmdLine )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pProgram,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pParameters);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetReplyProgress )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out][in] */ __RPC__inout BG_JOB_REPLY_PROGRESS *pProgress);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetReplyData )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(( unsigned long )*pLength) BYTE **ppBuffer,
|
||||
/* [unique][out][in] */ __RPC__inout_opt UINT64 *pLength);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetReplyFileName )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [unique][in] */ __RPC__in_opt LPCWSTR ReplyFileName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetReplyFileName )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pReplyFileName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetCredentials )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
__RPC__in BG_AUTH_CREDENTIALS *credentials);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *RemoveCredentials )(
|
||||
__RPC__in IBackgroundCopyJob2 * This,
|
||||
BG_AUTH_TARGET Target,
|
||||
BG_AUTH_SCHEME Scheme);
|
||||
|
||||
END_INTERFACE
|
||||
} IBackgroundCopyJob2Vtbl;
|
||||
@@ -0,0 +1,203 @@
|
||||
typedef struct IBackgroundCopyJob3Vtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IBackgroundCopyJob3 * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IBackgroundCopyJob3 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *AddFileSet )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [in] */ ULONG cFileCount,
|
||||
/* [size_is][in] */ __RPC__in_ecount_full(cFileCount) BG_FILE_INFO *pFileSet);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *AddFile )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [in] */ __RPC__in LPCWSTR RemoteUrl,
|
||||
/* [in] */ __RPC__in LPCWSTR LocalName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *EnumFiles )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumBackgroundCopyFiles **pEnum);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Suspend )(
|
||||
__RPC__in IBackgroundCopyJob3 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Resume )(
|
||||
__RPC__in IBackgroundCopyJob3 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Cancel )(
|
||||
__RPC__in IBackgroundCopyJob3 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Complete )(
|
||||
__RPC__in IBackgroundCopyJob3 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetId )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__out GUID *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetType )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__out BG_JOB_TYPE *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetProgress )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__out BG_JOB_PROGRESS *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTimes )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__out BG_JOB_TIMES *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetState )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__out BG_JOB_STATE *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetError )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__deref_out_opt IBackgroundCopyError **ppError);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetOwner )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetDisplayName )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [in] */ __RPC__in LPCWSTR Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetDescription )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [in] */ __RPC__in LPCWSTR Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetDescription )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetPriority )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [in] */ BG_JOB_PRIORITY Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetPriority )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__out BG_JOB_PRIORITY *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetNotifyFlags )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [in] */ ULONG Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetNotifyFlags )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__out ULONG *pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetNotifyInterface )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [in] */ __RPC__in_opt IUnknown *Val);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetNotifyInterface )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__deref_out_opt IUnknown **pVal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetMinimumRetryDelay )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [in] */ ULONG Seconds);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetMinimumRetryDelay )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__out ULONG *Seconds);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetNoProgressTimeout )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [in] */ ULONG Seconds);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetNoProgressTimeout )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__out ULONG *Seconds);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetErrorCount )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__out ULONG *Errors);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetProxySettings )(
|
||||
__RPC__in IBackgroundCopyJob3 * 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 IBackgroundCopyJob3 * 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 IBackgroundCopyJob3 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetNotifyCmdLine )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [unique][in] */ __RPC__in_opt LPCWSTR Program,
|
||||
/* [unique][in] */ __RPC__in_opt LPCWSTR Parameters);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetNotifyCmdLine )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pProgram,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pParameters);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetReplyProgress )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out][in] */ __RPC__inout BG_JOB_REPLY_PROGRESS *pProgress);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetReplyData )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(( unsigned long )*pLength) byte **ppBuffer,
|
||||
/* [unique][out][in] */ __RPC__inout_opt UINT64 *pLength);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetReplyFileName )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [unique][in] */ __RPC__in_opt LPCWSTR ReplyFileName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetReplyFileName )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [out] */ __RPC__deref_out_opt LPWSTR *pReplyFileName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetCredentials )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
__RPC__in BG_AUTH_CREDENTIALS *credentials);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *RemoveCredentials )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
BG_AUTH_TARGET Target,
|
||||
BG_AUTH_SCHEME Scheme);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *ReplaceRemotePrefix )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [in] */ __RPC__in LPCWSTR OldPrefix,
|
||||
/* [in] */ __RPC__in LPCWSTR NewPrefix);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *AddFileWithRanges )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [in] */ __RPC__in LPCWSTR RemoteUrl,
|
||||
/* [in] */ __RPC__in LPCWSTR LocalName,
|
||||
/* [in] */ DWORD RangeCount,
|
||||
/* [size_is][in] */ __RPC__in_ecount_full(RangeCount) BG_FILE_RANGE *Ranges);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetFileACLFlags )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [in] */ DWORD Flags);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetFileACLFlags )(
|
||||
__RPC__in IBackgroundCopyJob3 * This,
|
||||
/* [ref][out] */ __RPC__out DWORD *Flags);
|
||||
|
||||
END_INTERFACE
|
||||
} IBackgroundCopyJob3Vtbl;
|
||||
@@ -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,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,59 @@
|
||||
typedef struct IBindCtxVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IBindCtx * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IBindCtx * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IBindCtx * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *RegisterObjectBound )(
|
||||
__RPC__in IBindCtx * This,
|
||||
/* [unique][in] */ __RPC__in_opt IUnknown *punk);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *RevokeObjectBound )(
|
||||
__RPC__in IBindCtx * This,
|
||||
/* [unique][in] */ __RPC__in_opt IUnknown *punk);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *ReleaseBoundObjects )(
|
||||
__RPC__in IBindCtx * This);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *SetBindOptions )(
|
||||
IBindCtx * This,
|
||||
/* [in] */ BIND_OPTS *pbindopts);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetBindOptions )(
|
||||
IBindCtx * This,
|
||||
/* [out][in] */ BIND_OPTS *pbindopts);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetRunningObjectTable )(
|
||||
__RPC__in IBindCtx * This,
|
||||
/* [out] */ __RPC__deref_out_opt IRunningObjectTable **pprot);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *RegisterObjectParam )(
|
||||
__RPC__in IBindCtx * This,
|
||||
/* [in] */ __RPC__in LPOLESTR pszKey,
|
||||
/* [unique][in] */ __RPC__in_opt IUnknown *punk);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetObjectParam )(
|
||||
__RPC__in IBindCtx * This,
|
||||
/* [in] */ __RPC__in LPOLESTR pszKey,
|
||||
/* [out] */ __RPC__deref_out_opt IUnknown **ppunk);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *EnumObjectParam )(
|
||||
__RPC__in IBindCtx * This,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumString **ppenum);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *RevokeObjectParam )(
|
||||
__RPC__in IBindCtx * This,
|
||||
/* [in] */ __RPC__in LPOLESTR pszKey);
|
||||
|
||||
END_INTERFACE
|
||||
} IBindCtxVtbl;
|
||||
@@ -0,0 +1,38 @@
|
||||
typedef struct IEnumExplorerCommandVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IEnumExplorerCommand * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IEnumExplorerCommand * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IEnumExplorerCommand * This);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
|
||||
IEnumExplorerCommand * This,
|
||||
/* [annotation][in] */
|
||||
__in ULONG celt,
|
||||
/* [annotation][length_is][size_is][out] */
|
||||
__out_ecount_part(celt, *pceltFetched) IExplorerCommand **pUICommand,
|
||||
/* [annotation][out] */
|
||||
__out_opt __deref_out_range(0, celt) ULONG *pceltFetched);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Skip )(
|
||||
__RPC__in IEnumExplorerCommand * This,
|
||||
/* [in] */ ULONG celt);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Reset )(
|
||||
__RPC__in IEnumExplorerCommand * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Clone )(
|
||||
__RPC__in IEnumExplorerCommand * This,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumExplorerCommand **ppenum);
|
||||
|
||||
END_INTERFACE
|
||||
} IEnumExplorerCommandVtbl;
|
||||
@@ -0,0 +1,37 @@
|
||||
typedef struct IEnumMonikerVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IEnumMoniker * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IEnumMoniker * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IEnumMoniker * This);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
|
||||
IEnumMoniker * This,
|
||||
/* [in] */ ULONG celt,
|
||||
/* [annotation] */
|
||||
__out_ecount_part(celt,*pceltFetched) IMoniker **rgelt,
|
||||
/* [annotation] */
|
||||
__out_opt ULONG *pceltFetched);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Skip )(
|
||||
__RPC__in IEnumMoniker * This,
|
||||
/* [in] */ ULONG celt);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Reset )(
|
||||
__RPC__in IEnumMoniker * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Clone )(
|
||||
__RPC__in IEnumMoniker * This,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumMoniker **ppenum);
|
||||
|
||||
END_INTERFACE
|
||||
} IEnumMonikerVtbl;
|
||||
@@ -0,0 +1,38 @@
|
||||
typedef struct IEnumShellItemsVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IEnumShellItems * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IEnumShellItems * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IEnumShellItems * This);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
|
||||
IEnumShellItems * This,
|
||||
/* [annotation][in] */
|
||||
__in ULONG celt,
|
||||
/* [annotation][length_is][size_is][out] */
|
||||
__out_ecount_part(celt, *pceltFetched) IShellItem **rgelt,
|
||||
/* [annotation][out] */
|
||||
__out_opt __deref_out_range(0, celt) ULONG *pceltFetched);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Skip )(
|
||||
__RPC__in IEnumShellItems * This,
|
||||
/* [in] */ ULONG celt);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Reset )(
|
||||
__RPC__in IEnumShellItems * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Clone )(
|
||||
__RPC__in IEnumShellItems * This,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumShellItems **ppenum);
|
||||
|
||||
END_INTERFACE
|
||||
} IEnumShellItemsVtbl;
|
||||
@@ -0,0 +1,37 @@
|
||||
typedef struct IEnumStringVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IEnumString * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IEnumString * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IEnumString * This);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
|
||||
IEnumString * This,
|
||||
/* [in] */ ULONG celt,
|
||||
/* [annotation] */
|
||||
__RPC__out_ecount_part(celt,*pceltFetched) LPOLESTR *rgelt,
|
||||
/* [annotation] */
|
||||
__out_opt ULONG *pceltFetched);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Skip )(
|
||||
__RPC__in IEnumString * This,
|
||||
/* [in] */ ULONG celt);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Reset )(
|
||||
__RPC__in IEnumString * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Clone )(
|
||||
__RPC__in IEnumString * This,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumString **ppenum);
|
||||
|
||||
END_INTERFACE
|
||||
} IEnumStringVtbl;
|
||||
@@ -0,0 +1,56 @@
|
||||
typedef struct IExplorerCommandVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IExplorerCommand * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IExplorerCommand * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IExplorerCommand * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTitle )(
|
||||
__RPC__in IExplorerCommand * This,
|
||||
/* [unique][in] */ __RPC__in_opt IShellItemArray *psiItemArray,
|
||||
/* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIcon )(
|
||||
__RPC__in IExplorerCommand * This,
|
||||
/* [unique][in] */ __RPC__in_opt IShellItemArray *psiItemArray,
|
||||
/* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszIcon);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetToolTip )(
|
||||
__RPC__in IExplorerCommand * This,
|
||||
/* [unique][in] */ __RPC__in_opt IShellItemArray *psiItemArray,
|
||||
/* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszInfotip);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )(
|
||||
__RPC__in IExplorerCommand * This,
|
||||
/* [out] */ __RPC__out GUID *pguidCommandName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetState )(
|
||||
__RPC__in IExplorerCommand * This,
|
||||
/* [in] */ __RPC__in_opt IShellItemArray *psiItemArray,
|
||||
/* [in] */ BOOL fOkToBeSlow,
|
||||
/* [out] */ __RPC__out EXPCMDSTATE *pCmdState);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
__RPC__in IExplorerCommand * This,
|
||||
/* [in] */ __RPC__in_opt IShellItemArray *psiItemArray,
|
||||
/* [unique][in] */ __RPC__in_opt IBindCtx *pbc);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetFlags )(
|
||||
__RPC__in IExplorerCommand * This,
|
||||
/* [out] */ __RPC__out EXPCMDFLAGS *pFlags);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *EnumSubCommands )(
|
||||
__RPC__in IExplorerCommand * This,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumExplorerCommand **ppEnum);
|
||||
|
||||
END_INTERFACE
|
||||
} IExplorerCommandVtbl;
|
||||
@@ -0,0 +1,122 @@
|
||||
typedef struct IMonikerVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IMoniker * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IMoniker * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetClassID )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [out] */ __RPC__out CLSID *pClassID);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *IsDirty )(
|
||||
__RPC__in IMoniker * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Load )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [unique][in] */ __RPC__in_opt IStream *pStm);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Save )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [unique][in] */ __RPC__in_opt IStream *pStm,
|
||||
/* [in] */ BOOL fClearDirty);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetSizeMax )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [out] */ __RPC__out ULARGE_INTEGER *pcbSize);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BindToObject )(
|
||||
IMoniker * This,
|
||||
/* [unique][in] */ IBindCtx *pbc,
|
||||
/* [unique][in] */ IMoniker *pmkToLeft,
|
||||
/* [in] */ REFIID riidResult,
|
||||
/* [iid_is][out] */ void **ppvResult);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BindToStorage )(
|
||||
IMoniker * This,
|
||||
/* [unique][in] */ IBindCtx *pbc,
|
||||
/* [unique][in] */ IMoniker *pmkToLeft,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */ void **ppvObj);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Reduce )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [unique][in] */ __RPC__in_opt IBindCtx *pbc,
|
||||
/* [in] */ DWORD dwReduceHowFar,
|
||||
/* [unique][out][in] */ __RPC__deref_opt_inout_opt IMoniker **ppmkToLeft,
|
||||
/* [out] */ __RPC__deref_out_opt IMoniker **ppmkReduced);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *ComposeWith )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [unique][in] */ __RPC__in_opt IMoniker *pmkRight,
|
||||
/* [in] */ BOOL fOnlyIfNotGeneric,
|
||||
/* [out] */ __RPC__deref_out_opt IMoniker **ppmkComposite);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Enum )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [in] */ BOOL fForward,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumMoniker **ppenumMoniker);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *IsEqual )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [unique][in] */ __RPC__in_opt IMoniker *pmkOtherMoniker);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Hash )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [out] */ __RPC__out DWORD *pdwHash);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *IsRunning )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [unique][in] */ __RPC__in_opt IBindCtx *pbc,
|
||||
/* [unique][in] */ __RPC__in_opt IMoniker *pmkToLeft,
|
||||
/* [unique][in] */ __RPC__in_opt IMoniker *pmkNewlyRunning);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTimeOfLastChange )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [unique][in] */ __RPC__in_opt IBindCtx *pbc,
|
||||
/* [unique][in] */ __RPC__in_opt IMoniker *pmkToLeft,
|
||||
/* [out] */ __RPC__out FILETIME *pFileTime);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Inverse )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [out] */ __RPC__deref_out_opt IMoniker **ppmk);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *CommonPrefixWith )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [unique][in] */ __RPC__in_opt IMoniker *pmkOther,
|
||||
/* [out] */ __RPC__deref_out_opt IMoniker **ppmkPrefix);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *RelativePathTo )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [unique][in] */ __RPC__in_opt IMoniker *pmkOther,
|
||||
/* [out] */ __RPC__deref_out_opt IMoniker **ppmkRelPath);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [unique][in] */ __RPC__in_opt IBindCtx *pbc,
|
||||
/* [unique][in] */ __RPC__in_opt IMoniker *pmkToLeft,
|
||||
/* [out] */ __RPC__deref_out_opt LPOLESTR *ppszDisplayName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *ParseDisplayName )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [unique][in] */ __RPC__in_opt IBindCtx *pbc,
|
||||
/* [unique][in] */ __RPC__in_opt IMoniker *pmkToLeft,
|
||||
/* [in] */ __RPC__in LPOLESTR pszDisplayName,
|
||||
/* [out] */ __RPC__out ULONG *pchEaten,
|
||||
/* [out] */ __RPC__deref_out_opt IMoniker **ppmkOut);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *IsSystemMoniker )(
|
||||
__RPC__in IMoniker * This,
|
||||
/* [out] */ __RPC__out DWORD *pdwMksys);
|
||||
|
||||
END_INTERFACE
|
||||
} IMonikerVtbl;
|
||||
@@ -0,0 +1,52 @@
|
||||
typedef struct IRunningObjectTableVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IRunningObjectTable * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IRunningObjectTable * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IRunningObjectTable * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Register )(
|
||||
__RPC__in IRunningObjectTable * This,
|
||||
/* [in] */ DWORD grfFlags,
|
||||
/* [unique][in] */ __RPC__in_opt IUnknown *punkObject,
|
||||
/* [unique][in] */ __RPC__in_opt IMoniker *pmkObjectName,
|
||||
/* [out] */ __RPC__out DWORD *pdwRegister);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Revoke )(
|
||||
__RPC__in IRunningObjectTable * This,
|
||||
/* [in] */ DWORD dwRegister);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *IsRunning )(
|
||||
__RPC__in IRunningObjectTable * This,
|
||||
/* [unique][in] */ __RPC__in_opt IMoniker *pmkObjectName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetObject )(
|
||||
__RPC__in IRunningObjectTable * This,
|
||||
/* [unique][in] */ __RPC__in_opt IMoniker *pmkObjectName,
|
||||
/* [out] */ __RPC__deref_out_opt IUnknown **ppunkObject);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *NoteChangeTime )(
|
||||
__RPC__in IRunningObjectTable * This,
|
||||
/* [in] */ DWORD dwRegister,
|
||||
/* [in] */ __RPC__in FILETIME *pfiletime);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTimeOfLastChange )(
|
||||
__RPC__in IRunningObjectTable * This,
|
||||
/* [unique][in] */ __RPC__in_opt IMoniker *pmkObjectName,
|
||||
/* [out] */ __RPC__out FILETIME *pfiletime);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *EnumRunning )(
|
||||
__RPC__in IRunningObjectTable * This,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumMoniker **ppenumMoniker);
|
||||
|
||||
END_INTERFACE
|
||||
} IRunningObjectTableVtbl;
|
||||
@@ -0,0 +1,45 @@
|
||||
typedef struct IShellItemVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IShellItem * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IShellItem * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IShellItem * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *BindToHandler )(
|
||||
__RPC__in IShellItem * This,
|
||||
/* [unique][in] */ __RPC__in_opt IBindCtx *pbc,
|
||||
/* [in] */ __RPC__in REFGUID bhid,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetParent )(
|
||||
__RPC__in IShellItem * This,
|
||||
/* [out] */ __RPC__deref_out_opt IShellItem **ppsi);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
|
||||
__RPC__in IShellItem * This,
|
||||
/* [in] */ SIGDN sigdnName,
|
||||
/* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
|
||||
__RPC__in IShellItem * This,
|
||||
/* [in] */ SFGAOF sfgaoMask,
|
||||
/* [out] */ __RPC__out SFGAOF *psfgaoAttribs);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Compare )(
|
||||
__RPC__in IShellItem * This,
|
||||
/* [in] */ __RPC__in_opt IShellItem *psi,
|
||||
/* [in] */ SICHINTF hint,
|
||||
/* [out] */ __RPC__out int *piOrder);
|
||||
|
||||
END_INTERFACE
|
||||
} IShellItemVtbl;
|
||||
@@ -0,0 +1,56 @@
|
||||
typedef struct IShellItemArrayVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IShellItemArray * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IShellItemArray * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IShellItemArray * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *BindToHandler )(
|
||||
__RPC__in IShellItemArray * This,
|
||||
/* [unique][in] */ __RPC__in_opt IBindCtx *pbc,
|
||||
/* [in] */ __RPC__in REFGUID bhid,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [iid_is][out] */ __RPC__deref_out_opt void **ppvOut);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetPropertyStore )(
|
||||
__RPC__in IShellItemArray * This,
|
||||
/* [in] */ GETPROPERTYSTOREFLAGS flags,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetPropertyDescriptionList )(
|
||||
__RPC__in IShellItemArray * This,
|
||||
/* [in] */ __RPC__in REFPROPERTYKEY keyType,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
|
||||
__RPC__in IShellItemArray * This,
|
||||
/* [in] */ SIATTRIBFLAGS AttribFlags,
|
||||
/* [in] */ SFGAOF sfgaoMask,
|
||||
/* [out] */ __RPC__out SFGAOF *psfgaoAttribs);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetCount )(
|
||||
__RPC__in IShellItemArray * This,
|
||||
/* [out] */ __RPC__out DWORD *pdwNumItems);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetItemAt )(
|
||||
__RPC__in IShellItemArray * This,
|
||||
/* [in] */ DWORD dwIndex,
|
||||
/* [out] */ __RPC__deref_out_opt IShellItem **ppsi);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *EnumItems )(
|
||||
__RPC__in IShellItemArray * This,
|
||||
/* [out] */ __RPC__deref_out_opt IEnumShellItems **ppenumShellItems);
|
||||
|
||||
END_INTERFACE
|
||||
} IShellItemArrayVtbl;
|
||||
@@ -0,0 +1,82 @@
|
||||
typedef struct IStreamVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IStream * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IStream * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IStream * This);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
|
||||
IStream * This,
|
||||
/* [annotation] */
|
||||
__out_bcount_part(cb, *pcbRead) void *pv,
|
||||
/* [in] */ ULONG cb,
|
||||
/* [annotation] */
|
||||
__out_opt ULONG *pcbRead);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )(
|
||||
IStream * This,
|
||||
/* [annotation] */
|
||||
__in_bcount(cb) const void *pv,
|
||||
/* [in] */ ULONG cb,
|
||||
/* [annotation] */
|
||||
__out_opt ULONG *pcbWritten);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
|
||||
IStream * This,
|
||||
/* [in] */ LARGE_INTEGER dlibMove,
|
||||
/* [in] */ DWORD dwOrigin,
|
||||
/* [annotation] */
|
||||
__out_opt ULARGE_INTEGER *plibNewPosition);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetSize )(
|
||||
__RPC__in IStream * This,
|
||||
/* [in] */ ULARGE_INTEGER libNewSize);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CopyTo )(
|
||||
IStream * This,
|
||||
/* [unique][in] */ IStream *pstm,
|
||||
/* [in] */ ULARGE_INTEGER cb,
|
||||
/* [annotation] */
|
||||
__out_opt ULARGE_INTEGER *pcbRead,
|
||||
/* [annotation] */
|
||||
__out_opt ULARGE_INTEGER *pcbWritten);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Commit )(
|
||||
__RPC__in IStream * This,
|
||||
/* [in] */ DWORD grfCommitFlags);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Revert )(
|
||||
__RPC__in IStream * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *LockRegion )(
|
||||
__RPC__in IStream * This,
|
||||
/* [in] */ ULARGE_INTEGER libOffset,
|
||||
/* [in] */ ULARGE_INTEGER cb,
|
||||
/* [in] */ DWORD dwLockType);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *UnlockRegion )(
|
||||
__RPC__in IStream * This,
|
||||
/* [in] */ ULARGE_INTEGER libOffset,
|
||||
/* [in] */ ULARGE_INTEGER cb,
|
||||
/* [in] */ DWORD dwLockType);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Stat )(
|
||||
__RPC__in IStream * This,
|
||||
/* [out] */ __RPC__out STATSTG *pstatstg,
|
||||
/* [in] */ DWORD grfStatFlag);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Clone )(
|
||||
__RPC__in IStream * This,
|
||||
/* [out] */ __RPC__deref_out_opt IStream **ppstm);
|
||||
|
||||
END_INTERFACE
|
||||
} IStreamVtbl;
|
||||
@@ -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,22 @@
|
||||
typedef struct IPersistVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IPersist * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IPersist * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IPersist * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetClassID )(
|
||||
__RPC__in IPersist * This,
|
||||
/* [out] */ __RPC__out CLSID *pClassID);
|
||||
|
||||
END_INTERFACE
|
||||
} IPersistVtbl;
|
||||
@@ -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,36 @@
|
||||
typedef struct ITypeCompVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in ITypeComp * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out PVOID *ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in ITypeComp * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in ITypeComp * This);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Bind )(
|
||||
ITypeComp * This,
|
||||
/* [annotation][in] */
|
||||
__RPC__in LPOLESTR szName,
|
||||
/* [in] */ ULONG lHashVal,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out] */ ITypeInfo **ppTInfo,
|
||||
/* [out] */ DESCKIND *pDescKind,
|
||||
/* [out] */ BINDPTR *pBindPtr);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BindType )(
|
||||
ITypeComp * This,
|
||||
/* [annotation][in] */
|
||||
__RPC__in LPOLESTR szName,
|
||||
/* [in] */ ULONG lHashVal,
|
||||
/* [out] */ ITypeInfo **ppTInfo,
|
||||
/* [out] */ ITypeComp **ppTComp);
|
||||
|
||||
END_INTERFACE
|
||||
} ITypeCompVtbl;
|
||||
@@ -0,0 +1,125 @@
|
||||
typedef struct ITypeInfoVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in ITypeInfo * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in ITypeInfo * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in ITypeInfo * This);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetTypeAttr )(
|
||||
ITypeInfo * This,
|
||||
/* [out] */ TYPEATTR **ppTypeAttr);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeComp )(
|
||||
__RPC__in ITypeInfo * This,
|
||||
/* [out] */ __RPC__deref_out_opt ITypeComp **ppTComp);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetFuncDesc )(
|
||||
ITypeInfo * This,
|
||||
/* [in] */ UINT index,
|
||||
/* [out] */ FUNCDESC **ppFuncDesc);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetVarDesc )(
|
||||
ITypeInfo * This,
|
||||
/* [in] */ UINT index,
|
||||
/* [out] */ VARDESC **ppVarDesc);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetNames )(
|
||||
ITypeInfo * This,
|
||||
/* [in] */ MEMBERID memid,
|
||||
/* [length_is][size_is][out] */ BSTR *rgBstrNames,
|
||||
/* [in] */ UINT cMaxNames,
|
||||
/* [out] */ UINT *pcNames);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetRefTypeOfImplType )(
|
||||
__RPC__in ITypeInfo * This,
|
||||
/* [in] */ UINT index,
|
||||
/* [out] */ __RPC__out HREFTYPE *pRefType);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetImplTypeFlags )(
|
||||
__RPC__in ITypeInfo * This,
|
||||
/* [in] */ UINT index,
|
||||
/* [out] */ __RPC__out INT *pImplTypeFlags);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
ITypeInfo * This,
|
||||
/* [annotation][size_is][in] */
|
||||
__RPC__in_ecount(cNames) LPOLESTR *rgszNames,
|
||||
/* [in] */ UINT cNames,
|
||||
/* [size_is][out] */ MEMBERID *pMemId);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
|
||||
ITypeInfo * This,
|
||||
/* [in] */ PVOID pvInstance,
|
||||
/* [in] */ MEMBERID memid,
|
||||
/* [in] */ WORD wFlags,
|
||||
/* [out][in] */ DISPPARAMS *pDispParams,
|
||||
/* [out] */ VARIANT *pVarResult,
|
||||
/* [out] */ EXCEPINFO *pExcepInfo,
|
||||
/* [out] */ UINT *puArgErr);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDocumentation )(
|
||||
ITypeInfo * This,
|
||||
/* [in] */ MEMBERID memid,
|
||||
/* [out] */ BSTR *pBstrName,
|
||||
/* [out] */ BSTR *pBstrDocString,
|
||||
/* [out] */ DWORD *pdwHelpContext,
|
||||
/* [out] */ BSTR *pBstrHelpFile);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDllEntry )(
|
||||
ITypeInfo * This,
|
||||
/* [in] */ MEMBERID memid,
|
||||
/* [in] */ INVOKEKIND invKind,
|
||||
/* [out] */ BSTR *pBstrDllName,
|
||||
/* [out] */ BSTR *pBstrName,
|
||||
/* [out] */ WORD *pwOrdinal);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetRefTypeInfo )(
|
||||
__RPC__in ITypeInfo * This,
|
||||
/* [in] */ HREFTYPE hRefType,
|
||||
/* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *AddressOfMember )(
|
||||
ITypeInfo * This,
|
||||
/* [in] */ MEMBERID memid,
|
||||
/* [in] */ INVOKEKIND invKind,
|
||||
/* [out] */ PVOID *ppv);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateInstance )(
|
||||
ITypeInfo * This,
|
||||
/* [in] */ IUnknown *pUnkOuter,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [iid_is][out] */ PVOID *ppvObj);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetMops )(
|
||||
__RPC__in ITypeInfo * This,
|
||||
/* [in] */ MEMBERID memid,
|
||||
/* [out] */ __RPC__deref_out_opt BSTR *pBstrMops);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetContainingTypeLib )(
|
||||
ITypeInfo * This,
|
||||
/* [out] */ ITypeLib **ppTLib,
|
||||
/* [out] */ UINT *pIndex);
|
||||
|
||||
/* [local] */ DWORD /*void*/ ( STDMETHODCALLTYPE *ReleaseTypeAttr )(
|
||||
ITypeInfo * This,
|
||||
/* [in] */ TYPEATTR *pTypeAttr);
|
||||
|
||||
/* [local] */ DWORD ( STDMETHODCALLTYPE *ReleaseFuncDesc )(
|
||||
ITypeInfo * This,
|
||||
/* [in] */ FUNCDESC *pFuncDesc);
|
||||
|
||||
/* [local] */ DWORD ( STDMETHODCALLTYPE *ReleaseVarDesc )(
|
||||
ITypeInfo * This,
|
||||
/* [in] */ VARDESC *pVarDesc);
|
||||
|
||||
END_INTERFACE
|
||||
} ITypeInfoVtbl;
|
||||
@@ -0,0 +1,72 @@
|
||||
typedef struct ITypeLibVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in ITypeLib * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in ITypeLib * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in ITypeLib * This);
|
||||
|
||||
/* [local] */ UINT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
ITypeLib * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
__RPC__in ITypeLib * This,
|
||||
/* [in] */ UINT index,
|
||||
/* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoType )(
|
||||
__RPC__in ITypeLib * This,
|
||||
/* [in] */ UINT index,
|
||||
/* [out] */ __RPC__out TYPEKIND *pTKind);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoOfGuid )(
|
||||
__RPC__in ITypeLib * This,
|
||||
/* [in] */ __RPC__in REFGUID guid,
|
||||
/* [out] */ __RPC__deref_out_opt ITypeInfo **ppTinfo);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetLibAttr )(
|
||||
ITypeLib * This,
|
||||
/* [out] */ TLIBATTR **ppTLibAttr);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeComp )(
|
||||
__RPC__in ITypeLib * This,
|
||||
/* [out] */ __RPC__deref_out_opt ITypeComp **ppTComp);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDocumentation )(
|
||||
ITypeLib * This,
|
||||
/* [in] */ INT index,
|
||||
/* [out] */ BSTR *pBstrName,
|
||||
/* [out] */ BSTR *pBstrDocString,
|
||||
/* [out] */ DWORD *pdwHelpContext,
|
||||
/* [out] */ BSTR *pBstrHelpFile);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *IsName )(
|
||||
ITypeLib * This,
|
||||
/* [annotation][out][in] */
|
||||
__RPC__inout LPOLESTR szNameBuf,
|
||||
/* [in] */ ULONG lHashVal,
|
||||
/* [out] */ BOOL *pfName);
|
||||
|
||||
/* [local] */ HRESULT ( STDMETHODCALLTYPE *FindName )(
|
||||
ITypeLib * This,
|
||||
/* [annotation][out][in] */
|
||||
__RPC__inout LPOLESTR szNameBuf,
|
||||
/* [in] */ ULONG lHashVal,
|
||||
/* [length_is][size_is][out] */ ITypeInfo **ppTInfo,
|
||||
/* [length_is][size_is][out] */ MEMBERID *rgMemId,
|
||||
/* [out][in] */ USHORT *pcFound);
|
||||
|
||||
/* [local] */ DWORD /* void */ ( STDMETHODCALLTYPE *ReleaseTLibAttr )(
|
||||
ITypeLib * This,
|
||||
/* [in] */ TLIBATTR *pTLibAttr);
|
||||
|
||||
END_INTERFACE
|
||||
} ITypeLibVtbl;
|
||||
@@ -0,0 +1,28 @@
|
||||
typedef struct MyClsVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
MyCls * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
__RPC__deref_out void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
MyCls * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
MyCls * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *add )(
|
||||
MyCls * This,
|
||||
/* [in] */ UINT x,
|
||||
/* [in] */ UINT y,
|
||||
/* [out] */ UINT *res);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *print_state )(
|
||||
MyCls * This);
|
||||
|
||||
END_INTERFACE
|
||||
} MyClsVtbl;
|
||||
|
||||
@@ -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,321 @@
|
||||
typedef struct IWebBrowser2Vtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IWebBrowser2 * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IWebBrowser2 * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [out] */ __RPC__out UINT *pctinfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ UINT iTInfo,
|
||||
/* [in] */ LCID lcid,
|
||||
/* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
|
||||
__RPC__in IWebBrowser2 * 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 )(
|
||||
IWebBrowser2 * This,
|
||||
/* [annotation][in] */
|
||||
DISPID dispIdMember,
|
||||
/* [annotation][in] */
|
||||
REFIID riid,
|
||||
/* [annotation][in] */
|
||||
LCID lcid,
|
||||
/* [annotation][in] */
|
||||
WORD wFlags,
|
||||
/* [annotation][out][in] */
|
||||
DISPPARAMS *pDispParams,
|
||||
/* [annotation][out] */
|
||||
VARIANT *pVarResult,
|
||||
/* [annotation][out] */
|
||||
EXCEPINFO *pExcepInfo,
|
||||
/* [annotation][out] */
|
||||
UINT *puArgErr);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GoBack )(
|
||||
__RPC__in IWebBrowser2 * This);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GoForward )(
|
||||
__RPC__in IWebBrowser2 * This);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GoHome )(
|
||||
__RPC__in IWebBrowser2 * This);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GoSearch )(
|
||||
__RPC__in IWebBrowser2 * This);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Navigate )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ __RPC__in BSTR URL,
|
||||
/* [unique][optional][in] */ __RPC__in_opt VARIANT *Flags,
|
||||
/* [unique][optional][in] */ __RPC__in_opt VARIANT *TargetFrameName,
|
||||
/* [unique][optional][in] */ __RPC__in_opt VARIANT *PostData,
|
||||
/* [unique][optional][in] */ __RPC__in_opt VARIANT *Headers);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Refresh )(
|
||||
__RPC__in IWebBrowser2 * This);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Refresh2 )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [unique][optional][in] */ __RPC__in_opt VARIANT *Level);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Stop )(
|
||||
__RPC__in IWebBrowser2 * This);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IDispatch **ppDisp);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IDispatch **ppDisp);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Container )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IDispatch **ppDisp);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Document )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt IDispatch **ppDisp);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TopLevelContainer )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *pBool);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *Type);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out long *pl);
|
||||
|
||||
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Left )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ long Left);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out long *pl);
|
||||
|
||||
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Top )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ long Top);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out long *pl);
|
||||
|
||||
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ long Width);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out long *pl);
|
||||
|
||||
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ long Height);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LocationName )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *LocationName);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LocationURL )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *LocationURL);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Busy )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *pBool);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Quit )(
|
||||
__RPC__in IWebBrowser2 * This);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ClientToWindow )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [out][in] */ __RPC__inout int *pcx,
|
||||
/* [out][in] */ __RPC__inout int *pcy);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PutProperty )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ __RPC__in BSTR Property,
|
||||
/* [in] */ VARIANT vtValue);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetProperty )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ __RPC__in BSTR Property,
|
||||
/* [retval][out] */ __RPC__out VARIANT *pvtValue);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *Name);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HWND )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out PVOID *pHWND);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullName )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *FullName);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Path )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *Path);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *pBool);
|
||||
|
||||
/* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ VARIANT_BOOL Value);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StatusBar )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *pBool);
|
||||
|
||||
/* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StatusBar )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ VARIANT_BOOL Value);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StatusText )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__deref_out_opt BSTR *StatusText);
|
||||
|
||||
/* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StatusText )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ __RPC__in BSTR StatusText);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ToolBar )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out int *Value);
|
||||
|
||||
/* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ToolBar )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ int Value);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MenuBar )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *Value);
|
||||
|
||||
/* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MenuBar )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ VARIANT_BOOL Value);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *pbFullScreen);
|
||||
|
||||
/* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ VARIANT_BOOL bFullScreen);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Navigate2 )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ __RPC__in VARIANT *URL,
|
||||
/* [unique][optional][in] */ __RPC__in_opt VARIANT *Flags,
|
||||
/* [unique][optional][in] */ __RPC__in_opt VARIANT *TargetFrameName,
|
||||
/* [unique][optional][in] */ __RPC__in_opt VARIANT *PostData,
|
||||
/* [unique][optional][in] */ __RPC__in_opt VARIANT *Headers);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *QueryStatusWB )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ DWORD cmdID,
|
||||
/* [retval][out] */ __RPC__out DWORD *pcmdf);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ExecWB )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ DWORD cmdID,
|
||||
/* [in] */ DWORD cmdexecopt,
|
||||
/* [unique][optional][in] */ __RPC__in_opt VARIANT *pvaIn,
|
||||
/* [unique][optional][out][in] */ __RPC__inout_opt VARIANT *pvaOut);
|
||||
|
||||
/* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowBrowserBar )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ __RPC__in VARIANT *pvaClsid,
|
||||
/* [unique][optional][in] */ __RPC__in_opt VARIANT *pvarShow,
|
||||
/* [unique][optional][in] */ __RPC__in_opt VARIANT *pvarSize);
|
||||
|
||||
/* [bindable][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadyState )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [out][retval] */ __RPC__out DWORD *plReadyState);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Offline )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *pbOffline);
|
||||
|
||||
/* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Offline )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ VARIANT_BOOL bOffline);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Silent )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *pbSilent);
|
||||
|
||||
/* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Silent )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ VARIANT_BOOL bSilent);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegisterAsBrowser )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *pbRegister);
|
||||
|
||||
/* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RegisterAsBrowser )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ VARIANT_BOOL bRegister);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegisterAsDropTarget )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *pbRegister);
|
||||
|
||||
/* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RegisterAsDropTarget )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ VARIANT_BOOL bRegister);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TheaterMode )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *pbRegister);
|
||||
|
||||
/* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TheaterMode )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ VARIANT_BOOL bRegister);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AddressBar )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *Value);
|
||||
|
||||
/* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AddressBar )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ VARIANT_BOOL Value);
|
||||
|
||||
/* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Resizable )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [retval][out] */ __RPC__out VARIANT_BOOL *Value);
|
||||
|
||||
/* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Resizable )(
|
||||
__RPC__in IWebBrowser2 * This,
|
||||
/* [in] */ VARIANT_BOOL Value);
|
||||
|
||||
END_INTERFACE
|
||||
} IWebBrowser2Vtbl;
|
||||
@@ -0,0 +1,38 @@
|
||||
typedef struct IApplicationActivationManagerVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IApplicationActivationManager * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
_COM_Outptr_ void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IApplicationActivationManager * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IApplicationActivationManager * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *ActivateApplication )(
|
||||
__RPC__in IApplicationActivationManager * This,
|
||||
/* [in] */ __RPC__in LPCWSTR appUserModelId,
|
||||
/* [unique][in] */ __RPC__in_opt LPCWSTR arguments,
|
||||
/* [in] */ ACTIVATEOPTIONS options,
|
||||
/* [out] */ __RPC__out DWORD *processId);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *ActivateForFile )(
|
||||
__RPC__in IApplicationActivationManager * This,
|
||||
/* [in] */ __RPC__in LPCWSTR appUserModelId,
|
||||
/* [in] */ __RPC__in_opt IShellItemArray *itemArray,
|
||||
/* [unique][in] */ __RPC__in_opt LPCWSTR verb,
|
||||
/* [out] */ __RPC__out DWORD *processId);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *ActivateForProtocol )(
|
||||
__RPC__in IApplicationActivationManager * This,
|
||||
/* [in] */ __RPC__in LPCWSTR appUserModelId,
|
||||
/* [in] */ __RPC__in_opt IShellItemArray *itemArray,
|
||||
/* [out] */ __RPC__out DWORD *processId);
|
||||
|
||||
END_INTERFACE
|
||||
} IApplicationActivationManagerVtbl;
|
||||
@@ -0,0 +1,111 @@
|
||||
typedef struct IPackageDebugSettingsVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [in] */ REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
_COM_Outptr_ void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
IPackageDebugSettings * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
IPackageDebugSettings * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *EnableDebugging )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ LPCWSTR packageFullName,
|
||||
/* [annotation][in] */
|
||||
_In_opt_ LPCWSTR debuggerCommandLine,
|
||||
/* [annotation][in] */
|
||||
_In_opt_ PZZWSTR environment);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *DisableDebugging )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ LPCWSTR packageFullName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Suspend )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ LPCWSTR packageFullName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *Resume )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ LPCWSTR packageFullName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *TerminateAllProcesses )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ LPCWSTR packageFullName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *SetTargetSessionId )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ ULONG sessionId);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *EnumerateBackgroundTasks )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ LPCWSTR packageFullName,
|
||||
/* [annotation][out] */
|
||||
_Out_ ULONG *taskCount,
|
||||
/* [annotation][size_is][size_is][out] */
|
||||
_Outptr_result_buffer_(*taskCount) LPCGUID *taskIds,
|
||||
/* [annotation][size_is][size_is][out] */
|
||||
_Outptr_result_buffer_(*taskCount) LPCWSTR **taskNames);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *ActivateBackgroundTask )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ LPCGUID taskId);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *StartServicing )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ LPCWSTR packageFullName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *StopServicing )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ LPCWSTR packageFullName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *StartSessionRedirection )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ LPCWSTR packageFullName,
|
||||
/* [annotation][in] */
|
||||
_In_ ULONG sessionId);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *StopSessionRedirection )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ LPCWSTR packageFullName);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *GetPackageExecutionState )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ LPCWSTR packageFullName,
|
||||
/* [annotation][out] */
|
||||
_Out_ PACKAGE_EXECUTION_STATE *packageExecutionState);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *RegisterForPackageStateChanges )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ LPCWSTR packageFullName,
|
||||
/* [annotation][in] */
|
||||
_In_ IPackageExecutionStateChangeNotification *pPackageExecutionStateChangeNotification,
|
||||
/* [annotation][out] */
|
||||
_Out_ DWORD *pdwCookie);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *UnregisterForPackageStateChanges )(
|
||||
IPackageDebugSettings * This,
|
||||
/* [annotation][in] */
|
||||
_In_ DWORD dwCookie);
|
||||
|
||||
END_INTERFACE
|
||||
} IPackageDebugSettingsVtbl;
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
typedef struct IPackageExecutionStateChangeNotificationVtbl
|
||||
{
|
||||
BEGIN_INTERFACE
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
|
||||
__RPC__in IPackageExecutionStateChangeNotification * This,
|
||||
/* [in] */ __RPC__in REFIID riid,
|
||||
/* [annotation][iid_is][out] */
|
||||
_COM_Outptr_ void **ppvObject);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *AddRef )(
|
||||
__RPC__in IPackageExecutionStateChangeNotification * This);
|
||||
|
||||
ULONG ( STDMETHODCALLTYPE *Release )(
|
||||
__RPC__in IPackageExecutionStateChangeNotification * This);
|
||||
|
||||
HRESULT ( STDMETHODCALLTYPE *OnStateChanged )(
|
||||
__RPC__in IPackageExecutionStateChangeNotification * This,
|
||||
/* [string][in] */ __RPC__in_string LPCWSTR pszPackageFullName,
|
||||
/* [in] */ PACKAGE_EXECUTION_STATE pesNewState);
|
||||
|
||||
END_INTERFACE
|
||||
} IPackageExecutionStateChangeNotificationVtbl;
|
||||
@@ -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,7 @@
|
||||
#define BG_JOB_ENUM_ALL_USERS 0x0001
|
||||
|
||||
#define BG_NOTIFY_JOB_TRANSFERRED 0x0001
|
||||
#define BG_NOTIFY_JOB_ERROR 0x0002
|
||||
#define BG_NOTIFY_DISABLE 0x0004
|
||||
#define BG_NOTIFY_JOB_MODIFICATION 0x0008
|
||||
#define BG_NOTIFY_FILE_TRANSFERRED 0x0010
|
||||
@@ -0,0 +1,145 @@
|
||||
#define MAX_DEVICE_ID_LEN 200
|
||||
#define MAX_DEVNODE_ID_LEN MAX_DEVICE_ID_LEN
|
||||
|
||||
#define MAX_GUID_STRING_LEN 39 // 38 chars + terminator null
|
||||
#define MAX_CLASS_NAME_LEN 32
|
||||
#define MAX_PROFILE_LEN 80
|
||||
|
||||
#define MAX_CONFIG_VALUE 9999
|
||||
#define MAX_INSTANCE_VALUE 9999
|
||||
|
||||
#define MAX_MEM_REGISTERS 9 // Win95 compatibility--not applicable to 32-bit ConfigMgr
|
||||
#define MAX_IO_PORTS 20 // Win95 compatibility--not applicable to 32-bit ConfigMgr
|
||||
#define MAX_IRQS 7 // Win95 compatibility--not applicable to 32-bit ConfigMgr
|
||||
#define MAX_DMA_CHANNELS 7 // Win95 compatibility--not applicable to 32-bit ConfigMgr
|
||||
|
||||
#define DWORD_MAX 0xffffffff
|
||||
#define DWORDLONG_MAX 0xffffffffffffffff
|
||||
|
||||
|
||||
|
||||
#define CM_DEVCAP_LOCKSUPPORTED (0x00000001)
|
||||
#define CM_DEVCAP_EJECTSUPPORTED (0x00000002)
|
||||
#define CM_DEVCAP_REMOVABLE (0x00000004)
|
||||
#define CM_DEVCAP_DOCKDEVICE (0x00000008)
|
||||
#define CM_DEVCAP_UNIQUEID (0x00000010)
|
||||
#define CM_DEVCAP_SILENTINSTALL (0x00000020)
|
||||
#define CM_DEVCAP_RAWDEVICEOK (0x00000040)
|
||||
#define CM_DEVCAP_SURPRISEREMOVALOK (0x00000080)
|
||||
#define CM_DEVCAP_HARDWAREDISABLED (0x00000100)
|
||||
#define CM_DEVCAP_NONDYNAMIC (0x00000200)
|
||||
|
||||
|
||||
//
|
||||
// Resource types
|
||||
//
|
||||
#define ResType_All (0x00000000) // Return all resource types
|
||||
#define ResType_None (0x00000000) // Arbitration always succeeded
|
||||
#define ResType_Mem (0x00000001) // Physical address resource
|
||||
#define ResType_IO (0x00000002) // Physical I/O address resource
|
||||
#define ResType_DMA (0x00000003) // DMA channels resource
|
||||
#define ResType_IRQ (0x00000004) // IRQ resource
|
||||
#define ResType_DoNotUse (0x00000005) // Used as spacer to sync subsequent ResTypes w/NT
|
||||
#define ResType_BusNumber (0x00000006) // bus number resource
|
||||
#define ResType_MemLarge (0x00000007) // Memory resources >= 4GB
|
||||
#define ResType_MAX (0x00000007) // Maximum known (arbitrated) ResType
|
||||
|
||||
#define ResType_Ignored_Bit (0x00008000) // Ignore this resource
|
||||
#define ResType_ClassSpecific (0x0000FFFF) // class-specific resource
|
||||
#define ResType_Reserved (0x00008000) // reserved for internal use
|
||||
#define ResType_DevicePrivate (0x00008001) // device private data
|
||||
#define ResType_PcCardConfig (0x00008002) // PC Card configuration data
|
||||
#define ResType_MfCardConfig (0x00008003) // MF Card configuration data
|
||||
#define ResType_Connection (0x00008004) // Connection (Resource Hub) resource
|
||||
|
||||
|
||||
//
|
||||
// Logical Config Flags (specified in call to CM_Get_First_Log_Conf
|
||||
//
|
||||
#define BASIC_LOG_CONF 0x00000000 // Specifies the req list.
|
||||
#define FILTERED_LOG_CONF 0x00000001 // Specifies the filtered req list.
|
||||
#define ALLOC_LOG_CONF 0x00000002 // Specifies the Alloc Element.
|
||||
#define BOOT_LOG_CONF 0x00000003 // Specifies the RM Alloc Element.
|
||||
#define FORCED_LOG_CONF 0x00000004 // Specifies the Forced Log Conf
|
||||
#define OVERRIDE_LOG_CONF 0x00000005 // Specifies the Override req list.
|
||||
#define NUM_LOG_CONF 0x00000006 // Number of Log Conf type
|
||||
#define LOG_CONF_BITS 0x00000007 // The bits of the log conf type.
|
||||
|
||||
#define PRIORITY_EQUAL_FIRST (0x00000008) // Same priority, new one first
|
||||
#define PRIORITY_EQUAL_LAST (0x00000000) // Same priority, new one last
|
||||
#define PRIORITY_BIT (0x00000008)
|
||||
|
||||
|
||||
//
|
||||
// Configuration Manager CONFIGRET return status codes
|
||||
//
|
||||
|
||||
#define CR_SUCCESS (0x00000000)
|
||||
#define CR_DEFAULT (0x00000001)
|
||||
#define CR_OUT_OF_MEMORY (0x00000002)
|
||||
#define CR_INVALID_POINTER (0x00000003)
|
||||
#define CR_INVALID_FLAG (0x00000004)
|
||||
#define CR_INVALID_DEVNODE (0x00000005)
|
||||
#define CR_INVALID_DEVINST CR_INVALID_DEVNODE
|
||||
#define CR_INVALID_RES_DES (0x00000006)
|
||||
#define CR_INVALID_LOG_CONF (0x00000007)
|
||||
#define CR_INVALID_ARBITRATOR (0x00000008)
|
||||
#define CR_INVALID_NODELIST (0x00000009)
|
||||
#define CR_DEVNODE_HAS_REQS (0x0000000A)
|
||||
#define CR_DEVINST_HAS_REQS CR_DEVNODE_HAS_REQS
|
||||
#define CR_INVALID_RESOURCEID (0x0000000B)
|
||||
#define CR_DLVXD_NOT_FOUND (0x0000000C) // WIN 95 ONLY
|
||||
#define CR_NO_SUCH_DEVNODE (0x0000000D)
|
||||
#define CR_NO_SUCH_DEVINST CR_NO_SUCH_DEVNODE
|
||||
#define CR_NO_MORE_LOG_CONF (0x0000000E)
|
||||
#define CR_NO_MORE_RES_DES (0x0000000F)
|
||||
#define CR_ALREADY_SUCH_DEVNODE (0x00000010)
|
||||
#define CR_ALREADY_SUCH_DEVINST CR_ALREADY_SUCH_DEVNODE
|
||||
#define CR_INVALID_RANGE_LIST (0x00000011)
|
||||
#define CR_INVALID_RANGE (0x00000012)
|
||||
#define CR_FAILURE (0x00000013)
|
||||
#define CR_NO_SUCH_LOGICAL_DEV (0x00000014)
|
||||
#define CR_CREATE_BLOCKED (0x00000015)
|
||||
#define CR_NOT_SYSTEM_VM (0x00000016) // WIN 95 ONLY
|
||||
#define CR_REMOVE_VETOED (0x00000017)
|
||||
#define CR_APM_VETOED (0x00000018)
|
||||
#define CR_INVALID_LOAD_TYPE (0x00000019)
|
||||
#define CR_BUFFER_SMALL (0x0000001A)
|
||||
#define CR_NO_ARBITRATOR (0x0000001B)
|
||||
#define CR_NO_REGISTRY_HANDLE (0x0000001C)
|
||||
#define CR_REGISTRY_ERROR (0x0000001D)
|
||||
#define CR_INVALID_DEVICE_ID (0x0000001E)
|
||||
#define CR_INVALID_DATA (0x0000001F)
|
||||
#define CR_INVALID_API (0x00000020)
|
||||
#define CR_DEVLOADER_NOT_READY (0x00000021)
|
||||
#define CR_NEED_RESTART (0x00000022)
|
||||
#define CR_NO_MORE_HW_PROFILES (0x00000023)
|
||||
#define CR_DEVICE_NOT_THERE (0x00000024)
|
||||
#define CR_NO_SUCH_VALUE (0x00000025)
|
||||
#define CR_WRONG_TYPE (0x00000026)
|
||||
#define CR_INVALID_PRIORITY (0x00000027)
|
||||
#define CR_NOT_DISABLEABLE (0x00000028)
|
||||
#define CR_FREE_RESOURCES (0x00000029)
|
||||
#define CR_QUERY_VETOED (0x0000002A)
|
||||
#define CR_CANT_SHARE_IRQ (0x0000002B)
|
||||
#define CR_NO_DEPENDENT (0x0000002C)
|
||||
#define CR_SAME_RESOURCES (0x0000002D)
|
||||
#define CR_NO_SUCH_REGISTRY_KEY (0x0000002E)
|
||||
#define CR_INVALID_MACHINENAME (0x0000002F) // NT ONLY
|
||||
#define CR_REMOTE_COMM_FAILURE (0x00000030) // NT ONLY
|
||||
#define CR_MACHINE_UNAVAILABLE (0x00000031) // NT ONLY
|
||||
#define CR_NO_CM_SERVICES (0x00000032) // NT ONLY
|
||||
#define CR_ACCESS_DENIED (0x00000033) // NT ONLY
|
||||
#define CR_CALL_NOT_IMPLEMENTED (0x00000034)
|
||||
#define CR_INVALID_PROPERTY (0x00000035)
|
||||
#define CR_DEVICE_INTERFACE_ACTIVE (0x00000036)
|
||||
#define CR_NO_SUCH_DEVICE_INTERFACE (0x00000037)
|
||||
#define CR_INVALID_REFERENCE_STRING (0x00000038)
|
||||
#define CR_INVALID_CONFLICT_LIST (0x00000039)
|
||||
#define CR_INVALID_INDEX (0x0000003A)
|
||||
#define CR_INVALID_STRUCTURE_SIZE (0x0000003B)
|
||||
#define NUM_CR_RESULTS (0x0000003C)
|
||||
|
||||
|
||||
#define PCD_MAX_MEMORY 2
|
||||
#define PCD_MAX_IO 2
|
||||
@@ -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,58 @@
|
||||
#define FILE_DEVICE_8042_PORT 0x00000027
|
||||
#define FILE_DEVICE_ACPI 0x00000032
|
||||
#define FILE_DEVICE_BATTERY 0x00000029
|
||||
#define FILE_DEVICE_BEEP 0x00000001
|
||||
#define FILE_DEVICE_BUS_EXTENDER 0x0000002a
|
||||
#define FILE_DEVICE_CD_ROM 0x00000002
|
||||
#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003
|
||||
#define FILE_DEVICE_CHANGER 0x00000030
|
||||
#define FILE_DEVICE_CONTROLLER 0x00000004
|
||||
#define FILE_DEVICE_DATALINK 0x00000005
|
||||
#define FILE_DEVICE_DFS 0x00000006
|
||||
#define FILE_DEVICE_DFS_FILE_SYSTEM 0x00000035
|
||||
#define FILE_DEVICE_DFS_VOLUME 0x00000036
|
||||
#define FILE_DEVICE_DISK 0x00000007
|
||||
#define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008
|
||||
#define FILE_DEVICE_DVD 0x00000033
|
||||
#define FILE_DEVICE_FILE_SYSTEM 0x00000009
|
||||
#define FILE_DEVICE_FIPS 0x0000003a
|
||||
#define FILE_DEVICE_FULLSCREEN_VIDEO 0x00000034
|
||||
#define FILE_DEVICE_INPORT_PORT 0x0000000a
|
||||
#define FILE_DEVICE_KEYBOARD 0x0000000b
|
||||
#define FILE_DEVICE_KS 0x0000002f
|
||||
#define FILE_DEVICE_KSEC 0x00000039
|
||||
#define FILE_DEVICE_MAILSLOT 0x0000000c
|
||||
#define FILE_DEVICE_MASS_STORAGE 0x0000002d
|
||||
#define FILE_DEVICE_MIDI_IN 0x0000000d
|
||||
#define FILE_DEVICE_MIDI_OUT 0x0000000e
|
||||
#define FILE_DEVICE_MODEM 0x0000002b
|
||||
#define FILE_DEVICE_MOUSE 0x0000000f
|
||||
#define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010
|
||||
#define FILE_DEVICE_NAMED_PIPE 0x00000011
|
||||
#define FILE_DEVICE_NETWORK 0x00000012
|
||||
#define FILE_DEVICE_NETWORK_BROWSER 0x00000013
|
||||
#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014
|
||||
#define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028
|
||||
#define FILE_DEVICE_NULL 0x00000015
|
||||
#define FILE_DEVICE_PARALLEL_PORT 0x00000016
|
||||
#define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017
|
||||
#define FILE_DEVICE_PRINTER 0x00000018
|
||||
#define FILE_DEVICE_SCANNER 0x00000019
|
||||
#define FILE_DEVICE_SCREEN 0x0000001c
|
||||
#define FILE_DEVICE_SERENUM 0x00000037
|
||||
#define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a
|
||||
#define FILE_DEVICE_SERIAL_PORT 0x0000001b
|
||||
#define FILE_DEVICE_SMARTCARD 0x00000031
|
||||
#define FILE_DEVICE_SMB 0x0000002e
|
||||
#define FILE_DEVICE_SOUND 0x0000001d
|
||||
#define FILE_DEVICE_STREAMS 0x0000001e
|
||||
#define FILE_DEVICE_TAPE 0x0000001f
|
||||
#define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020
|
||||
#define FILE_DEVICE_TERMSRV 0x00000038
|
||||
#define FILE_DEVICE_TRANSPORT 0x00000021
|
||||
#define FILE_DEVICE_UNKNOWN 0x00000022
|
||||
#define FILE_DEVICE_VDM 0x0000002c
|
||||
#define FILE_DEVICE_VIDEO 0x00000023
|
||||
#define FILE_DEVICE_VIRTUAL_DISK 0x00000024
|
||||
#define FILE_DEVICE_WAVE_IN 0x00000025
|
||||
#define FILE_DEVICE_WAVE_OUT 0x00000026
|
||||
@@ -0,0 +1,4 @@
|
||||
#define VIRTUAL_STORAGE_TYPE_DEVICE_UNKNOWN 0
|
||||
#define VIRTUAL_STORAGE_TYPE_DEVICE_ISO 1
|
||||
#define VIRTUAL_STORAGE_TYPE_DEVICE_VHD 2
|
||||
#define VIRTUAL_STORAGE_TYPE_DEVICE_VHDX 3
|
||||
@@ -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,5 @@
|
||||
#define APPLICATION_ERROR_MASK 0x20000000
|
||||
#define ERROR_SEVERITY_SUCCESS 0x00000000
|
||||
#define ERROR_SEVERITY_INFORMATIONAL 0x40000000
|
||||
#define ERROR_SEVERITY_WARNING 0x80000000
|
||||
#define ERROR_SEVERITY_ERROR 0xC0000000
|
||||
@@ -0,0 +1,114 @@
|
||||
//
|
||||
// Enable flags for Kernel Events on Win7 and above
|
||||
//
|
||||
#define EVENT_TRACE_FLAG_DISPATCHER 0x00000800 // scheduler (ReadyThread)
|
||||
#define EVENT_TRACE_FLAG_VIRTUAL_ALLOC 0x00004000 // VM operations
|
||||
|
||||
//
|
||||
// Enable flags for Kernel Events on Win8 and above
|
||||
//
|
||||
#define EVENT_TRACE_FLAG_VAMAP 0x00008000 // map/unmap (excluding images)
|
||||
#define EVENT_TRACE_FLAG_NO_SYSCONFIG 0x10000000 // Do not do sys config rundown
|
||||
|
||||
//
|
||||
// Pre-defined Enable flags for everybody else
|
||||
//
|
||||
#define EVENT_TRACE_FLAG_EXTENSION 0x80000000 // Indicates more flags
|
||||
#define EVENT_TRACE_FLAG_FORWARD_WMI 0x40000000 // Can forward to WMI
|
||||
#define EVENT_TRACE_FLAG_ENABLE_RESERVE 0x20000000 // Reserved
|
||||
|
||||
//
|
||||
// Logger Mode flags
|
||||
//
|
||||
#define EVENT_TRACE_FILE_MODE_NONE 0x00000000 // Logfile is off
|
||||
#define EVENT_TRACE_FILE_MODE_SEQUENTIAL 0x00000001 // Log sequentially
|
||||
#define EVENT_TRACE_FILE_MODE_CIRCULAR 0x00000002 // Log in circular manner
|
||||
#define EVENT_TRACE_FILE_MODE_APPEND 0x00000004 // Append sequential log
|
||||
|
||||
#define EVENT_TRACE_REAL_TIME_MODE 0x00000100 // Real time mode on
|
||||
#define EVENT_TRACE_DELAY_OPEN_FILE_MODE 0x00000200 // Delay opening file
|
||||
#define EVENT_TRACE_BUFFERING_MODE 0x00000400 // Buffering mode only
|
||||
#define EVENT_TRACE_PRIVATE_LOGGER_MODE 0x00000800 // Process Private Logger
|
||||
#define EVENT_TRACE_ADD_HEADER_MODE 0x00001000 // Add a logfile header
|
||||
|
||||
#define EVENT_TRACE_USE_GLOBAL_SEQUENCE 0x00004000 // Use global sequence no.
|
||||
#define EVENT_TRACE_USE_LOCAL_SEQUENCE 0x00008000 // Use local sequence no.
|
||||
|
||||
#define EVENT_TRACE_RELOG_MODE 0x00010000 // Relogger
|
||||
|
||||
#define EVENT_TRACE_USE_PAGED_MEMORY 0x01000000 // Use pageable buffers
|
||||
|
||||
//
|
||||
// Logger Mode flags on XP and above
|
||||
//
|
||||
|
||||
#define EVENT_TRACE_FILE_MODE_NEWFILE 0x00000008 // Auto-switch log file
|
||||
#define EVENT_TRACE_FILE_MODE_PREALLOCATE 0x00000020 // Pre-allocate mode
|
||||
|
||||
|
||||
//
|
||||
// ControlTrace Codes
|
||||
//
|
||||
|
||||
#define EVENT_TRACE_CONTROL_QUERY 0
|
||||
#define EVENT_TRACE_CONTROL_STOP 1
|
||||
#define EVENT_TRACE_CONTROL_UPDATE 2
|
||||
|
||||
//
|
||||
// Flush ControlTrace Codes for XP and above
|
||||
//
|
||||
|
||||
#define EVENT_TRACE_CONTROL_FLUSH 3 // Flushes all the buffers
|
||||
|
||||
|
||||
//
|
||||
// Consumer API
|
||||
//
|
||||
|
||||
#define PROCESS_TRACE_MODE_REAL_TIME 0x00000100
|
||||
#define PROCESS_TRACE_MODE_RAW_TIMESTAMP 0x00001000
|
||||
#define PROCESS_TRACE_MODE_EVENT_RECORD 0x10000000
|
||||
|
||||
|
||||
|
||||
#define EVENT_HEADER_PROPERTY_XML 0x0001
|
||||
#define EVENT_HEADER_PROPERTY_FORWARDED_XML 0x0002
|
||||
#define EVENT_HEADER_PROPERTY_LEGACY_EVENTLOG 0x0004
|
||||
|
||||
#define EVENT_HEADER_FLAG_EXTENDED_INFO 0x0001
|
||||
#define EVENT_HEADER_FLAG_PRIVATE_SESSION 0x0002
|
||||
#define EVENT_HEADER_FLAG_STRING_ONLY 0x0004
|
||||
#define EVENT_HEADER_FLAG_TRACE_MESSAGE 0x0008
|
||||
#define EVENT_HEADER_FLAG_NO_CPUTIME 0x0010
|
||||
#define EVENT_HEADER_FLAG_32_BIT_HEADER 0x0020
|
||||
#define EVENT_HEADER_FLAG_64_BIT_HEADER 0x0040
|
||||
#define EVENT_HEADER_FLAG_CLASSIC_HEADER 0x0100
|
||||
#define EVENT_HEADER_FLAG_PROCESSOR_INDEX 0x0200
|
||||
|
||||
|
||||
|
||||
// Event types for system configuration records
|
||||
//
|
||||
#define EVENT_TRACE_TYPE_CONFIG_CPU 0x0A // CPU Configuration
|
||||
#define EVENT_TRACE_TYPE_CONFIG_PHYSICALDISK 0x0B // Physical Disk Configuration
|
||||
#define EVENT_TRACE_TYPE_CONFIG_LOGICALDISK 0x0C // Logical Disk Configuration
|
||||
#define EVENT_TRACE_TYPE_CONFIG_NIC 0x0D // NIC Configuration
|
||||
#define EVENT_TRACE_TYPE_CONFIG_VIDEO 0x0E // Video Adapter Configuration
|
||||
#define EVENT_TRACE_TYPE_CONFIG_SERVICES 0x0F // Active Services
|
||||
#define EVENT_TRACE_TYPE_CONFIG_POWER 0x10 // ACPI Configuration
|
||||
#define EVENT_TRACE_TYPE_CONFIG_NETINFO 0x11 // Networking Configuration
|
||||
|
||||
//
|
||||
// Enable flags for SystemControlGuid only
|
||||
//
|
||||
#define EVENT_TRACE_FLAG_PROCESS 0x00000001 // process start & end
|
||||
#define EVENT_TRACE_FLAG_THREAD 0x00000002 // thread start & end
|
||||
#define EVENT_TRACE_FLAG_IMAGE_LOAD 0x00000004 // image load
|
||||
#define EVENT_TRACE_FLAG_DISK_IO 0x00000100 // physical disk IO
|
||||
#define EVENT_TRACE_FLAG_DISK_FILE_IO 0x00000200 // requires disk IO
|
||||
#define EVENT_TRACE_FLAG_MEMORY_PAGE_FAULTS 0x00001000 // all page faults
|
||||
#define EVENT_TRACE_FLAG_MEMORY_HARD_FAULTS 0x00002000 // hard faults only
|
||||
#define EVENT_TRACE_FLAG_NETWORK_TCPIP 0x00010000 // tcpip send & receive
|
||||
#define EVENT_TRACE_FLAG_REGISTRY 0x00020000 // registry calls
|
||||
#define EVENT_TRACE_FLAG_DBGPRINT 0x00040000 // DbgPrint(ex) Calls
|
||||
#define EVENT_TRACE_FLAG_VOLMGR 0x00200000 // volume manager traces
|
||||
@@ -0,0 +1,39 @@
|
||||
/* From ntdbg.h */
|
||||
|
||||
#define X86_KGDT_NULL 0
|
||||
#define X86_KGDT_R0_CODE 8
|
||||
#define X86_KGDT_R0_DATA 16
|
||||
#define X86_KGDT_R3_CODE 24
|
||||
#define X86_KGDT_R3_DATA 32
|
||||
#define X86_KGDT_TSS 40
|
||||
#define X86_KGDT_R0_PCR 48
|
||||
#define X86_KGDT_R3_TEB 56
|
||||
#define X86_KGDT_VDM_TILE 64
|
||||
#define X86_KGDT_LDT 72
|
||||
#define X86_KGDT_DF_TSS 80
|
||||
#define X86_KGDT_NMI_TSS 88
|
||||
|
||||
#define X86_FRAME_EDITED 0xfff8
|
||||
#define X86_MODE_MASK 1
|
||||
#define X86_EFLAGS_V86_MASK 0x00020000
|
||||
|
||||
#define AMD64_KGDT64_NULL (0 * 16) // NULL descriptor
|
||||
#define AMD64_KGDT64_R0_CODE (1 * 16) // kernel mode 64-bit code
|
||||
#define AMD64_KGDT64_R0_DATA (1 * 16) + 8 // kernel mode 64-bit data (stack)
|
||||
#define AMD64_KGDT64_R3_CMCODE (2 * 16) // user mode 32-bit code
|
||||
#define AMD64_KGDT64_R3_DATA (2 * 16) + 8 // user mode 32-bit data
|
||||
#define AMD64_KGDT64_R3_CODE (3 * 16) // user mode 64-bit code
|
||||
#define AMD64_KGDT64_SYS_TSS (4 * 16) // kernel mode system task state
|
||||
#define AMD64_KGDT64_R3_CMTEB (5 * 16) // user mode 32-bit TEB
|
||||
#define AMD64_KGDT64_LAST (6 * 16)
|
||||
|
||||
/* From i386.h & amd64.h */
|
||||
|
||||
#define MODE_BIT 0
|
||||
#define MODE_MASK 1 // ntosp
|
||||
#define RPL_MASK 3
|
||||
|
||||
/* Custom usefull define for CS userland values 0x23 * 0x33 */
|
||||
|
||||
#define CS_USER_32B (AMD64_KGDT64_R3_CMCODE | RPL_MASK)
|
||||
#define CS_USER_64B (AMD64_KGDT64_R3_CODE | RPL_MASK)
|
||||
@@ -0,0 +1,5 @@
|
||||
#define FC_ALLOCATE_ALL_NODES 0x01
|
||||
#define FC_DONT_FREE 0x02
|
||||
#define FC_ALLOCED_ON_STACK 0x04
|
||||
#define FC_SIMPLE_POINTER 0x08
|
||||
#define FC_POINTER_DEREF 0x10
|
||||
@@ -0,0 +1,176 @@
|
||||
#define ATM_E164 0x01 /* E.164 addressing scheme */
|
||||
#define ATM_NSAP 0x02 /* NSAP-style ATM Endsystem Address scheme */
|
||||
#define ATM_AESA 0x02 /* NSAP-style ATM Endsystem Address scheme */
|
||||
#define ATM_ADDR_SIZE 20
|
||||
|
||||
#define DNS_ATMA_FORMAT_E164 ATM_E164
|
||||
#define DNS_ATMA_FORMAT_AESA ATM_AESA
|
||||
#define DNS_ATMA_MAX_ADDR_LENGTH ATM_ADDR_SIZE
|
||||
|
||||
|
||||
#define DNS_TYPE_ZERO 0x0000
|
||||
|
||||
// RFC 1034/1035
|
||||
#define DNS_TYPE_A 0x0001 // 1
|
||||
#define DNS_TYPE_NS 0x0002 // 2
|
||||
#define DNS_TYPE_MD 0x0003 // 3
|
||||
#define DNS_TYPE_MF 0x0004 // 4
|
||||
#define DNS_TYPE_CNAME 0x0005 // 5
|
||||
#define DNS_TYPE_SOA 0x0006 // 6
|
||||
#define DNS_TYPE_MB 0x0007 // 7
|
||||
#define DNS_TYPE_MG 0x0008 // 8
|
||||
#define DNS_TYPE_MR 0x0009 // 9
|
||||
#define DNS_TYPE_NULL 0x000a // 10
|
||||
#define DNS_TYPE_WKS 0x000b // 11
|
||||
#define DNS_TYPE_PTR 0x000c // 12
|
||||
#define DNS_TYPE_HINFO 0x000d // 13
|
||||
#define DNS_TYPE_MINFO 0x000e // 14
|
||||
#define DNS_TYPE_MX 0x000f // 15
|
||||
#define DNS_TYPE_TEXT 0x0010 // 16
|
||||
|
||||
// RFC 1183
|
||||
#define DNS_TYPE_RP 0x0011 // 17
|
||||
#define DNS_TYPE_AFSDB 0x0012 // 18
|
||||
#define DNS_TYPE_X25 0x0013 // 19
|
||||
#define DNS_TYPE_ISDN 0x0014 // 20
|
||||
#define DNS_TYPE_RT 0x0015 // 21
|
||||
|
||||
// RFC 1348
|
||||
#define DNS_TYPE_NSAP 0x0016 // 22
|
||||
#define DNS_TYPE_NSAPPTR 0x0017 // 23
|
||||
|
||||
// RFC 2065 (DNS security)
|
||||
#define DNS_TYPE_SIG 0x0018 // 24
|
||||
#define DNS_TYPE_KEY 0x0019 // 25
|
||||
|
||||
// RFC 1664 (X.400 mail)
|
||||
#define DNS_TYPE_PX 0x001a // 26
|
||||
|
||||
// RFC 1712 (Geographic position)
|
||||
#define DNS_TYPE_GPOS 0x001b // 27
|
||||
|
||||
// RFC 1886 (IPv6 Address)
|
||||
#define DNS_TYPE_AAAA 0x001c // 28
|
||||
|
||||
// RFC 1876 (Geographic location)
|
||||
#define DNS_TYPE_LOC 0x001d // 29
|
||||
|
||||
// RFC 2065 (Secure negative response)
|
||||
#define DNS_TYPE_NXT 0x001e // 30
|
||||
// Patton (Endpoint Identifier)
|
||||
#define DNS_TYPE_EID 0x001f // 31
|
||||
|
||||
// Patton (Nimrod Locator)
|
||||
#define DNS_TYPE_NIMLOC 0x0020 // 32
|
||||
|
||||
// RFC 2052 (Service location)
|
||||
#define DNS_TYPE_SRV 0x0021 // 33
|
||||
|
||||
// ATM Standard something-or-another (ATM Address)
|
||||
#define DNS_TYPE_ATMA 0x0022 // 34
|
||||
|
||||
// RFC 2168 (Naming Authority Pointer)
|
||||
#define DNS_TYPE_NAPTR 0x0023 // 35
|
||||
|
||||
// RFC 2230 (Key Exchanger)
|
||||
#define DNS_TYPE_KX 0x0024 // 36
|
||||
|
||||
// RFC 2538 (CERT)
|
||||
#define DNS_TYPE_CERT 0x0025 // 37
|
||||
|
||||
// A6 Draft (A6)
|
||||
#define DNS_TYPE_A6 0x0026 // 38
|
||||
|
||||
// DNAME Draft (DNAME)
|
||||
#define DNS_TYPE_DNAME 0x0027 // 39
|
||||
|
||||
// Eastlake (Kitchen Sink)
|
||||
#define DNS_TYPE_SINK 0x0028 // 40
|
||||
|
||||
// RFC 2671 (EDNS OPT)
|
||||
#define DNS_TYPE_OPT 0x0029 // 41
|
||||
|
||||
// RFC 4034 (DNSSEC DS)
|
||||
#define DNS_TYPE_DS 0x002b // 43
|
||||
|
||||
// RFC 4034 (DNSSEC RRSIG)
|
||||
#define DNS_TYPE_RRSIG 0x002e // 46
|
||||
|
||||
// RFC 4034 (DNSSEC NSEC)
|
||||
#define DNS_TYPE_NSEC 0x002f // 47
|
||||
|
||||
// RFC 4034 (DNSSEC DNSKEY)
|
||||
#define DNS_TYPE_DNSKEY 0x0030 // 48
|
||||
|
||||
// RFC 4701 (DHCID)
|
||||
#define DNS_TYPE_DHCID 0x0031 // 49
|
||||
|
||||
// RFC 5155 (DNSSEC NSEC3)
|
||||
#define DNS_TYPE_NSEC3 0x0032 // 50
|
||||
// RFC 5155 (DNSSEC NSEC3PARAM)
|
||||
#define DNS_TYPE_NSEC3PARAM 0x0033 // 51
|
||||
|
||||
//
|
||||
// IANA Reserved
|
||||
//
|
||||
|
||||
#define DNS_TYPE_UINFO 0x0064 // 100
|
||||
#define DNS_TYPE_UID 0x0065 // 101
|
||||
#define DNS_TYPE_GID 0x0066 // 102
|
||||
#define DNS_TYPE_UNSPEC 0x0067 // 103
|
||||
|
||||
//
|
||||
// Query only types (1035, 1995)
|
||||
// - Crawford (ADDRS)
|
||||
// - TKEY draft (TKEY)
|
||||
// - TSIG draft (TSIG)
|
||||
// - RFC 1995 (IXFR)
|
||||
// - RFC 1035 (AXFR up)
|
||||
//
|
||||
#define DNS_TYPE_ADDRS 0x00f8 // 248
|
||||
#define DNS_TYPE_TKEY 0x00f9 // 249
|
||||
#define DNS_TYPE_TSIG 0x00fa // 250
|
||||
#define DNS_TYPE_IXFR 0x00fb // 251
|
||||
#define DNS_TYPE_AXFR 0x00fc // 252
|
||||
#define DNS_TYPE_MAILB 0x00fd // 253
|
||||
#define DNS_TYPE_MAILA 0x00fe // 254
|
||||
#define DNS_TYPE_ALL 0x00ff // 255
|
||||
#define DNS_TYPE_ANY 0x00ff // 255
|
||||
//
|
||||
// Private use Microsoft types -- See www.iana.org/assignments/dns-parameters
|
||||
//
|
||||
#define DNS_TYPE_WINS 0xff01 // 64K - 255
|
||||
#define DNS_TYPE_WINSR 0xff02 // 64K - 254
|
||||
#define DNS_TYPE_NBSTAT (DNS_TYPE_WINSR)
|
||||
|
||||
//
|
||||
// DNS Query API
|
||||
//
|
||||
|
||||
//
|
||||
// Options for DnsQuery
|
||||
//
|
||||
|
||||
#define DNS_QUERY_STANDARD 0x00000000
|
||||
#define DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE 0x00000001
|
||||
#define DNS_QUERY_USE_TCP_ONLY 0x00000002
|
||||
#define DNS_QUERY_NO_RECURSION 0x00000004
|
||||
#define DNS_QUERY_BYPASS_CACHE 0x00000008
|
||||
#define DNS_QUERY_NO_WIRE_QUERY 0x00000010
|
||||
#define DNS_QUERY_NO_LOCAL_NAME 0x00000020
|
||||
#define DNS_QUERY_NO_HOSTS_FILE 0x00000040
|
||||
#define DNS_QUERY_NO_NETBT 0x00000080
|
||||
#define DNS_QUERY_WIRE_ONLY 0x00000100
|
||||
#define DNS_QUERY_RETURN_MESSAGE 0x00000200
|
||||
#define DNS_QUERY_MULTICAST_ONLY 0x00000400
|
||||
#define DNS_QUERY_NO_MULTICAST 0x00000800
|
||||
#define DNS_QUERY_TREAT_AS_FQDN 0x00001000
|
||||
#define DNS_QUERY_ADDRCONFIG 0x00002000
|
||||
#define DNS_QUERY_DUAL_ADDR 0x00004000
|
||||
#define DNS_QUERY_DONT_RESET_TTL_VALUES 0x00100000
|
||||
#define DNS_QUERY_DISABLE_IDN_ENCODING 0x00200000
|
||||
#define DNS_QUERY_APPEND_MULTILABEL 0x00800000
|
||||
#define DNS_QUERY_DNSSEC_OK 0x01000000
|
||||
#define DNS_QUERY_DNSSEC_CHECKING_DISABLED 0x02000000
|
||||
#define DNS_QUERY_RESERVED 0xf0000000
|
||||
|
||||
@@ -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,11 @@
|
||||
#define HKEY_CLASSES_ROOT (0x80000000)
|
||||
#define HKEY_CURRENT_USER (0x80000001)
|
||||
#define HKEY_LOCAL_MACHINE (0x80000002)
|
||||
#define HKEY_USERS (0x80000003)
|
||||
#define HKEY_PERFORMANCE_DATA (0x80000004)
|
||||
#define HKEY_PERFORMANCE_TEXT (0x80000050)
|
||||
#define HKEY_PERFORMANCE_NLSTEXT (0x80000060)
|
||||
|
||||
#define HKEY_CURRENT_CONFIG (0x80000005)
|
||||
#define HKEY_DYN_DATA (0x80000006)
|
||||
#define HKEY_CURRENT_USER_LOCAL_SETTINGS (0x80000007)
|
||||
@@ -0,0 +1,124 @@
|
||||
#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
|
||||
// end_winnt
|
||||
#define SE_DACL_UNTRUSTED (0x0040)
|
||||
#define SE_SERVER_SECURITY (0x0080)
|
||||
// begin_winnt
|
||||
#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,100 @@
|
||||
//
|
||||
// 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
|
||||
|
||||
// Specific Access Rights are in <specific_access_right.txt>
|
||||
|
||||
|
||||
#define SERVICE_RUNS_IN_SYSTEM_PROCESS 0x00000001
|
||||
|
||||
|
||||
#define SERVICE_KERNEL_DRIVER 0x00000001
|
||||
#define SERVICE_FILE_SYSTEM_DRIVER 0x00000002
|
||||
#define SERVICE_ADAPTER 0x00000004
|
||||
#define SERVICE_RECOGNIZER_DRIVER 0x00000008
|
||||
|
||||
#define SERVICE_DRIVER (SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER)
|
||||
|
||||
#define SERVICE_WIN32_OWN_PROCESS 0x00000010
|
||||
#define SERVICE_WIN32_SHARE_PROCESS 0x00000020
|
||||
|
||||
#define SERVICE_USER_OWN_PROCESS 0x00000050
|
||||
#define SERVICE_USER_SHARE_PROCESS 0x00000060
|
||||
|
||||
#define SERVICE_WIN32 (SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS)
|
||||
|
||||
#define SERVICE_INTERACTIVE_PROCESS 0x00000100
|
||||
|
||||
#define SERVICE_TYPE_ALL (SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS)
|
||||
|
||||
|
||||
#define SERVICE_BOOT_START 0x00000000
|
||||
#define SERVICE_SYSTEM_START 0x00000001
|
||||
#define SERVICE_AUTO_START 0x00000002
|
||||
#define SERVICE_DEMAND_START 0x00000003
|
||||
#define SERVICE_DISABLED 0x00000004
|
||||
|
||||
#define SERVICE_ERROR_IGNORE 0x00000000
|
||||
#define SERVICE_ERROR_NORMAL 0x00000001
|
||||
#define SERVICE_ERROR_SEVERE 0x00000002
|
||||
#define SERVICE_ERROR_CRITICAL 0x00000003
|
||||
|
||||
#define SERVICE_ACTIVE 0x00000001
|
||||
#define SERVICE_INACTIVE 0x00000002
|
||||
#define SERVICE_STATE_ALL (SERVICE_ACTIVE | SERVICE_INACTIVE)
|
||||
|
||||
#define SERVICE_CONTROL_STOP 0x00000001
|
||||
#define SERVICE_CONTROL_PAUSE 0x00000002
|
||||
#define SERVICE_CONTROL_CONTINUE 0x00000003
|
||||
#define SERVICE_CONTROL_INTERROGATE 0x00000004
|
||||
#define SERVICE_CONTROL_SHUTDOWN 0x00000005
|
||||
#define SERVICE_CONTROL_PARAMCHANGE 0x00000006
|
||||
#define SERVICE_CONTROL_NETBINDADD 0x00000007
|
||||
#define SERVICE_CONTROL_NETBINDREMOVE 0x00000008
|
||||
#define SERVICE_CONTROL_NETBINDENABLE 0x00000009
|
||||
#define SERVICE_CONTROL_NETBINDDISABLE 0x0000000A
|
||||
#define SERVICE_CONTROL_DEVICEEVENT 0x0000000B
|
||||
#define SERVICE_CONTROL_HARDWAREPROFILECHANGE 0x0000000C
|
||||
#define SERVICE_CONTROL_POWEREVENT 0x0000000D
|
||||
#define SERVICE_CONTROL_SESSIONCHANGE 0x0000000E
|
||||
#define SERVICE_CONTROL_PRESHUTDOWN 0x0000000F
|
||||
#define SERVICE_CONTROL_TIMECHANGE 0x00000010
|
||||
#define SERVICE_CONTROL_TRIGGEREVENT 0x00000020
|
||||
|
||||
#define SERVICE_STOPPED 0x00000001
|
||||
#define SERVICE_START_PENDING 0x00000002
|
||||
#define SERVICE_STOP_PENDING 0x00000003
|
||||
#define SERVICE_RUNNING 0x00000004
|
||||
#define SERVICE_CONTINUE_PENDING 0x00000005
|
||||
#define SERVICE_PAUSE_PENDING 0x00000006
|
||||
#define SERVICE_PAUSED 0x00000007
|
||||
|
||||
|
||||
#define SERVICE_ACCEPT_STOP 0x00000001
|
||||
#define SERVICE_ACCEPT_PAUSE_CONTINUE 0x00000002
|
||||
#define SERVICE_ACCEPT_SHUTDOWN 0x00000004
|
||||
#define SERVICE_ACCEPT_PARAMCHANGE 0x00000008
|
||||
#define SERVICE_ACCEPT_NETBINDCHANGE 0x00000010
|
||||
#define SERVICE_ACCEPT_HARDWAREPROFILECHANGE 0x00000020
|
||||
#define SERVICE_ACCEPT_POWEREVENT 0x00000040
|
||||
#define SERVICE_ACCEPT_SESSIONCHANGE 0x00000080
|
||||
#define SERVICE_ACCEPT_PRESHUTDOWN 0x00000100
|
||||
#define SERVICE_ACCEPT_TIMECHANGE 0x00000200
|
||||
#define SERVICE_ACCEPT_TRIGGEREVENT 0x00000400
|
||||
@@ -0,0 +1,168 @@
|
||||
//
|
||||
// Device registry property codes
|
||||
// (Codes marked as read-only (R) may only be used for
|
||||
// SetupDiGetDeviceRegistryProperty)
|
||||
//
|
||||
// These values should cover the same set of registry properties
|
||||
// as defined by the CM_DRP codes in cfgmgr32.h.
|
||||
//
|
||||
// Note that SPDRP codes are zero based while CM_DRP codes are one based!
|
||||
//
|
||||
#define SPDRP_DEVICEDESC (0x00000000) // DeviceDesc (R/W)
|
||||
#define SPDRP_HARDWAREID (0x00000001) // HardwareID (R/W)
|
||||
#define SPDRP_COMPATIBLEIDS (0x00000002) // CompatibleIDs (R/W)
|
||||
#define SPDRP_UNUSED0 (0x00000003) // unused
|
||||
#define SPDRP_SERVICE (0x00000004) // Service (R/W)
|
||||
#define SPDRP_UNUSED1 (0x00000005) // unused
|
||||
#define SPDRP_UNUSED2 (0x00000006) // unused
|
||||
#define SPDRP_CLASS (0x00000007) // Class (R--tied to ClassGUID)
|
||||
#define SPDRP_CLASSGUID (0x00000008) // ClassGUID (R/W)
|
||||
#define SPDRP_DRIVER (0x00000009) // Driver (R/W)
|
||||
#define SPDRP_CONFIGFLAGS (0x0000000A) // ConfigFlags (R/W)
|
||||
#define SPDRP_MFG (0x0000000B) // Mfg (R/W)
|
||||
#define SPDRP_FRIENDLYNAME (0x0000000C) // FriendlyName (R/W)
|
||||
#define SPDRP_LOCATION_INFORMATION (0x0000000D) // LocationInformation (R/W)
|
||||
#define SPDRP_PHYSICAL_DEVICE_OBJECT_NAME (0x0000000E) // PhysicalDeviceObjectName (R)
|
||||
#define SPDRP_CAPABILITIES (0x0000000F) // Capabilities (R)
|
||||
#define SPDRP_UI_NUMBER (0x00000010) // UiNumber (R)
|
||||
#define SPDRP_UPPERFILTERS (0x00000011) // UpperFilters (R/W)
|
||||
#define SPDRP_LOWERFILTERS (0x00000012) // LowerFilters (R/W)
|
||||
#define SPDRP_BUSTYPEGUID (0x00000013) // BusTypeGUID (R)
|
||||
#define SPDRP_LEGACYBUSTYPE (0x00000014) // LegacyBusType (R)
|
||||
#define SPDRP_BUSNUMBER (0x00000015) // BusNumber (R)
|
||||
#define SPDRP_ENUMERATOR_NAME (0x00000016) // Enumerator Name (R)
|
||||
#define SPDRP_SECURITY (0x00000017) // Security (R/W, binary form)
|
||||
#define SPDRP_SECURITY_SDS (0x00000018) // Security (W, SDS form)
|
||||
#define SPDRP_DEVTYPE (0x00000019) // Device Type (R/W)
|
||||
#define SPDRP_EXCLUSIVE (0x0000001A) // Device is exclusive-access (R/W)
|
||||
#define SPDRP_CHARACTERISTICS (0x0000001B) // Device Characteristics (R/W)
|
||||
#define SPDRP_ADDRESS (0x0000001C) // Device Address (R)
|
||||
#define SPDRP_UI_NUMBER_DESC_FORMAT (0X0000001D) // UiNumberDescFormat (R/W)
|
||||
#define SPDRP_DEVICE_POWER_DATA (0x0000001E) // Device Power Data (R)
|
||||
#define SPDRP_REMOVAL_POLICY (0x0000001F) // Removal Policy (R)
|
||||
#define SPDRP_REMOVAL_POLICY_HW_DEFAULT (0x00000020) // Hardware Removal Policy (R)
|
||||
#define SPDRP_REMOVAL_POLICY_OVERRIDE (0x00000021) // Removal Policy Override (RW)
|
||||
#define SPDRP_INSTALL_STATE (0x00000022) // Device Install State (R)
|
||||
#define SPDRP_LOCATION_PATHS (0x00000023) // Device Location Paths (R)
|
||||
#define SPDRP_BASE_CONTAINERID (0x00000024) // Base ContainerID (R)
|
||||
|
||||
#define SPDRP_MAXIMUM_PROPERTY (0x00000025) // Upper bound on ordinals
|
||||
|
||||
|
||||
//
|
||||
// Inf parse outcomes
|
||||
//
|
||||
#define ERROR_EXPECTED_SECTION_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0)
|
||||
#define ERROR_BAD_SECTION_NAME_LINE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|1)
|
||||
#define ERROR_SECTION_NAME_TOO_LONG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|2)
|
||||
#define ERROR_GENERAL_SYNTAX (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|3)
|
||||
//
|
||||
// Inf runtime errors
|
||||
//
|
||||
#define ERROR_WRONG_INF_STYLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x100)
|
||||
#define ERROR_SECTION_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x101)
|
||||
#define ERROR_LINE_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x102)
|
||||
#define ERROR_NO_BACKUP (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x103)
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Device Installer/other errors
|
||||
//
|
||||
#define ERROR_NO_ASSOCIATED_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x200)
|
||||
#define ERROR_CLASS_MISMATCH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x201)
|
||||
#define ERROR_DUPLICATE_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x202)
|
||||
#define ERROR_NO_DRIVER_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x203)
|
||||
#define ERROR_KEY_DOES_NOT_EXIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x204)
|
||||
#define ERROR_INVALID_DEVINST_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x205)
|
||||
#define ERROR_INVALID_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x206)
|
||||
#define ERROR_DEVINST_ALREADY_EXISTS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x207)
|
||||
#define ERROR_DEVINFO_NOT_REGISTERED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x208)
|
||||
#define ERROR_INVALID_REG_PROPERTY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x209)
|
||||
#define ERROR_NO_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20A)
|
||||
#define ERROR_NO_SUCH_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20B)
|
||||
#define ERROR_CANT_LOAD_CLASS_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20C)
|
||||
#define ERROR_INVALID_CLASS_INSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20D)
|
||||
#define ERROR_DI_DO_DEFAULT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20E)
|
||||
#define ERROR_DI_NOFILECOPY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20F)
|
||||
#define ERROR_INVALID_HWPROFILE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x210)
|
||||
#define ERROR_NO_DEVICE_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x211)
|
||||
#define ERROR_DEVINFO_LIST_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x212)
|
||||
#define ERROR_DEVINFO_DATA_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x213)
|
||||
#define ERROR_DI_BAD_PATH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x214)
|
||||
#define ERROR_NO_CLASSINSTALL_PARAMS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x215)
|
||||
#define ERROR_FILEQUEUE_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x216)
|
||||
#define ERROR_BAD_SERVICE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x217)
|
||||
#define ERROR_NO_CLASS_DRIVER_LIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x218)
|
||||
#define ERROR_NO_ASSOCIATED_SERVICE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x219)
|
||||
#define ERROR_NO_DEFAULT_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21A)
|
||||
#define ERROR_DEVICE_INTERFACE_ACTIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21B)
|
||||
#define ERROR_DEVICE_INTERFACE_REMOVED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21C)
|
||||
#define ERROR_BAD_INTERFACE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21D)
|
||||
#define ERROR_NO_SUCH_INTERFACE_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21E)
|
||||
#define ERROR_INVALID_REFERENCE_STRING (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21F)
|
||||
#define ERROR_INVALID_MACHINENAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x220)
|
||||
#define ERROR_REMOTE_COMM_FAILURE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x221)
|
||||
#define ERROR_MACHINE_UNAVAILABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x222)
|
||||
#define ERROR_NO_CONFIGMGR_SERVICES (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x223)
|
||||
#define ERROR_INVALID_PROPPAGE_PROVIDER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x224)
|
||||
#define ERROR_NO_SUCH_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x225)
|
||||
#define ERROR_DI_POSTPROCESSING_REQUIRED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x226)
|
||||
#define ERROR_INVALID_COINSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x227)
|
||||
#define ERROR_NO_COMPAT_DRIVERS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x228)
|
||||
#define ERROR_NO_DEVICE_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x229)
|
||||
#define ERROR_INVALID_INF_LOGCONFIG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22A)
|
||||
#define ERROR_DI_DONT_INSTALL (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22B)
|
||||
#define ERROR_INVALID_FILTER_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22C)
|
||||
#define ERROR_NON_WINDOWS_NT_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22D)
|
||||
#define ERROR_NON_WINDOWS_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22E)
|
||||
#define ERROR_NO_CATALOG_FOR_OEM_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22F)
|
||||
#define ERROR_DEVINSTALL_QUEUE_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x230)
|
||||
#define ERROR_NOT_DISABLEABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x231)
|
||||
#define ERROR_CANT_REMOVE_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x232)
|
||||
#define ERROR_INVALID_TARGET (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x233)
|
||||
#define ERROR_DRIVER_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x234)
|
||||
#define ERROR_IN_WOW64 (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x235)
|
||||
#define ERROR_SET_SYSTEM_RESTORE_POINT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x236)
|
||||
|
||||
#define ERROR_SCE_DISABLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x238)
|
||||
#define ERROR_UNKNOWN_EXCEPTION (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x239)
|
||||
#define ERROR_PNP_REGISTRY_ERROR (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23A)
|
||||
#define ERROR_REMOTE_REQUEST_UNSUPPORTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23B)
|
||||
#define ERROR_NOT_AN_INSTALLED_OEM_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23C)
|
||||
#define ERROR_INF_IN_USE_BY_DEVICES (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23D)
|
||||
#define ERROR_DI_FUNCTION_OBSOLETE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23E)
|
||||
#define ERROR_NO_AUTHENTICODE_CATALOG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x23F)
|
||||
#define ERROR_AUTHENTICODE_DISALLOWED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x240)
|
||||
#define ERROR_AUTHENTICODE_TRUSTED_PUBLISHER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x241)
|
||||
#define ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x242)
|
||||
#define ERROR_AUTHENTICODE_PUBLISHER_NOT_TRUSTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x243)
|
||||
#define ERROR_SIGNATURE_OSATTRIBUTE_MISMATCH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x244)
|
||||
#define ERROR_ONLY_VALIDATE_VIA_AUTHENTICODE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x245)
|
||||
#define ERROR_DEVICE_INSTALLER_NOT_READY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x246)
|
||||
#define ERROR_DRIVER_STORE_ADD_FAILED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x247)
|
||||
#define ERROR_DEVICE_INSTALL_BLOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x248)
|
||||
#define ERROR_DRIVER_INSTALL_BLOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x249)
|
||||
#define ERROR_WRONG_INF_TYPE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x24A)
|
||||
#define ERROR_FILE_HASH_NOT_IN_CATALOG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x24B)
|
||||
#define ERROR_DRIVER_STORE_DELETE_FAILED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x24C)
|
||||
|
||||
//
|
||||
// Setupapi exception codes
|
||||
//
|
||||
#define ERROR_UNRECOVERABLE_STACK_OVERFLOW (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x300)
|
||||
#define EXCEPTION_SPAPI_UNRECOVERABLE_STACK_OVERFLOW ERROR_UNRECOVERABLE_STACK_OVERFLOW
|
||||
|
||||
//
|
||||
// Backward compatibility--do not use.
|
||||
//
|
||||
#define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE
|
||||
#define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE
|
||||
#define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED
|
||||
#define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE
|
||||
|
||||
|
||||
//
|
||||
// Win9x migration DLL error code
|
||||
//
|
||||
#define ERROR_NOT_INSTALLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000)
|
||||
@@ -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,399 @@
|
||||
//
|
||||
// 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)
|
||||
|
||||
|
||||
// COM Specific Access Rights (Custom NAME)
|
||||
// Based on internet search for "COM Access Mask"
|
||||
|
||||
|
||||
#define COM_EXECUTE (0x0001)
|
||||
#define COM_EXECUTE_LOCAL (0x0002)
|
||||
#define COM_EXECUTE_REMOTE (0x0004)
|
||||
#define COM_ACTIVATE_LOCAL (0x0008)
|
||||
#define COM_ACTIVATE_REMOTE (0x0010)
|
||||
|
||||
//
|
||||
// Section Access Rights.
|
||||
//
|
||||
|
||||
|
||||
// begin_winnt
|
||||
#define SECTION_QUERY 0x0001
|
||||
#define SECTION_MAP_WRITE 0x0002
|
||||
#define SECTION_MAP_READ 0x0004
|
||||
#define SECTION_MAP_EXECUTE 0x0008
|
||||
#define SECTION_EXTEND_SIZE 0x0010
|
||||
#define SECTION_MAP_EXECUTE_EXPLICIT 0x0020 // not included in SECTION_ALL_ACCESS
|
||||
|
||||
#define SECTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SECTION_QUERY| SECTION_MAP_WRITE |SECTION_MAP_READ |SECTION_MAP_EXECUTE |SECTION_EXTEND_SIZE)
|
||||
|
||||
|
||||
|
||||
#define FILE_MAP_COPY SECTION_QUERY
|
||||
#define FILE_MAP_WRITE SECTION_MAP_WRITE
|
||||
#define FILE_MAP_READ SECTION_MAP_READ
|
||||
#define FILE_MAP_ALL_ACCESS SECTION_ALL_ACCESS
|
||||
#define FILE_MAP_EXECUTE SECTION_MAP_EXECUTE_EXPLICIT
|
||||
|
||||
|
||||
//
|
||||
// Service object specific access type
|
||||
//
|
||||
#define SERVICE_QUERY_CONFIG 0x0001
|
||||
#define SERVICE_CHANGE_CONFIG 0x0002
|
||||
#define SERVICE_QUERY_STATUS 0x0004
|
||||
#define SERVICE_ENUMERATE_DEPENDENTS 0x0008
|
||||
#define SERVICE_START 0x0010
|
||||
#define SERVICE_STOP 0x0020
|
||||
#define SERVICE_PAUSE_CONTINUE 0x0040
|
||||
#define SERVICE_INTERROGATE 0x0080
|
||||
#define SERVICE_USER_DEFINED_CONTROL 0x0100
|
||||
|
||||
#define SERVICE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
|
||||
SERVICE_QUERY_CONFIG | \
|
||||
SERVICE_CHANGE_CONFIG | \
|
||||
SERVICE_QUERY_STATUS | \
|
||||
SERVICE_ENUMERATE_DEPENDENTS | \
|
||||
SERVICE_START | \
|
||||
SERVICE_STOP | \
|
||||
SERVICE_PAUSE_CONTINUE | \
|
||||
SERVICE_INTERROGATE | \
|
||||
SERVICE_USER_DEFINED_CONTROL)
|
||||
|
||||
|
||||
//
|
||||
// Service Control Manager object specific access types
|
||||
//
|
||||
|
||||
#define SC_MANAGER_CONNECT 0x0001
|
||||
#define SC_MANAGER_CREATE_SERVICE 0x0002
|
||||
#define SC_MANAGER_ENUMERATE_SERVICE 0x0004
|
||||
#define SC_MANAGER_LOCK 0x0008
|
||||
#define SC_MANAGER_QUERY_LOCK_STATUS 0x0010
|
||||
#define SC_MANAGER_MODIFY_BOOT_CONFIG 0x0020
|
||||
|
||||
#define SC_MANAGER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | \
|
||||
SC_MANAGER_CONNECT | \
|
||||
SC_MANAGER_CREATE_SERVICE | \
|
||||
SC_MANAGER_ENUMERATE_SERVICE | \
|
||||
SC_MANAGER_LOCK | \
|
||||
SC_MANAGER_QUERY_LOCK_STATUS | \
|
||||
SC_MANAGER_MODIFY_BOOT_CONFIG)
|
||||
|
||||
|
||||
/// Active Directory
|
||||
|
||||
#define ADS_RIGHT_DELETE 0x10000
|
||||
#define ADS_RIGHT_READ_CONTROL 0x20000
|
||||
#define ADS_RIGHT_WRITE_DAC 0x40000
|
||||
#define ADS_RIGHT_WRITE_OWNER 0x80000
|
||||
#define ADS_RIGHT_SYNCHRONIZE 0x100000
|
||||
#define ADS_RIGHT_ACCESS_SYSTEM_SECURITY 0x1000000
|
||||
#define ADS_RIGHT_GENERIC_READ 0x80000000
|
||||
#define ADS_RIGHT_GENERIC_WRITE 0x40000000
|
||||
#define ADS_RIGHT_GENERIC_EXECUTE 0x20000000
|
||||
#define ADS_RIGHT_GENERIC_ALL 0x10000000
|
||||
#define ADS_RIGHT_DS_CREATE_CHILD 0x1
|
||||
#define ADS_RIGHT_DS_DELETE_CHILD 0x2
|
||||
#define ADS_RIGHT_ACTRL_DS_LIST 0x4
|
||||
#define ADS_RIGHT_DS_SELF 0x8
|
||||
#define ADS_RIGHT_DS_READ_PROP 0x10
|
||||
#define ADS_RIGHT_DS_WRITE_PROP 0x20
|
||||
#define ADS_RIGHT_DS_DELETE_TREE 0x40
|
||||
#define ADS_RIGHT_DS_LIST_OBJECT 0x80
|
||||
#define ADS_RIGHT_DS_CONTROL_ACCESS 0x100
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Local Security Policy Administration API datatypes and defines //
|
||||
// //
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// ntlsa.h
|
||||
// Access types for the Policy object
|
||||
//
|
||||
|
||||
#define POLICY_VIEW_LOCAL_INFORMATION 0x00000001L
|
||||
#define POLICY_VIEW_AUDIT_INFORMATION 0x00000002L
|
||||
#define POLICY_GET_PRIVATE_INFORMATION 0x00000004L
|
||||
#define POLICY_TRUST_ADMIN 0x00000008L
|
||||
#define POLICY_CREATE_ACCOUNT 0x00000010L
|
||||
#define POLICY_CREATE_SECRET 0x00000020L
|
||||
#define POLICY_CREATE_PRIVILEGE 0x00000040L
|
||||
#define POLICY_SET_DEFAULT_QUOTA_LIMITS 0x00000080L
|
||||
#define POLICY_SET_AUDIT_REQUIREMENTS 0x00000100L
|
||||
#define POLICY_AUDIT_LOG_ADMIN 0x00000200L
|
||||
#define POLICY_SERVER_ADMIN 0x00000400L
|
||||
#define POLICY_LOOKUP_NAMES 0x00000800L
|
||||
#define POLICY_NOTIFICATION 0x00001000L
|
||||
|
||||
#define POLICY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\
|
||||
POLICY_VIEW_LOCAL_INFORMATION |\
|
||||
POLICY_VIEW_AUDIT_INFORMATION |\
|
||||
POLICY_GET_PRIVATE_INFORMATION |\
|
||||
POLICY_TRUST_ADMIN |\
|
||||
POLICY_CREATE_ACCOUNT |\
|
||||
POLICY_CREATE_SECRET |\
|
||||
POLICY_CREATE_PRIVILEGE |\
|
||||
POLICY_SET_DEFAULT_QUOTA_LIMITS |\
|
||||
POLICY_SET_AUDIT_REQUIREMENTS |\
|
||||
POLICY_AUDIT_LOG_ADMIN |\
|
||||
POLICY_SERVER_ADMIN |\
|
||||
POLICY_LOOKUP_NAMES)
|
||||
@@ -0,0 +1,73 @@
|
||||
#define SYMSEARCH_MASKOBJS 0x01 // used internally to implement other APIs
|
||||
#define SYMSEARCH_RECURSE 0X02 // recurse scopes
|
||||
#define SYMSEARCH_GLOBALSONLY 0X04 // search only for global symbols
|
||||
#define SYMSEARCH_ALLITEMS 0X08 // search for everything in the pdb, not just normal scoped symbols
|
||||
|
||||
//
|
||||
// data structures used for registered symbol callbacks
|
||||
//
|
||||
|
||||
#define CBA_DEFERRED_SYMBOL_LOAD_START 0x00000001
|
||||
#define CBA_DEFERRED_SYMBOL_LOAD_COMPLETE 0x00000002
|
||||
#define CBA_DEFERRED_SYMBOL_LOAD_FAILURE 0x00000003
|
||||
#define CBA_SYMBOLS_UNLOADED 0x00000004
|
||||
#define CBA_DUPLICATE_SYMBOL 0x00000005
|
||||
#define CBA_READ_MEMORY 0x00000006
|
||||
#define CBA_DEFERRED_SYMBOL_LOAD_CANCEL 0x00000007
|
||||
#define CBA_SET_OPTIONS 0x00000008
|
||||
#define CBA_EVENT 0x00000010
|
||||
#define CBA_DEFERRED_SYMBOL_LOAD_PARTIAL 0x00000020
|
||||
#define CBA_DEBUG_INFO 0x10000000
|
||||
#define CBA_SRCSRV_INFO 0x20000000
|
||||
#define CBA_SRCSRV_EVENT 0x40000000
|
||||
#define CBA_UPDATE_STATUS_BAR 0x50000000
|
||||
#define CBA_ENGINE_PRESENT 0x60000000
|
||||
#define CBA_CHECK_ENGOPT_DISALLOW_NETWORK_PATHS 0x70000000
|
||||
|
||||
|
||||
#define EVENT_SRCSPEW_START 100
|
||||
#define EVENT_SRCSPEW 100
|
||||
#define EVENT_SRCSPEW_END 199
|
||||
|
||||
#define DSLFLAG_MISMATCHED_PDB 0x1
|
||||
#define DSLFLAG_MISMATCHED_DBG 0x2
|
||||
#define FLAG_ENGINE_PRESENT 0x4
|
||||
#define FLAG_ENGOPT_DISALLOW_NETWORK_PATHS 0x8
|
||||
|
||||
|
||||
//
|
||||
// options that are set/returned by SymSetOptions() & SymGetOptions()
|
||||
// these are used as a mask
|
||||
//
|
||||
#define SYMOPT_CASE_INSENSITIVE 0x00000001
|
||||
#define SYMOPT_UNDNAME 0x00000002
|
||||
#define SYMOPT_DEFERRED_LOADS 0x00000004
|
||||
#define SYMOPT_NO_CPP 0x00000008
|
||||
#define SYMOPT_LOAD_LINES 0x00000010
|
||||
#define SYMOPT_OMAP_FIND_NEAREST 0x00000020
|
||||
#define SYMOPT_LOAD_ANYTHING 0x00000040
|
||||
#define SYMOPT_IGNORE_CVREC 0x00000080
|
||||
#define SYMOPT_NO_UNQUALIFIED_LOADS 0x00000100
|
||||
#define SYMOPT_FAIL_CRITICAL_ERRORS 0x00000200
|
||||
#define SYMOPT_EXACT_SYMBOLS 0x00000400
|
||||
#define SYMOPT_ALLOW_ABSOLUTE_SYMBOLS 0x00000800
|
||||
#define SYMOPT_IGNORE_NT_SYMPATH 0x00001000
|
||||
#define SYMOPT_INCLUDE_32BIT_MODULES 0x00002000
|
||||
#define SYMOPT_PUBLICS_ONLY 0x00004000
|
||||
#define SYMOPT_NO_PUBLICS 0x00008000
|
||||
#define SYMOPT_AUTO_PUBLICS 0x00010000
|
||||
#define SYMOPT_NO_IMAGE_SEARCH 0x00020000
|
||||
#define SYMOPT_SECURE 0x00040000
|
||||
#define SYMOPT_NO_PROMPTS 0x00080000
|
||||
#define SYMOPT_OVERWRITE 0x00100000
|
||||
#define SYMOPT_IGNORE_IMAGEDIR 0x00200000
|
||||
#define SYMOPT_FLAT_DIRECTORY 0x00400000
|
||||
#define SYMOPT_FAVOR_COMPRESSED 0x00800000
|
||||
#define SYMOPT_ALLOW_ZERO_ADDRESS 0x01000000
|
||||
#define SYMOPT_DISABLE_SYMSRV_AUTODETECT 0x02000000
|
||||
#define SYMOPT_READONLY_CACHE 0x04000000
|
||||
#define SYMOPT_SYMPATH_LAST 0x08000000
|
||||
#define SYMOPT_DISABLE_FAST_SYMBOLS 0x10000000
|
||||
#define SYMOPT_DISABLE_SYMSRV_TIMEOUT 0x20000000
|
||||
#define SYMOPT_DISABLE_SRVSTAR_ON_STARTUP 0x40000000
|
||||
#define SYMOPT_DEBUG 0x80000000
|
||||
@@ -0,0 +1,207 @@
|
||||
//
|
||||
// CTL Trusted CA Lists
|
||||
//
|
||||
#define szOID_TRUSTED_CODESIGNING_CA_LIST "1.3.6.1.4.1.311.2.2.1"
|
||||
#define szOID_TRUSTED_CLIENT_AUTH_CA_LIST "1.3.6.1.4.1.311.2.2.2"
|
||||
#define szOID_TRUSTED_SERVER_AUTH_CA_LIST "1.3.6.1.4.1.311.2.2.3"
|
||||
|
||||
#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"
|
||||
|
||||
|
||||
//
|
||||
// Page hash versions
|
||||
//
|
||||
#define SPC_PE_IMAGE_PAGE_HASHES_V1_OBJID "1.3.6.1.4.1.311.2.3.1" // V1
|
||||
#define SPC_PE_IMAGE_PAGE_HASHES_V2_OBJID "1.3.6.1.4.1.311.2.3.2" // V2
|
||||
|
||||
//Indicates the attribute is an octet encoded PKCS7
|
||||
#define szOID_NESTED_SIGNATURE "1.3.6.1.4.1.311.2.4.1"
|
||||
#define szOID_INTENT_TO_SEAL "1.3.6.1.4.1.311.2.4.2"
|
||||
#define szOID_SEALING_SIGNATURE "1.3.6.1.4.1.311.2.4.3"
|
||||
#define szOID_SEALING_TIMESTAMP "1.3.6.1.4.1.311.2.4.4"
|
||||
|
||||
//Indicates an enhanced hash for a SIP Indirect Data
|
||||
#define szOID_ENHANCED_HASH "1.3.6.1.4.1.311.2.5.1"
|
||||
|
||||
//Indicates a PKCS9 sequence number as an attribute
|
||||
#define szOID_PKCS_9_SEQUENCE_NUMBER "1.2.840.113549.1.9.25.4"
|
||||
|
||||
//
|
||||
// Catalog entries
|
||||
//
|
||||
#define CAT_NAMEVALUE_OBJID "1.3.6.1.4.1.311.12.2.1"
|
||||
#define CAT_MEMBERINFO_OBJID "1.3.6.1.4.1.311.12.2.2"
|
||||
#define CAT_MEMBERINFO2_OBJID "1.3.6.1.4.1.311.12.2.3"
|
||||
|
||||
|
||||
//
|
||||
#define szOID_COMMON_NAME "2.5.4.3" // case-ignore string
|
||||
#define SPC_COMMON_NAME_OBJID szOID_COMMON_NAME
|
||||
#define SPC_TIME_STAMP_REQUEST_OBJID "1.3.6.1.4.1.311.3.2.1"
|
||||
#define SPC_INDIRECT_DATA_OBJID "1.3.6.1.4.1.311.2.1.4"
|
||||
#define SPC_SP_AGENCY_INFO_OBJID "1.3.6.1.4.1.311.2.1.10"
|
||||
#define SPC_STATEMENT_TYPE_OBJID "1.3.6.1.4.1.311.2.1.11"
|
||||
#define SPC_SP_OPUS_INFO_OBJID "1.3.6.1.4.1.311.2.1.12"
|
||||
#define SPC_CERT_EXTENSIONS_OBJID "1.3.6.1.4.1.311.2.1.14"
|
||||
#define SPC_PE_IMAGE_DATA_OBJID "1.3.6.1.4.1.311.2.1.15"
|
||||
#define SPC_RAW_FILE_DATA_OBJID "1.3.6.1.4.1.311.2.1.18"
|
||||
#define SPC_STRUCTURED_STORAGE_DATA_OBJID "1.3.6.1.4.1.311.2.1.19"
|
||||
#define SPC_JAVA_CLASS_DATA_OBJID "1.3.6.1.4.1.311.2.1.20"
|
||||
#define SPC_INDIVIDUAL_SP_KEY_PURPOSE_OBJID "1.3.6.1.4.1.311.2.1.21"
|
||||
#define SPC_COMMERCIAL_SP_KEY_PURPOSE_OBJID "1.3.6.1.4.1.311.2.1.22"
|
||||
#define SPC_CAB_DATA_OBJID "1.3.6.1.4.1.311.2.1.25"
|
||||
#define SPC_GLUE_RDN_OBJID "1.3.6.1.4.1.311.2.1.25" // obsolete!
|
||||
#define SPC_MINIMAL_CRITERIA_OBJID "1.3.6.1.4.1.311.2.1.26"
|
||||
#define SPC_FINANCIAL_CRITERIA_OBJID "1.3.6.1.4.1.311.2.1.27"
|
||||
#define SPC_LINK_OBJID "1.3.6.1.4.1.311.2.1.28"
|
||||
#define SPC_SIGINFO_OBJID "1.3.6.1.4.1.311.2.1.30"
|
||||
@@ -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")
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user