Compare commits

...

132 Commits

Author SHA1 Message Date
hakril 8d33e0143f Updated online documentation for 0.6 2020-07-16 23:48:22 +02:00
hakril 7a368a1a23 Updated version to 0.6 - Py3 supported ! 2020-07-16 23:43:23 +02:00
hakril 8e257f9678 Added some code resulting from exploration in COM/remote ctypes 2020-07-16 23:37:41 +02:00
hakril 34254dfde2 Improving NDR packing for some easy to fix corner cases 2020-07-16 23:35:05 +02:00
hakril 0f49dff128 Added some docstrings 2020-07-16 23:33:27 +02:00
hakril 9bf2e61431 Improved test for NDR + added timeout for debugger test (if pytest-timeout present) 2020-07-16 23:31:35 +02:00
hakril 01a59a92c4 Updated some doc and samples 2020-07-16 23:26:59 +02:00
hakril e2ff50e6a2 Added some generated def 2020-07-16 23:24:43 +02:00
hakril 47f3e64c84 Added some required generated def 2020-06-22 14:07:51 +02:00
hakril d8ac02e6a2 Improved NDR padding capabilities for primitive types 2020-06-15 10:00:05 +02:00
hakril 0fa8026c1b Fix localdebugger (and sample) for python3 2020-06-05 17:10:45 +02:00
hakril e4c0f8645e Adapted symbol code & samples for py3 compat 2020-05-18 23:07:33 +02:00
hakril 2e48f9008a Multiple docs update some __init__.py code (windows.debug not imported by default anymore) 2020-05-18 22:58:52 +02:00
hakril aec35a46d5 Added Symbol related sample output 2020-05-18 22:49:32 +02:00
hakril e70c97cbfc Added symbol sample + SymbolDebugger 2020-05-18 22:48:12 +02:00
hakril 5b210b50cb Updated some code in object manager 2020-05-18 22:45:08 +02:00
hakril 2e7bfba3b9 Added some version related definition 2020-05-15 14:11:00 +02:00
hakril 027b7c1c64 Working on symbols documentation 2020-05-15 00:30:05 +02:00
hakril 3151155670 Added a fonction to translate comdate format to datetime + fix DisableWow64FsRedirection for 32b system 2020-05-12 23:27:50 +02:00
hakril 38aef8e497 Fix py3 compat for some remote ctypes code 2020-05-12 23:27:01 +02:00
hakril c666882105 Improved available information about scheduled task + updated documentation 2020-05-12 23:22:00 +02:00
hakril ffec0aa57e Renamed NewService class as Service + updated doc/sample for new service API 2020-05-12 00:20:16 +02:00
hakril eb131d2621 system.services now handle int/slice for getitem + update doc + add a sample 2020-05-11 23:42:51 +02:00
hakril 042e77acf1 Updated doc of event_log.py 2020-05-11 23:42:51 +02:00
hakril 654280c8a5 Adapted samples for py3 support 2020-05-11 09:00:57 +02:00
hakril 176066d917 Added option --attributes to enum_device, and updated the sample accordingly 2020-05-10 23:27:18 +02:00
hakril b59522e504 Documented most of the classes/attributes related to devices_manager.py. Updated related rst. 2020-05-10 23:27:18 +02:00
hakril 996487cc1f Added device manager documentation skeleton to docs/ as well as samples output 2020-05-10 23:27:18 +02:00
hakril 0ec8ae2fa6 Adapted device manager samples & small API improvements 2020-05-10 23:27:18 +02:00
hakril 78c205d248 Added some comment about unsure high-level API choice/possibility to discuss 2020-05-10 23:27:18 +02:00
hakril 6a7626eb2d Adapted lucasg sample to new (poc) device manager high-level API 2020-05-10 23:27:18 +02:00
hakril 1077541ec4 POC of new high-level API for device manager adapted from lucasg work 2020-05-10 23:27:18 +02:00
hakril f491c510eb Adapt lucasg winproxy code to match codebase behavvior 2020-05-10 23:27:18 +02:00
hakril 5aed4305d6 Port lucag device manager structures/function to ctypes generation 2020-05-10 23:27:18 +02:00
lucasg 97a1bb22e1 [device] Add device object associated with phy device 2020-05-10 23:27:18 +02:00
lucasg ec0e97c075 [device] Improve device's name retrieval 2020-05-10 23:27:18 +02:00
lucasg 7652f597f3 [Device] Correctly parse device's resources 2020-05-10 23:27:18 +02:00
lucasg 5aa181c4cf [Device] Implement API to retrieve resources associated with devices 2020-05-10 23:27:18 +02:00
lucasg 445c68537c [Device] Implement apis to retrieve the list of devices under each class 2020-05-10 23:27:18 +02:00
lucasg 0ee191c981 [Device] Add setupapi SetupDiClassNameFromGuid winproxy 2020-05-10 23:27:18 +02:00
lucasg e74089cda3 [Device] Add cfgmgr.CM_Enumerate_Classes winproxy 2020-05-10 23:27:18 +02:00
Reuven Peleg ef580c675f Fix port_name member in documentation
AlpcClient class have member name port_name, not portname
2020-05-08 23:39:09 +02:00
hakril 6a5364ea1e Updated docstring of RPCClient to link to AlpcClient & documented AlpcClient.port_name 2020-05-08 23:31:29 +02:00
hakril ed0099fd57 PFW symbols engine can now pull dbghelp.dll path from env var PFW_DBGHELP_PATH 2020-05-05 16:29:02 +02:00
hakril bbf031e784 Renamed definition/com/tst directory to better name: propertysystem 2020-05-04 09:52:54 +02:00
hakril 466d94c03c Fixed broken basestring for py3 compatibility (see issue #15) 2020-05-02 23:12:25 +02:00
hakril 578b4d9193 Update generated def + documentation 2020-03-29 22:14:29 +02:00
hakril 9485ceef05 Updated README with the current state of PFW for Python3 2020-03-29 21:49:22 +02:00
hakril f63f7f308a Some quick and dirty fix for debugger/breakpoint in python3 2020-03-29 21:41:48 +02:00
hakril c691d8eb84 Added EvtQuery.seek() + IsDebuggerPresent API for sample purpose 2020-03-19 10:33:12 +01:00
hakril 91e6ef824c Added EventLog.date for simplicity of use 2020-03-16 13:19:03 +01:00
hakril 54f202731d Added sample + link from debug.rst for FunctionCallBP 2020-03-11 18:06:23 +01:00
hakril fefe9f397f Added autodoc for FunctionCallBP 2020-03-11 00:03:55 +01:00
hakril 546818f91b Added a sample for windows.debug.FunctionCallBP : change_function_ret_value.py 2020-03-10 23:59:50 +01:00
hakril fb23ad2838 Fix syswow64 32<->64 for python3-23b 2020-03-10 21:03:59 +01:00
hakril 7921e74647 Fixed a GC issue with system.modules + added deprecation warning to utils.get_kernel_modules() 2020-03-10 20:50:04 +01:00
hakril 5c3b0cda88 Merge branch 'gitter-badger-gitter-badge' into dev 2020-02-16 09:53:52 +01:00
hakril 50f6b993de Adapted the gitter link + small update to the README 2020-02-16 09:52:07 +01:00
The Gitter Badger d7c150b794 Add Gitter badge 2020-02-14 10:42:30 +00:00
hakril 0cf6057b98 setup.py is py3-beta ready :) 2020-02-14 10:16:27 +01:00
hakril 02b2ba13f9 Added a poc for a WinFile object 2020-02-13 23:24:37 +01:00
hakril 92df7eaee0 New generated_def py3 ready \o/ PFW should be ready for py3 testing 2020-02-13 23:18:47 +01:00
hakril 9f69b1cefa Adapted some stuff in security.py for py3 2020-02-13 23:17:43 +01:00
hakril fe22a5ad0d Testing/Fixing some sample for py3 2020-02-13 23:16:46 +01:00
hakril 66382b89f7 Some more py3 compat fix + few feature in POC 2020-02-13 22:30:46 +01:00
hakril 4dc71b0449 Added some flags & improved explain() 2020-02-13 22:23:55 +01:00
hakril 4d3b3e18ad Lot of small py3 compat fix 2020-02-13 22:23:20 +01:00
hakril b27d161a6a Fixed ctypes_generation about some bugs on py3 2020-02-13 22:13:23 +01:00
hakril 80c6a747da Updated test for py3 2020-02-13 22:12:40 +01:00
hakril f403856e26 Debugger test pass on py3 2020-02-08 00:15:41 +01:00
hakril 6a74c83670 test_process pass for python3 + added some pe_parse test 2020-02-07 23:06:26 +01:00
hakril 889de363ca windows.injection now handle injection of py3 code ! 2020-02-06 00:03:10 +01:00
hakril bac3dcb55b Fix simple_x64 REX for python3 2020-02-05 23:57:34 +01:00
hakril 2f778b69f9 windows.pipe.create now accept a custom security descriptor as parameter 2020-02-03 21:42:34 +01:00
hakril 2fddd82f00 Adding pycompat.py for py2/py3 work in progress 2020-02-02 18:18:56 +01:00
hakril 46197e763a Fixed windows.winproxy.resolve (corresponding test already exist) 2020-02-02 18:17:36 +01:00
hakril a7175be425 Added/fixed some test 2020-02-02 18:11:13 +01:00
hakril f2a6489463 Added mov REG/SEGREG in simple_x86 + fix a bug in syswow64 on AMD do to a processor bug (Issue10) 2020-02-02 17:49:42 +01:00
hakril 2e1043ead4 Added some code to play with extended attributes 2020-01-26 16:02:38 +01:00
hakril b490130585 Aded new generated ctypes_generation 2020-01-26 15:55:21 +01:00
hakril d20083c57c windows.crypto.sign accept sin algo as parameter 2020-01-26 15:51:03 +01:00
hakril fb2b63b66d ctypes_generation now generate py3.6 compatible code :) 2020-01-18 23:18:25 +01:00
hakril b971fa5faf Added some functions to winproxy 2020-01-17 21:11:24 +01:00
hakril c5d8faaa4a Winstruct parser accept * in array size expression 2020-01-17 21:09:04 +01:00
hakril 5ae6fb2634 Added new ctypes definition 2020-01-17 21:08:20 +01:00
hakril c589a41902 [WIP] saving POC of symbol 2020-01-17 21:07:35 +01:00
hakril 7638080ee4 Added new service API allowing to find service by name easily 2019-11-14 13:31:20 +01:00
hakril 0ed859b95e Added support for simple expression in array (like [MAX_PATH + 1]) 2019-10-31 16:27:01 +01:00
hakril 6f55d2e48f Fix a bug in debugger when detaching after a Ctrl+c during a BP 2019-10-19 00:39:03 +02:00
1orenz0 5b55d4d693 [event_log] Add some more format type to support 2019-10-14 22:03:49 +02:00
1orenz0 fbfe4344d4 [event_log] some events does not have a template message 2019-10-14 22:03:49 +02:00
1orenz0 215afaa418 [event_log] add verbose option to wevtutil.py 2019-10-14 22:03:49 +02:00
1orenz0 91ef7da2e1 [event_log] Fix typo in wevtutil 2019-10-14 22:03:49 +02:00
1orenz0 8a14fe9174 [event_log] add realtime logger to wevtutil 2019-10-14 22:03:49 +02:00
1orenz0 4f92323abf [event log] export message_id instead of message_name
It's more consistent with the other classes
2019-10-14 22:03:49 +02:00
1orenz0 44d9d0dd35 [event log] Add example of what can be done with events 2019-10-14 22:03:49 +02:00
1orenz0 6dd314659d [event log] adding event channel metadata message ID 2019-10-14 22:03:49 +02:00
1orenz0 adb7d3b63a [event log] adding event metadata 2019-10-14 22:03:49 +02:00
1orenz0 b5371ddf33 [event log] still adding publisher metadata 2019-10-14 22:03:49 +02:00
1orenz0 4495eca6d0 [event log] add some more metadata 2019-10-14 22:03:49 +02:00
1orenz0 df28515b97 [event log] Expose message filename 2019-10-14 22:03:49 +02:00
1orenz0 6374f91fef [event log] Expose channel metadatas 2019-10-14 22:03:49 +02:00
1orenz0 6125a1fb15 [event_trace] Add a way to pass a Python object to an ETW trace's
context

It may be useful to pass a python object (e.g. class) to the ETW
processing callback. The ETW tracing API allows the user to fill out a
"Context" field with a pointer value that will be passed to the event
being sent, the rest is ctypes magic for wrapping the python object
into a native pointer value.
2019-10-14 22:03:49 +02:00
1orenz0 bfeb2e6dec [event_log] Configure an ETW trace to listen on specific keywords
By default EnableTrace will listen with a "KeywordsAny" value of
0xffffffff. Some event log providers send events with keywords over
0x100000000, so we need a mecanism to filter on thoses keywords.
2019-10-14 22:03:49 +02:00
1orenz0 536a60c040 [event log] Expose event keywords and publisher guid
Accessing the publisher guid is useful to setup an ETW trace, and we
need to know event keywords in order to activate the ETW session on the
correct "channels".
2019-10-14 22:03:49 +02:00
hakril 05ee89de81 Adding some service related definition + added services specific access right to security.py 2019-10-14 21:52:54 +02:00
hakril 80799fe411 Working on improving the Evt related api 2019-10-14 21:52:02 +02:00
hakril 265ef59011 Update/Fix PROCESSINFOCLASS enum + NtSetInformationProcess use a PROCESSINFOCLASS not a PROCESS_INFORMATION_CLASS 2019-10-08 14:00:56 +02:00
hakril 30b05d25f1 Improved MultipleInstr capabilities + fix a bug in x64 that failed to recognize 32b register name not uppercase 2019-09-20 16:18:16 +02:00
hakril 6bd45e8503 Added regkey.empty() based on RegDeleteTreeW 2019-08-13 14:57:56 +02:00
hakril 1e42553112 Added some test + added a com security fixture allowing allowed correct COM init accross all tests 2019-08-12 13:53:15 +02:00
hakril 168783af9d Improved CryptMsg API with some more properties 2019-08-12 13:50:08 +02:00
hakril b9fe4d19e5 Added ControlService + service.stop() + service.start() accept arguments 2019-08-08 10:28:22 +02:00
hakril 6fcba46739 Added <Raw> pseudo instruction to both assemblers + corresponding test 2019-08-07 17:42:56 +02:00
hakril 960838ae3c handle code now use gdef + added some handle tests 2019-08-07 17:25:36 +02:00
hakril 8a32e00f68 Handle documented key type and unkown one + add code to handle badly encoded values (REG_MULTI_SZ notably) 2019-08-07 14:48:26 +02:00
hakril 670bb713a2 Fix a bug about REG_SZ key non-null terminated in values enumeration 2019-08-07 09:47:31 +02:00
hakril 032de6a848 Moved bits.py to winobject/ + added windows.system.bits as entrypoint 2019-08-05 22:32:10 +02:00
hakril 7827a43d9a Fixed a logic bug in object manager + import bug in syswow.py 2019-08-05 22:31:00 +02:00
hakril b0fa864271 Added some API to winproxy 2019-08-05 22:27:07 +02:00
hakril 7c816acdda windows.system.registry does not use _winreg at all anymore 2019-08-05 22:26:28 +02:00
hakril 7f4ff75854 Rewrote windows.system.registry to handle unicode. added registry test (including unicode testing) 2019-08-05 16:56:48 +02:00
hakril 0697891026 Some improvment to ctypes generation + a lot of new definitions 2019-08-05 16:55:35 +02:00
hakril 15f399df6d Still playing with security-descriptor / SACL / required rights (MAXIMUM_ALLOWED does not work) 2019-06-28 10:34:20 +02:00
hakril b628ca336b Working on api to set security descriptor 2019-06-28 09:38:35 +02:00
hakril b160935747 Added current etw code (event_trace) 2019-05-31 09:06:09 +02:00
hakril 554a6b0572 Added some more ctypes defition 2019-05-18 23:35:52 +02:00
hakril f9104141e5 Added/refactored many ctypes_generation definitions 2019-04-26 13:49:55 +02:00
hakril 5794a92168 ctypes_generation now handle anonymous sub-struct/union 2019-04-26 13:43:41 +02:00
hakril 578392ffde Improve retrieving of event-log data type 2019-02-11 17:11:23 +01:00
hakril 44e5a09564 Few improvement in existing API + test of Winprocess.handles 2019-01-22 15:06:23 +01:00
hakril 4e8a765bd6 Added some generated def 2019-01-22 15:02:18 +01:00
423 changed files with 236279 additions and 45121 deletions
+11 -4
View File
@@ -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).
[![Join the chat at https://gitter.im/PythonForWindows/general](https://badges.gitter.im/PythonForWindows/general.svg)](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,9 +14,10 @@ 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, suggestion do not hesitate to contact me.
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
@@ -25,7 +28,11 @@ You can install PythonForWindows using the ``setup.py`` script:
python setup.py install
``
Note that PythonForWindows only support Python2 at the moment.
#### 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
+12 -5
View File
@@ -9,10 +9,13 @@ from simpleparser import *
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", "__RPC__in_opt_string", "__RPC__inout_opt", "__RPC__in_string", "__deref_out_opt", "__RPC__inout"]
"__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", "__RPC__out_ecount_full_string"]
"__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 = self.initial_processing(data)
@@ -34,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)
+2
View File
@@ -9,6 +9,8 @@ class WinDef(object):
self.code = code
def generate_ctypes(self):
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):
@@ -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,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,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,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,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,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;
@@ -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,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,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,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,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)
@@ -38,6 +38,10 @@
#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
@@ -17,4 +17,84 @@
#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
#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)
@@ -222,7 +222,6 @@
#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
@@ -257,3 +256,144 @@
#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"
@@ -1,5 +1,5 @@
import platform
from flag import make_flag
from .flag import make_flag
bits = platform.architecture()[0]
bitness = int(bits[:2])
@@ -0,0 +1,8 @@
/*
FILE_VER_GET_... flags are for use by
GetFileVersionInfoSizeEx
GetFileVersionInfoExW
*/
#define FILE_VER_GET_LOCALISED 0x01
#define FILE_VER_GET_NEUTRAL 0x02
#define FILE_VER_GET_PREFETCHED 0x04
@@ -318,15 +318,6 @@
#define FILE_SUPPORTS_USN_JOURNAL 0x02000000
#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 RRF_RT_REG_NONE 0x00000001
#define RRF_RT_REG_SZ 0x00000002
#define RRF_RT_REG_EXPAND_SZ 0x00000004
@@ -342,13 +333,6 @@
#define ERROR_NOT_ALL_ASSIGNED 1300
#define S_OK 0
#define S_FALSE 1
#define E_NOINTERFACE 0x80004002
#define E_FAIL 0x80004005
#define DEBUG_EVENT_BREAKPOINT 0x00000001
#define DEBUG_EVENT_EXCEPTION 0x00000002
@@ -442,118 +426,8 @@
#define SECURITY_MANDATORY_SYSTEM_RID (0x00004000L)
#define SECURITY_MANDATORY_PROTECTED_PROCESS_RID (0x00005000L)
#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
#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
#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)
#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)
#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_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
#define DRIVE_UNKNOWN 0
#define DRIVE_NO_ROOT_DIR 1
@@ -718,50 +592,6 @@
#define FILE_OVERWRITE_IF 0x00000005
#define FILE_MAXIMUM_DISPOSITION 0x00000005
#define TRUST_E_PROVIDER_UNKNOWN (0x800B0001L)
#define TRUST_E_ACTION_UNKNOWN (0x800B0002L)
#define TRUST_E_SUBJECT_FORM_UNKNOWN (0x800B0003L)
#define DIGSIG_E_ENCODE (0x800B0005L)
#define TRUST_E_SUBJECT_NOT_TRUSTED (0x800B0004L)
#define DIGSIG_E_DECODE (0x800B0006L)
#define DIGSIG_E_EXTENSIBILITY (0x800B0007L)
#define PERSIST_E_SIZEDEFINITE (0x800B0009L)
#define DIGSIG_E_CRYPTO (0x800B0008L)
#define PERSIST_E_SIZEINDEFINITE (0x800B000AL)
#define PERSIST_E_NOTSELFSIZING (0x800B000BL)
#define TRUST_E_NOSIGNATURE (0x800B0100L)
#define TRUST_E_BAD_DIGEST (0x80096010L)
#define CERT_E_EXPIRED (0x800B0101L)
#define CERT_E_VALIDITYPERIODNESTING (0x800B0102L)
#define CERT_E_PURPOSE (0x800B0106L)
#define CERT_E_ISSUERCHAINING (0x800B0107L)
#define CERT_E_MALFORMED (0x800B0108L)
#define CERT_E_UNTRUSTEDROOT (0x800B0109L)
#define CERT_E_CHAINING (0x800B010AL)
#define TRUST_E_FAIL (0x800B010BL)
#define CERT_E_REVOKED (0x800B010CL)
#define CERT_E_UNTRUSTEDTESTROOT (0x800B010DL)
#define CERT_E_REVOCATION_FAILURE (0x800B010EL)
#define CERT_E_CN_NO_MATCH (0x800B010FL)
#define CERT_E_WRONG_USAGE (0x800B0110L)
#define TRUST_E_EXPLICIT_DISTRUST (0x800B0111L)
#define CERT_E_UNTRUSTEDCA (0x800B0112L)
#define CERT_E_INVALID_POLICY (0x800B0113L)
#define CERT_E_INVALID_NAME (0x800B0114L)
#define CRYPT_E_FILE_ERROR (0x80092003L)
#define CRYPT_E_MSG_ERROR (0x80091001L)
#define CRYPT_E_UNKNOWN_ALGO (0x80091002L)
#define CRYPT_E_OID_FORMAT (0x80091003L)
#define CRYPT_E_INVALID_MSG_TYPE (0x80091004L)
#define CRYPT_E_UNEXPECTED_ENCODING (0x80091005L)
#define CRYPT_E_AUTH_ATTR_MISSING (0x80091006L)
#define CRYPT_E_HASH_VALUE (0x80091007L)
#define E_INVALIDARG (0x80070057L)
#define CRYPT_E_NOT_DECRYPTED (0x8009100AL)
#define CRYPT_E_INVALID_INDEX (0x80091008L)
#define CRYPT_E_ATTRIBUTES_MISSING (0x8009100FL)
#define IMAGE_SCN_TYPE_REG 0x00000000
#define IMAGE_SCN_TYPE_DSECT 0x00000001
@@ -503,6 +503,35 @@
#define RPC_S_UNSUPPORTED_TRANS_SYN 1730
#define RPC_S_PROCNUM_OUT_OF_RANGE 1745
#define ERROR_RESOURCE_DATA_NOT_FOUND 1812L
#define ERROR_RESOURCE_TYPE_NOT_FOUND 1813L
#define ERROR_RESOURCE_NAME_NOT_FOUND 1814L
#define ERROR_RESOURCE_LANG_NOT_FOUND 1815L
////////////////////////////////////
// //
// WMI Error Codes //
// //
////////////////////////////////////
#define ERROR_WMI_GUID_NOT_FOUND 4200L
#define ERROR_WMI_INSTANCE_NOT_FOUND 4201L
#define ERROR_WMI_ITEMID_NOT_FOUND 4202L
#define ERROR_WMI_TRY_AGAIN 4203L
#define ERROR_WMI_DP_NOT_FOUND 4204L
#define ERROR_WMI_UNRESOLVED_INSTANCE_REF 4205L
#define ERROR_WMI_ALREADY_ENABLED 4206L
#define ERROR_WMI_GUID_DISCONNECTED 4207L
#define ERROR_WMI_SERVER_UNAVAILABLE 4208L
#define ERROR_WMI_DP_FAILED 4209L
#define ERROR_WMI_INVALID_MOF 4210L
#define ERROR_WMI_INVALID_REGINFO 4211L
#define ERROR_WMI_ALREADY_DISABLED 4212L
#define ERROR_WMI_READ_ONLY 4213L
#define ERROR_WMI_SET_FAILURE 4214L
#define ERROR_INVALID_TRANSACTION 6700
#define ERROR_TRANSACTION_NOT_ACTIVE 6701
#define ERROR_TRANSACTION_REQUEST_NOT_VALID 6702
@@ -558,4 +587,11 @@
#define NTE_DECRYPTION_FAILURE (0x8009002C)
#define NTE_INTERNAL_ERROR (0x8009002D)
#define NTE_UI_REQUIRED (0x8009002E)
#define NTE_HMAC_NOT_SUPPORTED (0x8009002F)
#define NTE_HMAC_NOT_SUPPORTED (0x8009002F)
// Autres
#define E_UNEXPECTED (0x8000FFFFL)
// RPC/COM Erros
#define RPC_E_INVALID_OBJREF 0x8001011D
#define RPC_E_ACCESS_DENIED 0x8001011B
@@ -12,354 +12,4 @@
#define EVENTLOG_BACKWARDS_READ 0x0008
#define EVT_VARIANT_TYPE_MASK 0x7f
#define EVT_VARIANT_TYPE_ARRAY 128
///////////////////////////////////////////////////
// //
// Start of WinEvt Error codes //
// //
// 15000 to 15079 //
///////////////////////////////////////////////////
//
// MessageId: ERROR_EVT_INVALID_CHANNEL_PATH
//
// MessageText:
//
// The specified channel path is invalid.
//
#define ERROR_EVT_INVALID_CHANNEL_PATH 15000L
//
// MessageId: ERROR_EVT_INVALID_QUERY
//
// MessageText:
//
// The specified query is invalid.
//
#define ERROR_EVT_INVALID_QUERY 15001L
//
// MessageId: ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND
//
// MessageText:
//
// The publisher metadata cannot be found in the resource.
//
#define ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND 15002L
//
// MessageId: ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND
//
// MessageText:
//
// The template for an event definition cannot be found in the resource (error = %1).
//
#define ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND 15003L
//
// MessageId: ERROR_EVT_INVALID_PUBLISHER_NAME
//
// MessageText:
//
// The specified publisher name is invalid.
//
#define ERROR_EVT_INVALID_PUBLISHER_NAME 15004L
//
// MessageId: ERROR_EVT_INVALID_EVENT_DATA
//
// MessageText:
//
// The event data raised by the publisher is not compatible with the event template definition in the publisher's manifest
//
#define ERROR_EVT_INVALID_EVENT_DATA 15005L
//
// MessageId: ERROR_EVT_CHANNEL_NOT_FOUND
//
// MessageText:
//
// The specified channel could not be found. Check channel configuration.
//
#define ERROR_EVT_CHANNEL_NOT_FOUND 15007L
//
// MessageId: ERROR_EVT_MALFORMED_XML_TEXT
//
// MessageText:
//
// The specified xml text was not well-formed. See Extended Error for more details.
//
#define ERROR_EVT_MALFORMED_XML_TEXT 15008L
//
// MessageId: ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL
//
// MessageText:
//
// The caller is trying to subscribe to a direct channel which is not allowed. The events for a direct channel go directly to a logfile and cannot be subscribed to.
//
#define ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL 15009L
//
// MessageId: ERROR_EVT_CONFIGURATION_ERROR
//
// MessageText:
//
// Configuration error.
//
#define ERROR_EVT_CONFIGURATION_ERROR 15010L
//
// MessageId: ERROR_EVT_QUERY_RESULT_STALE
//
// MessageText:
//
// The query result is stale / invalid. This may be due to the log being cleared or rolling over after the query result was created. Users should handle this code by releasing the query result object and reissuing the query.
//
#define ERROR_EVT_QUERY_RESULT_STALE 15011L
//
// MessageId: ERROR_EVT_QUERY_RESULT_INVALID_POSITION
//
// MessageText:
//
// Query result is currently at an invalid position.
//
#define ERROR_EVT_QUERY_RESULT_INVALID_POSITION 15012L
//
// MessageId: ERROR_EVT_NON_VALIDATING_MSXML
//
// MessageText:
//
// Registered MSXML doesn't support validation.
//
#define ERROR_EVT_NON_VALIDATING_MSXML 15013L
//
// MessageId: ERROR_EVT_FILTER_ALREADYSCOPED
//
// MessageText:
//
// An expression can only be followed by a change of scope operation if it itself evaluates to a node set and is not already part of some other change of scope operation.
//
#define ERROR_EVT_FILTER_ALREADYSCOPED 15014L
//
// MessageId: ERROR_EVT_FILTER_NOTELTSET
//
// MessageText:
//
// Can't perform a step operation from a term that does not represent an element set.
//
#define ERROR_EVT_FILTER_NOTELTSET 15015L
//
// MessageId: ERROR_EVT_FILTER_INVARG
//
// MessageText:
//
// Left hand side arguments to binary operators must be either attributes, nodes or variables and right hand side arguments must be constants.
//
#define ERROR_EVT_FILTER_INVARG 15016L
//
// MessageId: ERROR_EVT_FILTER_INVTEST
//
// MessageText:
//
// A step operation must involve either a node test or, in the case of a predicate, an algebraic expression against which to test each node in the node set identified by the preceeding node set can be evaluated.
//
#define ERROR_EVT_FILTER_INVTEST 15017L
//
// MessageId: ERROR_EVT_FILTER_INVTYPE
//
// MessageText:
//
// This data type is currently unsupported.
//
#define ERROR_EVT_FILTER_INVTYPE 15018L
//
// MessageId: ERROR_EVT_FILTER_PARSEERR
//
// MessageText:
//
// A syntax error occurred at position %1!d!
//
#define ERROR_EVT_FILTER_PARSEERR 15019L
//
// MessageId: ERROR_EVT_FILTER_UNSUPPORTEDOP
//
// MessageText:
//
// This operator is unsupported by this implementation of the filter.
//
#define ERROR_EVT_FILTER_UNSUPPORTEDOP 15020L
//
// MessageId: ERROR_EVT_FILTER_UNEXPECTEDTOKEN
//
// MessageText:
//
// The token encountered was unexpected.
//
#define ERROR_EVT_FILTER_UNEXPECTEDTOKEN 15021L
//
// MessageId: ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL
//
// MessageText:
//
// The requested operation cannot be performed over an enabled direct channel. The channel must first be disabled before performing the requested operation.
//
#define ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL 15022L
//
// MessageId: ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE
//
// MessageText:
//
// Channel property %1!s! contains invalid value. The value has invalid type, is outside of valid range, can't be updated or is not supported by this type of channel.
//
#define ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE 15023L
//
// MessageId: ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE
//
// MessageText:
//
// Publisher property %1!s! contains invalid value. The value has invalid type, is outside of valid range, can't be updated or is not supported by this type of publisher.
//
#define ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE 15024L
//
// MessageId: ERROR_EVT_CHANNEL_CANNOT_ACTIVATE
//
// MessageText:
//
// The channel fails to activate.
//
#define ERROR_EVT_CHANNEL_CANNOT_ACTIVATE 15025L
//
// MessageId: ERROR_EVT_FILTER_TOO_COMPLEX
//
// MessageText:
//
// The xpath expression exceeded supported complexity. Please symplify it or split it into two or more simple expressions.
//
#define ERROR_EVT_FILTER_TOO_COMPLEX 15026L
//
// MessageId: ERROR_EVT_MESSAGE_NOT_FOUND
//
// MessageText:
//
// the message resource is present but the message is not found in the string/message table
//
#define ERROR_EVT_MESSAGE_NOT_FOUND 15027L
//
// MessageId: ERROR_EVT_MESSAGE_ID_NOT_FOUND
//
// MessageText:
//
// The message id for the desired message could not be found.
//
#define ERROR_EVT_MESSAGE_ID_NOT_FOUND 15028L
//
// MessageId: ERROR_EVT_UNRESOLVED_VALUE_INSERT
//
// MessageText:
//
// The substitution string for insert index (%1) could not be found.
//
#define ERROR_EVT_UNRESOLVED_VALUE_INSERT 15029L
//
// MessageId: ERROR_EVT_UNRESOLVED_PARAMETER_INSERT
//
// MessageText:
//
// The description string for parameter reference (%1) could not be found.
//
#define ERROR_EVT_UNRESOLVED_PARAMETER_INSERT 15030L
//
// MessageId: ERROR_EVT_MAX_INSERTS_REACHED
//
// MessageText:
//
// The maximum number of replacements has been reached.
//
#define ERROR_EVT_MAX_INSERTS_REACHED 15031L
//
// MessageId: ERROR_EVT_EVENT_DEFINITION_NOT_FOUND
//
// MessageText:
//
// The event definition could not be found for event id (%1).
//
#define ERROR_EVT_EVENT_DEFINITION_NOT_FOUND 15032L
//
// MessageId: ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND
//
// MessageText:
//
// The locale specific resource for the desired message is not present.
//
#define ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND 15033L
//
// MessageId: ERROR_EVT_VERSION_TOO_OLD
//
// MessageText:
//
// The resource is too old to be compatible.
//
#define ERROR_EVT_VERSION_TOO_OLD 15034L
//
// MessageId: ERROR_EVT_VERSION_TOO_NEW
//
// MessageText:
//
// The resource is too new to be compatible.
//
#define ERROR_EVT_VERSION_TOO_NEW 15035L
//
// MessageId: ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY
//
// MessageText:
//
// The channel at index %1!d! of the query can't be opened.
//
#define ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY 15036L
//
// MessageId: ERROR_EVT_PUBLISHER_DISABLED
//
// MessageText:
//
// The publisher has been disabled and its resource is not avaiable. This usually occurs when the publisher is in the process of being uninstalled or upgraded.
//
#define ERROR_EVT_PUBLISHER_DISABLED 15037L
//
// MessageId: ERROR_EVT_FILTER_OUT_OF_RANGE
//
// MessageText:
//
// Attempted to create a numeric type that is outside of its valid range.
//
#define ERROR_EVT_FILTER_OUT_OF_RANGE 15038L
#define EVT_VARIANT_TYPE_ARRAY 128
@@ -336,162 +336,6 @@
#define CERT_STORE_PROV_PKCS12 (17)
#define szOID_RSA "1.2.840.113549"
#define szOID_PKCS "1.2.840.113549.1"
#define szOID_RSA_HASH "1.2.840.113549.2"
#define szOID_RSA_ENCRYPT "1.2.840.113549.3"
#define szOID_PKCS_1 "1.2.840.113549.1.1"
#define szOID_PKCS_2 "1.2.840.113549.1.2"
#define szOID_PKCS_3 "1.2.840.113549.1.3"
#define szOID_PKCS_4 "1.2.840.113549.1.4"
#define szOID_PKCS_5 "1.2.840.113549.1.5"
#define szOID_PKCS_6 "1.2.840.113549.1.6"
#define szOID_PKCS_7 "1.2.840.113549.1.7"
#define szOID_PKCS_8 "1.2.840.113549.1.8"
#define szOID_PKCS_9 "1.2.840.113549.1.9"
#define szOID_PKCS_10 "1.2.840.113549.1.10"
#define szOID_PKCS_12 "1.2.840.113549.1.12"
#define szOID_RSA_RSA "1.2.840.113549.1.1.1"
#define szOID_RSA_MD2RSA "1.2.840.113549.1.1.2"
#define szOID_RSA_MD4RSA "1.2.840.113549.1.1.3"
#define szOID_RSA_MD5RSA "1.2.840.113549.1.1.4"
#define szOID_RSA_SHA1RSA "1.2.840.113549.1.1.5"
#define szOID_RSA_SETOAEP_RSA "1.2.840.113549.1.1.6"
#define szOID_RSAES_OAEP "1.2.840.113549.1.1.7"
#define szOID_RSA_MGF1 "1.2.840.113549.1.1.8"
#define szOID_RSA_PSPECIFIED "1.2.840.113549.1.1.9"
#define szOID_RSA_SSA_PSS "1.2.840.113549.1.1.10"
#define szOID_RSA_SHA256RSA "1.2.840.113549.1.1.11"
#define szOID_RSA_SHA384RSA "1.2.840.113549.1.1.12"
#define szOID_RSA_SHA512RSA "1.2.840.113549.1.1.13"
#define szOID_RSA_DH "1.2.840.113549.1.3.1"
#define szOID_RSA_data "1.2.840.113549.1.7.1"
#define szOID_RSA_signedData "1.2.840.113549.1.7.2"
#define szOID_RSA_envelopedData "1.2.840.113549.1.7.3"
#define szOID_RSA_signEnvData "1.2.840.113549.1.7.4"
#define szOID_RSA_digestedData "1.2.840.113549.1.7.5"
#define szOID_RSA_hashedData "1.2.840.113549.1.7.5"
#define szOID_RSA_encryptedData "1.2.840.113549.1.7.6"
#define szOID_RSA_emailAddr "1.2.840.113549.1.9.1"
#define szOID_RSA_unstructName "1.2.840.113549.1.9.2"
#define szOID_RSA_contentType "1.2.840.113549.1.9.3"
#define szOID_RSA_messageDigest "1.2.840.113549.1.9.4"
#define szOID_RSA_signingTime "1.2.840.113549.1.9.5"
#define szOID_RSA_counterSign "1.2.840.113549.1.9.6"
#define szOID_RSA_challengePwd "1.2.840.113549.1.9.7"
#define szOID_RSA_unstructAddr "1.2.840.113549.1.9.8"
#define szOID_RSA_extCertAttrs "1.2.840.113549.1.9.9"
#define szOID_RSA_certExtensions "1.2.840.113549.1.9.14"
#define szOID_RSA_SMIMECapabilities "1.2.840.113549.1.9.15"
#define szOID_RSA_preferSignedData "1.2.840.113549.1.9.15.1"
#define szOID_TIMESTAMP_TOKEN "1.2.840.113549.1.9.16.1.4"
#define szOID_RFC3161_counterSign "1.3.6.1.4.1.311.3.3.1"
#define szOID_RSA_SMIMEalg "1.2.840.113549.1.9.16.3"
#define szOID_RSA_SMIMEalgESDH "1.2.840.113549.1.9.16.3.5"
#define szOID_RSA_SMIMEalgCMS3DESwrap "1.2.840.113549.1.9.16.3.6"
#define szOID_RSA_SMIMEalgCMSRC2wrap "1.2.840.113549.1.9.16.3.7"
#define szOID_RSA_MD2 "1.2.840.113549.2.2"
#define szOID_RSA_MD4 "1.2.840.113549.2.4"
#define szOID_RSA_MD5 "1.2.840.113549.2.5"
#define szOID_RSA_RC2CBC "1.2.840.113549.3.2"
#define szOID_RSA_RC4 "1.2.840.113549.3.4"
#define szOID_RSA_DES_EDE3_CBC "1.2.840.113549.3.7"
#define szOID_RSA_RC5_CBCPad "1.2.840.113549.3.9"
#define szOID_ANSI_X942 "1.2.840.10046"
#define szOID_ANSI_X942_DH "1.2.840.10046.2.1"
#define szOID_X957 "1.2.840.10040"
#define szOID_X957_DSA "1.2.840.10040.4.1"
#define szOID_X957_SHA1DSA "1.2.840.10040.4.3"
#define szOID_ECC_PUBLIC_KEY "1.2.840.10045.2.1"
#define szOID_ECC_CURVE_P256 "1.2.840.10045.3.1.7"
#define szOID_ECC_CURVE_P384 "1.3.132.0.34"
#define szOID_ECC_CURVE_P521 "1.3.132.0.35"
#define szOID_ECDSA_SHA1 "1.2.840.10045.4.1"
#define szOID_ECDSA_SPECIFIED "1.2.840.10045.4.3"
#define szOID_ECDSA_SHA256 "1.2.840.10045.4.3.2"
#define szOID_ECDSA_SHA384 "1.2.840.10045.4.3.3"
#define szOID_ECDSA_SHA512 "1.2.840.10045.4.3.4"
#define szOID_NIST_AES128_CBC "2.16.840.1.101.3.4.1.2"
#define szOID_NIST_AES192_CBC "2.16.840.1.101.3.4.1.22"
#define szOID_NIST_AES256_CBC "2.16.840.1.101.3.4.1.42"
#define szOID_NIST_AES128_WRAP "2.16.840.1.101.3.4.1.5"
#define szOID_NIST_AES192_WRAP "2.16.840.1.101.3.4.1.25"
#define szOID_NIST_AES256_WRAP "2.16.840.1.101.3.4.1.45"
#define szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF "1.3.133.16.840.63.0.2"
#define szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF "1.3.132.1.11.1"
#define szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF "1.3.132.1.11.2"
#define szOID_DS "2.5"
#define szOID_DSALG "2.5.8"
#define szOID_DSALG_CRPT "2.5.8.1"
#define szOID_DSALG_HASH "2.5.8.2"
#define szOID_DSALG_SIGN "2.5.8.3"
#define szOID_DSALG_RSA "2.5.8.1.1"
#define szOID_OIW "1.3.14"
#define szOID_OIWSEC "1.3.14.3.2"
#define szOID_OIWSEC_md4RSA "1.3.14.3.2.2"
#define szOID_OIWSEC_md5RSA "1.3.14.3.2.3"
#define szOID_OIWSEC_md4RSA2 "1.3.14.3.2.4"
#define szOID_OIWSEC_desECB "1.3.14.3.2.6"
#define szOID_OIWSEC_desCBC "1.3.14.3.2.7"
#define szOID_OIWSEC_desOFB "1.3.14.3.2.8"
#define szOID_OIWSEC_desCFB "1.3.14.3.2.9"
#define szOID_OIWSEC_desMAC "1.3.14.3.2.10"
#define szOID_OIWSEC_rsaSign "1.3.14.3.2.11"
#define szOID_OIWSEC_dsa "1.3.14.3.2.12"
#define szOID_OIWSEC_shaDSA "1.3.14.3.2.13"
#define szOID_OIWSEC_mdc2RSA "1.3.14.3.2.14"
#define szOID_OIWSEC_shaRSA "1.3.14.3.2.15"
#define szOID_OIWSEC_dhCommMod "1.3.14.3.2.16"
#define szOID_OIWSEC_desEDE "1.3.14.3.2.17"
#define szOID_OIWSEC_sha "1.3.14.3.2.18"
#define szOID_OIWSEC_mdc2 "1.3.14.3.2.19"
#define szOID_OIWSEC_dsaComm "1.3.14.3.2.20"
#define szOID_OIWSEC_dsaCommSHA "1.3.14.3.2.21"
#define szOID_OIWSEC_rsaXchg "1.3.14.3.2.22"
#define szOID_OIWSEC_keyHashSeal "1.3.14.3.2.23"
#define szOID_OIWSEC_md2RSASign "1.3.14.3.2.24"
#define szOID_OIWSEC_md5RSASign "1.3.14.3.2.25"
#define szOID_OIWSEC_sha1 "1.3.14.3.2.26"
#define szOID_OIWSEC_dsaSHA1 "1.3.14.3.2.27"
#define szOID_OIWSEC_dsaCommSHA1 "1.3.14.3.2.28"
#define szOID_OIWSEC_sha1RSASign "1.3.14.3.2.29"
#define szOID_OIWDIR "1.3.14.7.2"
#define szOID_OIWDIR_CRPT "1.3.14.7.2.1"
#define szOID_OIWDIR_HASH "1.3.14.7.2.2"
#define szOID_OIWDIR_SIGN "1.3.14.7.2.3"
#define szOID_OIWDIR_md2 "1.3.14.7.2.2.1"
#define szOID_OIWDIR_md2RSA "1.3.14.7.2.3.1"
#define szOID_INFOSEC "2.16.840.1.101.2.1"
#define szOID_INFOSEC_sdnsSignature "2.16.840.1.101.2.1.1.1"
#define szOID_INFOSEC_mosaicSignature "2.16.840.1.101.2.1.1.2"
#define szOID_INFOSEC_sdnsConfidentiality "2.16.840.1.101.2.1.1.3"
#define szOID_INFOSEC_mosaicConfidentiality "2.16.840.1.101.2.1.1.4"
#define szOID_INFOSEC_sdnsIntegrity "2.16.840.1.101.2.1.1.5"
#define szOID_INFOSEC_mosaicIntegrity "2.16.840.1.101.2.1.1.6"
#define szOID_INFOSEC_sdnsTokenProtection "2.16.840.1.101.2.1.1.7"
#define szOID_INFOSEC_mosaicTokenProtection "2.16.840.1.101.2.1.1.8"
#define szOID_INFOSEC_sdnsKeyManagement "2.16.840.1.101.2.1.1.9"
#define szOID_INFOSEC_mosaicKeyManagement "2.16.840.1.101.2.1.1.10"
#define szOID_INFOSEC_sdnsKMandSig "2.16.840.1.101.2.1.1.11"
#define szOID_INFOSEC_mosaicKMandSig "2.16.840.1.101.2.1.1.12"
#define szOID_INFOSEC_SuiteASignature "2.16.840.1.101.2.1.1.13"
#define szOID_INFOSEC_SuiteAConfidentiality "2.16.840.1.101.2.1.1.14"
#define szOID_INFOSEC_SuiteAIntegrity "2.16.840.1.101.2.1.1.15"
#define szOID_INFOSEC_SuiteATokenProtection "2.16.840.1.101.2.1.1.16"
#define szOID_INFOSEC_SuiteAKeyManagement "2.16.840.1.101.2.1.1.17"
#define szOID_INFOSEC_SuiteAKMandSig "2.16.840.1.101.2.1.1.18"
#define szOID_INFOSEC_mosaicUpdatedSig "2.16.840.1.101.2.1.1.19"
#define szOID_INFOSEC_mosaicKMandUpdSig "2.16.840.1.101.2.1.1.20"
#define szOID_INFOSEC_mosaicUpdatedInteg "2.16.840.1.101.2.1.1.21"
#define szOID_NIST_sha256 "2.16.840.1.101.3.4.2.1"
#define szOID_NIST_sha384 "2.16.840.1.101.3.4.2.2"
#define szOID_NIST_sha512 "2.16.840.1.101.3.4.2.3"
#define CRYPT_E_NOT_FOUND (0x80092004L)
#define CERT_STORE_NO_CRYPT_RELEASE_FLAG 0x00000001
#define CERT_STORE_SET_LOCALIZED_NAME_FLAG 0x00000002
#define CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG 0x00000004
+7 -2
View File
@@ -1,6 +1,6 @@
import sys
if sys.version_info.major == 3:
if sys.version_info.major >= 3:
long = int
@@ -14,7 +14,12 @@ class Flag(long):
def __repr__(self):
return "{0}({1:#x})".format(self.name, self)
__str__ = __repr__
# Custom __str__ removed for multiple reason
# Main one -> it breaks the json encoding of structure with flags :)
# Moving to a new politic -> if people want the name in a string use {x!r}
# The __str__ of security descriptor & guid will change soon as well :)
# __str__ = __repr__
# Fix pickling with protocol 2
def __getnewargs__(self, *args):
@@ -22,6 +22,17 @@ NTSTATUS WINAPI NtAlpcQueryInformationMessage(
_Out_opt_ PULONG ReturnLength
);
NTSTATUS WINAPI NtConnectPort(
_Out_ PHANDLE PortHandle,
_In_ PUNICODE_STRING PortName,
_In_ PSECURITY_QUALITY_OF_SERVICE SecurityQos,
_Inout_opt_ PPORT_VIEW ClientView,
_Inout_opt_ PREMOTE_PORT_VIEW ServerView,
_Out_opt_ PULONG MaxMessageLength,
_Inout_opt_ PVOID ConnectionInformation,
_Inout_opt_ PULONG ConnectionInformationLength
);
NTSTATUS WINAPI NtAlpcConnectPort(
_Out_ PHANDLE PortHandle,
_In_ PUNICODE_STRING PortName,
@@ -156,3 +167,18 @@ NTSTATUS WINAPI NtAlpcRevokeSecurityContext(
_Reserved_ ULONG Flags,
_In_ ALPC_HANDLE ContextHandle
);
NTSTATUS WINAPI NtAlpcImpersonateClientOfPort(
_In_ HANDLE PortHandle,
_In_ PPORT_MESSAGE Message,
_In_ PVOID Flags
);
// Not documented
NTSTATUS WINAPI TpCallbackSendAlpcMessageOnCompletion(
_In_ HANDLE TpHandle,
_In_ HANDLE PortHandle,
_In_ ULONG Flags,
_In_opt_ PPORT_MESSAGE SendMessage,
);
@@ -0,0 +1,46 @@
ATOM AddAtomA(
LPCSTR lpString
);
ATOM AddAtomW(
LPCWSTR lpString
);
ATOM GlobalAddAtomA(
LPCSTR lpString
);
ATOM GlobalAddAtomExA(
LPCSTR lpString,
DWORD Flags
);
ATOM GlobalAddAtomExW(
LPCWSTR lpString,
DWORD Flags
);
ATOM GlobalAddAtomW(
LPCWSTR lpString
);
ATOM GlobalDeleteAtom(
ATOM nAtom
);
UINT GlobalGetAtomNameA(
ATOM nAtom,
LPSTR lpBuffer,
INT nSize
);
UINT GlobalGetAtomNameW(
ATOM nAtom,
LPWSTR lpBuffer,
INT nSize
);
@@ -0,0 +1,163 @@
CONFIGRET WINAPI CM_Enumerate_Classes(
_In_ ULONG ulClassIndex,
_Out_ LPGUID ClassGuid,
_In_ ULONG ulFlags
);
CONFIGRET WINAPI CM_Enumerate_Classes_Ex(
_In_ ULONG ulClassIndex,
_Out_ LPGUID ClassGuid,
_In_ ULONG ulFlags,
_In_opt_ HMACHINE hMachine
);
CONFIGRET WINAPI CM_Get_First_Log_Conf(
_Out_opt_ PLOG_CONF plcLogConf,
_In_ DEVINST dnDevInst,
_In_ ULONG ulFlags
);
CONFIGRET WINAPI CM_Get_First_Log_Conf_Ex(
_Out_opt_ PLOG_CONF plcLogConf,
_In_ DEVINST dnDevInst,
_In_ ULONG ulFlags,
_In_opt_ HMACHINE hMachine
);
CONFIGRET WINAPI CM_Get_Log_Conf_Priority(
_In_ LOG_CONF lcLogConf,
_Out_ PPRIORITY pPriority,
_In_ ULONG ulFlags
);
CONFIGRET WINAPI CM_Get_Log_Conf_Priority_Ex(
_In_ LOG_CONF lcLogConf,
_Out_ PPRIORITY pPriority,
_In_ ULONG ulFlags,
_In_opt_ HMACHINE hMachine
);
CONFIGRET WINAPI CM_Get_Next_Log_Conf(
_Out_opt_ PLOG_CONF plcLogConf,
_In_ LOG_CONF lcLogConf,
_In_ ULONG ulFlags
);
CONFIGRET WINAPI CM_Get_Next_Log_Conf_Ex(
_Out_opt_ PLOG_CONF plcLogConf,
_In_ LOG_CONF lcLogConf,
_In_ ULONG ulFlags,
_In_opt_ HMACHINE hMachine
);
CONFIGRET WINAPI CM_Free_Res_Des_Handle(
_In_ RES_DES rdResDes
);
CONFIGRET WINAPI CM_Get_Child(
_Out_ PDEVINST pdnDevInst,
_In_ DEVINST dnDevInst,
_In_ ULONG ulFlags
);
CONFIGRET WINAPI CM_Get_Child_Ex(
_Out_ PDEVINST pdnDevInst,
_In_ DEVINST dnDevInst,
_In_ ULONG ulFlags,
_In_opt_ HMACHINE hMachine
);
CONFIGRET WINAPI CM_Get_Next_Res_Des(
_Out_ PRES_DES prdResDes,
_In_ RES_DES rdResDes,
_In_ RESOURCEID ForResource,
_Out_opt_ PRESOURCEID pResourceID,
_In_ ULONG ulFlags
);
CONFIGRET WINAPI CM_Get_Parent(
_Out_ PDEVINST pdnDevInst,
_In_ DEVINST dnDevInst,
_In_ ULONG ulFlags
);
CONFIGRET WINAPI CM_Get_Parent_Ex(
_Out_ PDEVINST pdnDevInst,
_In_ DEVINST dnDevInst,
_In_ ULONG ulFlags,
_In_opt_ HMACHINE hMachine
);
CONFIGRET WINAPI CM_Get_Res_Des_Data(
_In_ RES_DES rdResDes,
_Out_writes_bytes_(BufferLen) PVOID Buffer,
_In_ ULONG BufferLen,
_In_ ULONG ulFlags
);
CONFIGRET WINAPI CM_Get_Next_Res_Des_Ex(
_Out_ PRES_DES prdResDes,
_In_ RES_DES rdResDes,
_In_ RESOURCEID ForResource,
_Out_opt_ PRESOURCEID pResourceID,
_In_ ULONG ulFlags,
_In_opt_ HMACHINE hMachine
);
CONFIGRET WINAPI CM_Get_Res_Des_Data_Size(
_Out_ PULONG pulSize,
_In_ RES_DES rdResDes,
_In_ ULONG ulFlags
);
CONFIGRET WINAPI CM_Get_Res_Des_Data_Size_Ex(
_Out_ PULONG pulSize,
_In_ RES_DES rdResDes,
_In_ ULONG ulFlags,
_In_opt_ HMACHINE hMachine
);
CONFIGRET WINAPI CM_Get_Sibling(
_Out_ PDEVINST pdnDevInst,
_In_ DEVINST dnDevInst,
_In_ ULONG ulFlags
);
CONFIGRET WINAPI CM_Get_Sibling_Ex(
_Out_ PDEVINST pdnDevInst,
_In_ DEVINST dnDevInst,
_In_ ULONG ulFlags,
_In_opt_ HMACHINE hMachine
);
WORD WINAPI CM_Get_Version();
WORD WINAPI CM_Get_Version_Ex(
_In_opt_ HMACHINE hMachine
);
CONFIGRET WINAPI CM_Locate_DevNodeA(
_Out_ PDEVINST pdnDevInst,
_In_opt_ DEVINSTID_A pDeviceID,
_In_ ULONG ulFlags
);
CONFIGRET WINAPI CM_Locate_DevNodeW(
_Out_ PDEVINST pdnDevInst,
_In_opt_ DEVINSTID_W pDeviceID,
_In_ ULONG ulFlags
);
CONFIGRET WINAPI CM_Locate_DevNode_ExA(
_Out_ PDEVINST pdnDevInst,
_In_opt_ DEVINSTID_A pDeviceID,
_In_ ULONG ulFlags,
_In_opt_ HMACHINE hMachine
);
CONFIGRET WINAPI CM_Locate_DevNode_ExW(
_Out_ PDEVINST pdnDevInst,
_In_opt_ DEVINSTID_W pDeviceID,
_In_ ULONG ulFlags,
_In_opt_ HMACHINE hMachine
);
@@ -32,6 +32,14 @@ HRESULT WINAPI CoCreateInstanceEx(
_Inout_ MULTI_QI *pResults
);
HRESULT CoGetClassObject(
REFCLSID rclsid,
DWORD dwClsContext,
LPVOID pvReserved,
REFIID riid,
LPVOID *ppv
);
HRESULT WINAPI CoGetInterceptor(
_In_ REFIID iidIntercepted,
@@ -44,4 +52,8 @@ HRESULT WINAPI CoGetInterceptor(
HRESULT WINAPI CLSIDFromProgID(
_In_ LPCOLESTR lpszProgID,
_Out_ LPCLSID lpclsid
);
PVOID CoTaskMemFree(
LPVOID pv
);
@@ -514,4 +514,29 @@ BOOL CryptMsgControl(
BOOL CryptMsgClose(
HCRYPTMSG hCryptMsg
);
BOOL CryptEnumOIDFunction(
DWORD dwEncodingType,
LPCSTR pszFuncName,
LPCSTR pszOID,
DWORD dwFlags,
PVOID pvArg,
PFN_CRYPT_ENUM_OID_FUNC pfnEnumOIDFunc
);
BOOL CryptGetOIDFunctionValue(
DWORD dwEncodingType,
LPCSTR pszFuncName,
LPCSTR pszOID,
LPCWSTR pwszValueName,
DWORD *pdwValueType,
BYTE *pbValueData,
DWORD *pcbValueData
);
BOOL CertCloseStore(
HCERTSTORE hCertStore,
DWORD dwFlags
);
@@ -1,37 +0,0 @@
DWORD64 WINAPI SymLoadModuleExA(
_In_ HANDLE hProcess,
_In_ HANDLE hFile,
_In_ PCSTR ImageName,
_In_ PCSTR ModuleName,
_In_ DWORD64 BaseOfDll,
_In_ DWORD DllSize,
_In_ PMODLOAD_DATA Data,
_In_ DWORD Flags
);
DWORD64 WINAPI SymLoadModuleExW(
_In_ HANDLE hProcess,
_In_ HANDLE hFile,
_In_ PCWSTR ImageName,
_In_ PCWSTR ModuleName,
_In_ DWORD64 BaseOfDll,
_In_ DWORD DllSize,
_In_ PMODLOAD_DATA Data,
_In_ DWORD Flags
);
BOOL WINAPI SymFromAddr(
_In_ HANDLE hProcess,
_In_ DWORD64 Address,
_Out_opt_ PDWORD64 Displacement,
_Inout_ PSYMBOL_INFO Symbol
);
BOOL WINAPI SymGetModuleInfo64(
_In_ HANDLE hProcess,
_In_ DWORD64 dwAddr,
_Out_ PIMAGEHLP_MODULE64 ModuleInfo
);
@@ -0,0 +1,18 @@
DWORD OpenVirtualDisk(
PVIRTUAL_STORAGE_TYPE VirtualStorageType,
PCWSTR Path,
VIRTUAL_DISK_ACCESS_MASK VirtualDiskAccessMask,
OPEN_VIRTUAL_DISK_FLAG Flags,
POPEN_VIRTUAL_DISK_PARAMETERS Parameters,
PHANDLE Handle
);
DWORD AttachVirtualDisk(
HANDLE VirtualDiskHandle,
PSECURITY_DESCRIPTOR SecurityDescriptor,
ATTACH_VIRTUAL_DISK_FLAG Flags,
ULONG ProviderSpecificFlags,
PATTACH_VIRTUAL_DISK_PARAMETERS Parameters,
LPOVERLAPPED Overlapped
);
@@ -0,0 +1,169 @@
ULONG WINAPI EnumerateTraceGuidsEx(
_In_ TRACE_QUERY_INFO_CLASS TraceQueryInfoClass,
_In_ PVOID InBuffer,
_In_ ULONG InBufferSize,
_Out_ PVOID OutBuffer,
_In_ ULONG OutBufferSize,
_Out_ PULONG ReturnLength
);
ULONG WINAPI QueryAllTracesA(
_Out_ PEVENT_TRACE_PROPERTIES *PropertyArray,
_In_ ULONG PropertyArrayCount,
_Out_ PULONG SessionCount
);
ULONG WINAPI QueryAllTracesW(
_Out_ PEVENT_TRACE_PROPERTIES *PropertyArray,
_In_ ULONG PropertyArrayCount,
_Out_ PULONG SessionCount
);
TRACEHANDLE WINAPI OpenTraceA(
_Inout_ PEVENT_TRACE_LOGFILEA Logfile
);
TRACEHANDLE WINAPI OpenTraceW(
_Inout_ PEVENT_TRACE_LOGFILEW Logfile
);
ULONG StartTraceA(
PTRACEHANDLE TraceHandle,
LPCSTR InstanceName,
PEVENT_TRACE_PROPERTIES Properties
);
ULONG StartTraceW(
PTRACEHANDLE TraceHandle,
LPCWSTR InstanceName,
PEVENT_TRACE_PROPERTIES Properties
);
ULONG StopTraceA(
TRACEHANDLE TraceHandle,
LPCSTR InstanceName,
PEVENT_TRACE_PROPERTIES Properties
);
ULONG StopTraceW(
TRACEHANDLE TraceHandle,
LPCWSTR InstanceName,
PEVENT_TRACE_PROPERTIES Properties
);
ULONG ControlTraceA(
TRACEHANDLE TraceHandle,
LPCSTR InstanceName,
PEVENT_TRACE_PROPERTIES Properties,
ULONG ControlCode
);
ULONG ControlTraceW(
TRACEHANDLE TraceHandle,
LPCWSTR InstanceName,
PEVENT_TRACE_PROPERTIES Properties,
ULONG ControlCode
);
ULONG WINAPI ProcessTrace(
_In_ PTRACEHANDLE HandleArray,
_In_ ULONG HandleCount,
_In_ LPFILETIME StartTime,
_In_ LPFILETIME EndTime
);
ULONG WINAPI EnableTrace(
_In_ ULONG Enable,
_In_ ULONG EnableFlag,
_In_ ULONG EnableLevel,
_In_ LPCGUID ControlGuid,
_In_ TRACEHANDLE SessionHandle
);
ULONG WINAPI EnableTraceEx(
_In_ LPCGUID ProviderId,
_In_opt_ LPCGUID SourceId,
_In_ TRACEHANDLE TraceHandle,
_In_ ULONG IsEnabled,
_In_ UCHAR Level,
_In_ ULONGLONG MatchAnyKeyword,
_In_ ULONGLONG MatchAllKeyword,
_In_ ULONG EnableProperty,
_In_opt_ PEVENT_FILTER_DESCRIPTOR EnableFilterDesc
);
ULONG WINAPI EnableTraceEx2(
_In_ TRACEHANDLE TraceHandle,
_In_ LPCGUID ProviderId,
_In_ ULONG ControlCode,
_In_ UCHAR Level,
_In_ ULONGLONG MatchAnyKeyword,
_In_ ULONGLONG MatchAllKeyword,
_In_ ULONG Timeout,
_In_opt_ PENABLE_TRACE_PARAMETERS EnableParameters
);
ULONG WINAPI TraceQueryInformation(
_In_ TRACEHANDLE SessionHandle,
_In_ TRACE_QUERY_INFO_CLASS InformationClass,
_Out_ PVOID TraceInformation,
_In_ ULONG InformationLength,
_Out_opt_ PULONG ReturnLength
);
ULONG WINAPI TraceSetInformation(
_In_ TRACEHANDLE SessionHandle,
_In_ TRACE_INFO_CLASS InformationClass,
_In_ PVOID TraceInformation,
_In_ ULONG InformationLength
);
ULONG WINAPI RegisterTraceGuidsW(
__in PVOID RequestAddress, // WMIDPREQUEST -> func ptr
__in_opt PVOID RequestContext,
__in LPCGUID ControlGuid,
__in ULONG GuidCount,
__in PTRACE_GUID_REGISTRATION TraceGuidReg,
__in_opt LPCWSTR MofImagePath,
__in_opt LPCWSTR MofResourceName,
__out PTRACEHANDLE RegistrationHandle
);
ULONG WINAPI RegisterTraceGuidsA(
__in PVOID RequestAddress, // WMIDPREQUEST -> func ptr
__in_opt PVOID RequestContext,
__in LPCGUID ControlGuid,
__in ULONG GuidCount,
__in PTRACE_GUID_REGISTRATION TraceGuidReg,
__in_opt LPCSTR MofImagePath,
__in_opt LPCSTR MofResourceName,
__out PTRACEHANDLE RegistrationHandle
);
ULONG WINAPI TraceEvent(
_In_ TRACEHANDLE SessionHandle,
_In_ PEVENT_TRACE_HEADER EventTrace
);
TRACEHANDLE WINAPI GetTraceLoggerHandle(
_In_ PVOID Buffer
);
@@ -19,6 +19,12 @@ HANDLE WINAPI OpenBackupEventLogW(
_In_ LPWSTR lpSourceName
);
EVT_HANDLE EvtOpenSession(
EVT_LOGIN_CLASS LoginClass,
PVOID Login,
DWORD Timeout,
DWORD Flags
);
BOOL WINAPI ReadEventLogA(
_In_ HANDLE hEventLog,
@@ -223,3 +229,12 @@ BOOL WINAPI EvtFormatMessage(
_Out_ PDWORD BufferUsed
);
BOOL EvtSeek(
EVT_HANDLE ResultSet,
LONGLONG Position,
EVT_HANDLE Bookmark,
DWORD Timeout,
DWORD Flags
);
@@ -0,0 +1,26 @@
HANDLE FindFirstFileA(
LPCSTR lpFileName,
LPWIN32_FIND_DATAA lpFindFileData
);
HANDLE FindFirstFileW(
LPCWSTR lpFileName,
LPWIN32_FIND_DATAW lpFindFileData
);
BOOL FindNextFileA(
HANDLE hFindFile,
LPWIN32_FIND_DATAA lpFindFileData
);
BOOL FindNextFileW(
HANDLE hFindFile,
LPWIN32_FIND_DATAW lpFindFileData
);
BOOL FindClose(
HANDLE hFindFile
);
@@ -0,0 +1,5 @@
LPVOID HeapAlloc(
HANDLE hHeap,
DWORD dwFlags,
SIZE_T dwBytes
);
@@ -0,0 +1,55 @@
NTSTATUS LsaOpenPolicy(
PLSA_UNICODE_STRING SystemName,
PLSA_OBJECT_ATTRIBUTES ObjectAttributes,
ACCESS_MASK DesiredAccess,
PLSA_HANDLE PolicyHandle
);
NTSTATUS LsaQueryInformationPolicy(
LSA_HANDLE PolicyHandle,
POLICY_INFORMATION_CLASS InformationClass,
PVOID *Buffer
);
NTSTATUS LsaClose(
LSA_HANDLE ObjectHandle
);
ULONG LsaNtStatusToWinError(
NTSTATUS Status
);
NTSTATUS LsaLookupNames(
LSA_HANDLE PolicyHandle,
ULONG Count,
PLSA_UNICODE_STRING Names,
PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
PLSA_TRANSLATED_SID *Sids
);
NTSTATUS LsaLookupNames2(
LSA_HANDLE PolicyHandle,
ULONG Flags,
ULONG Count,
PLSA_UNICODE_STRING Names,
PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
PLSA_TRANSLATED_SID2 *Sids
);
NTSTATUS LsaLookupSids(
LSA_HANDLE PolicyHandle,
ULONG Count,
PSID *Sids,
PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
PLSA_TRANSLATED_NAME *Names
);
NTSTATUS LsaLookupSids2(
LSA_HANDLE PolicyHandle,
ULONG LookupOptions,
ULONG Count,
PSID *Sids,
PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
PLSA_TRANSLATED_NAME *Names
);
@@ -0,0 +1,62 @@
DWORD WINAPI GetExtendedTcpTable(
_Out_ PVOID pTcpTable,
_Inout_ PDWORD pdwSize,
_In_ BOOL bOrder,
_In_ ULONG ulAf,
_In_ TCP_TABLE_CLASS TableClass,
_In_ ULONG Reserved
);
DWORD WINAPI GetExtendedUdpTable(
_Out_ PVOID pUdpTable,
_Inout_ PDWORD pdwSize,
_In_ BOOL bOrder,
_In_ ULONG ulAf,
_In_ UDP_TABLE_CLASS TableClass,
_In_ ULONG Reserved
);
DWORD WINAPI SetTcpEntry(
_In_ PMIB_TCPROW pTcpRow
);
DWORD DnsGetCacheDataTable(
PDNS_CACHE_ENTRY *DnsEntries
);
VOID WINAPI DnsFree(
_In_ PVOID pData,
_In_ DNS_FREE_TYPE FreeType
);
DNS_STATUS DnsQuery_A(
PCSTR pszName,
WORD wType,
DWORD Options,
PVOID pExtra,
PDNS_RECORDA *ppQueryResults,
PVOID *pReserved
);
DNS_STATUS DnsQuery_W(
PCWSTR pszName,
WORD wType,
DWORD Options,
PVOID pExtra,
PDNS_RECORDW *ppQueryResults,
PVOID *pReserved
);
// DNS_STATUS DnsQuery_UTF8(
// PCSTR pszName,
// WORD wType,
// DWORD Options,
// PVOID pExtra,
// PDNS_RECORD *ppQueryResults,
// PVOID *pReserved
// );
@@ -34,6 +34,13 @@ NTSTATUS NtQueryValueKey(
PULONG ResultLength
);
NTSTATUS NtQueryKey(
HANDLE KeyHandle,
KEY_INFORMATION_CLASS KeyInformationClass,
PVOID KeyInformation,
ULONG Length,
PULONG ResultLength
);
NTSTATUS NtEnumerateValueKey(
HANDLE KeyHandle,
@@ -42,4 +49,9 @@ NTSTATUS NtEnumerateValueKey(
PVOID KeyValueInformation,
ULONG Length,
PULONG ResultLength
);
NTSTATUS NtDeleteValueKey(
HANDLE KeyHandle,
PUNICODE_STRING ValueName
);
@@ -0,0 +1,256 @@
LSTATUS WINAPI RegQueryValueExA(
_In_ HKEY hKey,
_In_opt_ LPCSTR lpValueName,
_Reserved_ LPDWORD lpReserved,
_Out_opt_ LPDWORD lpType,
_Out_opt_ LPBYTE lpData,
_Inout_opt_ LPDWORD lpcbData
);
LSTATUS WINAPI RegQueryValueExW(
_In_ HKEY hKey,
_In_opt_ LPWSTR lpValueName,
_Reserved_ LPDWORD lpReserved,
_Out_opt_ LPDWORD lpType,
_Out_opt_ LPBYTE lpData,
_Inout_opt_ LPDWORD lpcbData
);
LSTATUS WINAPI RegOpenKeyExA(
_In_ HKEY hKey,
_In_opt_ LPCSTR lpSubKey,
_In_ DWORD ulOptions,
_In_ REGSAM samDesired,
_Out_ PHKEY phkResult
);
LSTATUS WINAPI RegOpenKeyExW(
_In_ HKEY hKey,
_In_opt_ LPWSTR lpSubKey,
_In_ DWORD ulOptions,
_In_ REGSAM samDesired,
_Out_ PHKEY phkResult
);
LSTATUS RegCreateKeyExA(
HKEY hKey,
LPCSTR lpSubKey,
DWORD Reserved,
LPSTR lpClass,
DWORD dwOptions,
REGSAM samDesired,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
PHKEY phkResult,
LPDWORD lpdwDisposition
);
LSTATUS RegCreateKeyExW(
HKEY hKey,
LPCWSTR lpSubKey,
DWORD Reserved,
LPWSTR lpClass,
DWORD dwOptions,
REGSAM samDesired,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
PHKEY phkResult,
LPDWORD lpdwDisposition
);
LSTATUS WINAPI RegGetValueA(
_In_ HKEY hkey,
_In_opt_ LPCSTR lpSubKey,
_In_opt_ LPCSTR lpValue,
_In_opt_ DWORD dwFlags,
_Out_opt_ LPDWORD pdwType,
_Out_opt_ PVOID pvData,
_Inout_opt_ LPDWORD pcbData
);
LSTATUS WINAPI RegGetValueW(
_In_ HKEY hkey,
_In_opt_ LPWSTR lpSubKey,
_In_opt_ LPWSTR lpValue,
_In_opt_ DWORD dwFlags,
_Out_opt_ LPDWORD pdwType,
_Out_opt_ PVOID pvData,
_Inout_opt_ LPDWORD pcbData
);
LSTATUS WINAPI RegCloseKey(
_In_ HKEY hKey
);
LSTATUS RegSetValueExW(
HKEY hKey,
LPCWSTR lpValueName,
DWORD Reserved,
DWORD dwType,
BYTE *lpData,
DWORD cbData
);
LSTATUS RegSetValueExA(
HKEY hKey,
LPCSTR lpValueName,
DWORD Reserved,
DWORD dwType,
BYTE *lpData,
DWORD cbData
);
LSTATUS RegSetKeyValueA(
HKEY hKey,
LPCSTR lpSubKey,
LPCSTR lpValueName,
DWORD dwType,
LPCVOID lpData,
DWORD cbData
);
LSTATUS RegSetKeyValueW(
HKEY hKey,
LPCWSTR lpSubKey,
LPCWSTR lpValueName,
DWORD dwType,
LPCVOID lpData,
DWORD cbData
);
LSTATUS RegEnumKeyExA(
HKEY hKey,
DWORD dwIndex,
LPSTR lpName,
LPDWORD lpcchName,
LPDWORD lpReserved,
LPSTR lpClass,
LPDWORD lpcchClass,
PFILETIME lpftLastWriteTime
);
LSTATUS RegEnumKeyExW(
HKEY hKey,
DWORD dwIndex,
LPWSTR lpName,
LPDWORD lpcchName,
LPDWORD lpReserved,
LPWSTR lpClass,
LPDWORD lpcchClass,
PFILETIME lpftLastWriteTime
);
LSTATUS RegGetKeySecurity(
HKEY hKey,
SECURITY_INFORMATION SecurityInformation,
PSECURITY_DESCRIPTOR pSecurityDescriptor,
LPDWORD lpcbSecurityDescriptor
);
LSTATUS RegQueryInfoKeyA(
HKEY hKey,
LPSTR lpClass,
LPDWORD lpcchClass,
LPDWORD lpReserved,
LPDWORD lpcSubKeys,
LPDWORD lpcbMaxSubKeyLen,
LPDWORD lpcbMaxClassLen,
LPDWORD lpcValues,
LPDWORD lpcbMaxValueNameLen,
LPDWORD lpcbMaxValueLen,
LPDWORD lpcbSecurityDescriptor,
PFILETIME lpftLastWriteTime
);
LSTATUS RegQueryInfoKeyW(
HKEY hKey,
LPWSTR lpClass,
LPDWORD lpcchClass,
LPDWORD lpReserved,
LPDWORD lpcSubKeys,
LPDWORD lpcbMaxSubKeyLen,
LPDWORD lpcbMaxClassLen,
LPDWORD lpcValues,
LPDWORD lpcbMaxValueNameLen,
LPDWORD lpcbMaxValueLen,
LPDWORD lpcbSecurityDescriptor,
PFILETIME lpftLastWriteTime
);
LSTATUS RegDeleteKeyValueW(
HKEY hKey,
LPCWSTR lpSubKey,
LPCWSTR lpValueName
);
LSTATUS RegDeleteKeyValueA(
HKEY hKey,
LPCSTR lpSubKey,
LPCSTR lpValueName
);
LSTATUS RegDeleteKeyExA(
HKEY hKey,
LPCSTR lpSubKey,
REGSAM samDesired,
DWORD Reserved
);
LSTATUS RegDeleteKeyExW(
HKEY hKey,
LPCWSTR lpSubKey,
REGSAM samDesired,
DWORD Reserved
);
LSTATUS RegDeleteValueA(
HKEY hKey,
LPCSTR lpValueName
);
LSTATUS RegDeleteValueW(
HKEY hKey,
LPCWSTR lpValueName
);
LSTATUS RegEnumValueA(
HKEY hKey,
DWORD dwIndex,
LPSTR lpValueName,
LPDWORD lpcchValueName,
LPDWORD lpReserved,
LPDWORD lpType,
LPBYTE lpData,
LPDWORD lpcbData
);
LSTATUS RegEnumValueW(
HKEY hKey,
DWORD dwIndex,
LPWSTR lpValueName,
LPDWORD lpcchValueName,
LPDWORD lpReserved,
LPDWORD lpType,
LPBYTE lpData,
LPDWORD lpcbData
);
LSTATUS RegDeleteTreeA(
HKEY hKey,
LPCSTR lpSubKey
);
LSTATUS RegDeleteTreeW(
HKEY hKey,
LPCWSTR lpSubKey
);
@@ -140,4 +140,171 @@ BOOL WINAPI GetAclInformation(
_Out_ LPVOID pAclInformation,
_In_ DWORD nAclInformationLength,
_In_ ACL_INFORMATION_CLASS dwAclInformationClass
);
);
/* VOID */
PVOID MapGenericMask(
PDWORD AccessMask,
PGENERIC_MAPPING GenericMapping
);
BOOL AccessCheck(
PSECURITY_DESCRIPTOR pSecurityDescriptor,
HANDLE ClientToken,
DWORD DesiredAccess,
PGENERIC_MAPPING GenericMapping,
PPRIVILEGE_SET PrivilegeSet,
LPDWORD PrivilegeSetLength,
LPDWORD GrantedAccess,
LPBOOL AccessStatus
);
DWORD WINAPI GetNamedSecurityInfoA(
_In_ LPCSTR pObjectName,
_In_ SE_OBJECT_TYPE ObjectType,
_In_ SECURITY_INFORMATION SecurityInfo,
_Out_opt_ PSID *ppsidOwner,
_Out_opt_ PSID *ppsidGroup,
_Out_opt_ PACL *ppDacl,
_Out_opt_ PACL *ppSacl,
_Out_opt_ PSECURITY_DESCRIPTOR *ppSecurityDescriptor
);
DWORD WINAPI GetNamedSecurityInfoW(
_In_ LPWSTR pObjectName,
_In_ SE_OBJECT_TYPE ObjectType,
_In_ SECURITY_INFORMATION SecurityInfo,
_Out_opt_ PSID *ppsidOwner,
_Out_opt_ PSID *ppsidGroup,
_Out_opt_ PACL *ppDacl,
_Out_opt_ PACL *ppSacl,
_Out_opt_ PSECURITY_DESCRIPTOR *ppSecurityDescriptor
);
DWORD WINAPI GetSecurityInfo(
_In_ HANDLE handle,
_In_ SE_OBJECT_TYPE ObjectType,
_In_ SECURITY_INFORMATION SecurityInfo,
_Out_opt_ PSID *ppsidOwner,
_Out_opt_ PSID *ppsidGroup,
_Out_opt_ PACL *ppDacl,
_Out_opt_ PACL *ppSacl,
_Out_opt_ PSECURITY_DESCRIPTOR *ppSecurityDescriptor
);
DWORD SetSecurityInfo(
HANDLE handle,
SE_OBJECT_TYPE ObjectType,
SECURITY_INFORMATION SecurityInfo,
PSID psidOwner,
PSID psidGroup,
PACL pDacl,
PACL pSacl
);
DWORD SetNamedSecurityInfoA(
LPSTR pObjectName,
SE_OBJECT_TYPE ObjectType,
SECURITY_INFORMATION SecurityInfo,
PSID psidOwner,
PSID psidGroup,
PACL pDacl,
PACL pSacl
);
DWORD SetNamedSecurityInfoW(
LPWSTR pObjectName,
SE_OBJECT_TYPE ObjectType,
SECURITY_INFORMATION SecurityInfo,
PSID psidOwner,
PSID psidGroup,
PACL pDacl,
PACL pSacl
);
/* Not documented but exported : guess from test*/
DWORD GetStringConditionFromBinary(
BYTE* BinaryAceCondition,
DWORD BinaryAceConditionSize,
DWORD Reserved1,
LPWSTR *StringAceCondition
);
BOOL AddAccessAllowedAce(
PACL pAcl,
DWORD dwAceRevision,
DWORD AccessMask,
PSID pSid
);
BOOL SetSecurityDescriptorDacl(
PSECURITY_DESCRIPTOR pSecurityDescriptor,
BOOL bDaclPresent,
PACL pDacl,
BOOL bDaclDefaulted
);
BOOL InitializeAcl(
PACL pAcl,
DWORD nAclLength,
DWORD dwAclRevision
);
BOOL InitializeSecurityDescriptor(
PSECURITY_DESCRIPTOR pSecurityDescriptor,
DWORD dwRevision
);
BOOL SetAclInformation(
PACL pAcl,
LPVOID pAclInformation,
DWORD nAclInformationLength,
ACL_INFORMATION_CLASS dwAclInformationClass
);
BOOL AddAccessAllowedAceEx(
PACL pAcl,
DWORD dwAceRevision,
DWORD AceFlags,
DWORD AccessMask,
PSID pSid
);
BOOL AddAccessDeniedAce(
PACL pAcl,
DWORD dwAceRevision,
DWORD AccessMask,
PSID pSid
);
BOOL AddAccessDeniedAceEx(
PACL pAcl,
DWORD dwAceRevision,
DWORD AceFlags,
DWORD AccessMask,
PSID pSid
);
DWORD BuildSecurityDescriptorW(
PTRUSTEE_W pOwner,
PTRUSTEE_W pGroup,
ULONG cCountOfAccessEntries,
PEXPLICIT_ACCESS_W pListOfAccessEntries,
ULONG cCountOfAuditEntries,
PEXPLICIT_ACCESS_W pListOfAuditEntries,
PSECURITY_DESCRIPTOR pOldSD,
PULONG pSizeNewSD,
PSECURITY_DESCRIPTOR *pNewSD
);
@@ -0,0 +1,267 @@
SC_HANDLE WINAPI OpenSCManagerA(
__in_opt LPCSTR lpMachineName,
__in_opt LPCSTR lpDatabaseName,
__in DWORD dwDesiredAccess
);
SC_HANDLE WINAPI OpenSCManagerW(
__in_opt LPCWSTR lpMachineName,
__in_opt LPCWSTR lpDatabaseName,
__in DWORD dwDesiredAccess
);
BOOL WINAPI CloseServiceHandle(
_In_ SC_HANDLE hSCObject
);
BOOL WINAPI EnumServicesStatusExA(
__in SC_HANDLE hSCManager,
__in SC_ENUM_TYPE InfoLevel,
__in DWORD dwServiceType,
__in DWORD dwServiceState,
_Out_opt_ LPBYTE lpServices,
__in DWORD cbBufSize,
__out LPDWORD pcbBytesNeeded,
__out LPDWORD lpServicesReturned,
__inout_opt LPDWORD lpResumeHandle,
__in_opt LPCSTR pszGroupName
);
BOOL WINAPI EnumServicesStatusExW(
__in SC_HANDLE hSCManager,
__in SC_ENUM_TYPE InfoLevel,
__in DWORD dwServiceType,
__in DWORD dwServiceState,
_Out_opt_ LPBYTE lpServices,
__in DWORD cbBufSize,
__out LPDWORD pcbBytesNeeded,
__out LPDWORD lpServicesReturned,
__inout_opt LPDWORD lpResumeHandle,
__in_opt LPCWSTR pszGroupName
);
BOOL WINAPI StartServiceA(
_In_ SC_HANDLE hService,
_In_ DWORD dwNumServiceArgs,
_In_opt_ LPCSTR *lpServiceArgVectors
);
BOOL WINAPI StartServiceW(
_In_ SC_HANDLE hService,
_In_ DWORD dwNumServiceArgs,
_In_opt_ LPCWSTR *lpServiceArgVectors
);
SC_HANDLE WINAPI OpenServiceA(
_In_ SC_HANDLE hSCManager,
_In_ LPCSTR lpServiceName,
_In_ DWORD dwDesiredAccess
);
SC_HANDLE WINAPI OpenServiceW(
_In_ SC_HANDLE hSCManager,
_In_ LPCWSTR lpServiceName,
_In_ DWORD dwDesiredAccess
);
BOOL ControlService(
SC_HANDLE hService,
DWORD dwControl,
LPSERVICE_STATUS lpServiceStatus
);
BOOL QueryServiceStatus(
SC_HANDLE hService,
LPSERVICE_STATUS lpServiceStatus
);
BOOL QueryServiceStatusEx(
SC_HANDLE hService,
SC_STATUS_TYPE InfoLevel,
LPBYTE lpBuffer,
DWORD cbBufSize,
LPDWORD pcbBytesNeeded
);
BOOL ChangeServiceConfig2A(
SC_HANDLE hService,
DWORD dwInfoLevel,
LPVOID lpInfo
);
BOOL ChangeServiceConfig2W(
SC_HANDLE hService,
DWORD dwInfoLevel,
LPVOID lpInfo
);
BOOL ChangeServiceConfigA(
SC_HANDLE hService,
DWORD dwServiceType,
DWORD dwStartType,
DWORD dwErrorControl,
LPCSTR lpBinaryPathName,
LPCSTR lpLoadOrderGroup,
LPDWORD lpdwTagId,
LPCSTR lpDependencies,
LPCSTR lpServiceStartName,
LPCSTR lpPassword,
LPCSTR lpDisplayName
);
BOOL ChangeServiceConfigW(
SC_HANDLE hService,
DWORD dwServiceType,
DWORD dwStartType,
DWORD dwErrorControl,
LPCWSTR lpBinaryPathName,
LPCWSTR lpLoadOrderGroup,
LPDWORD lpdwTagId,
LPCWSTR lpDependencies,
LPCWSTR lpServiceStartName,
LPCWSTR lpPassword,
LPCWSTR lpDisplayName
);
BOOL QueryServiceConfig2A(
SC_HANDLE hService,
DWORD dwInfoLevel,
LPBYTE lpBuffer,
DWORD cbBufSize,
LPDWORD pcbBytesNeeded
);
BOOL QueryServiceConfig2W(
SC_HANDLE hService,
DWORD dwInfoLevel,
LPBYTE lpBuffer,
DWORD cbBufSize,
LPDWORD pcbBytesNeeded
);
BOOL QueryServiceConfigA(
SC_HANDLE hService,
LPQUERY_SERVICE_CONFIGA lpServiceConfig,
DWORD cbBufSize,
LPDWORD pcbBytesNeeded
);
BOOL QueryServiceConfigW(
SC_HANDLE hService,
LPQUERY_SERVICE_CONFIGW lpServiceConfig,
DWORD cbBufSize,
LPDWORD pcbBytesNeeded
);
BOOL QueryServiceDynamicInformation(
SERVICE_STATUS_HANDLE hServiceStatus,
DWORD dwInfoLevel,
PVOID *ppDynamicInfo
);
BOOL GetServiceDisplayNameA(
SC_HANDLE hSCManager,
LPCSTR lpServiceName,
LPSTR lpDisplayName,
LPDWORD lpcchBuffer
);
BOOL GetServiceDisplayNameW(
SC_HANDLE hSCManager,
LPCWSTR lpServiceName,
LPWSTR lpDisplayName,
LPDWORD lpcchBuffer
);
BOOL GetServiceKeyNameA(
SC_HANDLE hSCManager,
LPCSTR lpDisplayName,
LPSTR lpServiceName,
LPDWORD lpcchBuffer
);
BOOL GetServiceKeyNameW(
SC_HANDLE hSCManager,
LPCWSTR lpDisplayName,
LPWSTR lpServiceName,
LPDWORD lpcchBuffer
);
BOOL EnumDependentServicesA(
SC_HANDLE hService,
DWORD dwServiceState,
LPENUM_SERVICE_STATUSA lpServices,
DWORD cbBufSize,
LPDWORD pcbBytesNeeded,
LPDWORD lpServicesReturned
);
BOOL EnumDependentServicesW(
SC_HANDLE hService,
DWORD dwServiceState,
LPENUM_SERVICE_STATUSW lpServices,
DWORD cbBufSize,
LPDWORD pcbBytesNeeded,
LPDWORD lpServicesReturned
);
BOOL ControlService(
SC_HANDLE hService,
DWORD dwControl,
LPSERVICE_STATUS lpServiceStatus
);
BOOL ControlServiceExA(
SC_HANDLE hService,
DWORD dwControl,
DWORD dwInfoLevel,
PVOID pControlParams
);
BOOL ControlServiceExW(
SC_HANDLE hService,
DWORD dwControl,
DWORD dwInfoLevel,
PVOID pControlParams
);
SC_HANDLE CreateServiceA(
SC_HANDLE hSCManager,
LPCSTR lpServiceName,
LPCSTR lpDisplayName,
DWORD dwDesiredAccess,
DWORD dwServiceType,
DWORD dwStartType,
DWORD dwErrorControl,
LPCSTR lpBinaryPathName,
LPCSTR lpLoadOrderGroup,
LPDWORD lpdwTagId,
LPCSTR lpDependencies,
LPCSTR lpServiceStartName,
LPCSTR lpPassword
);
SC_HANDLE CreateServiceW(
SC_HANDLE hSCManager,
LPCWSTR lpServiceName,
LPCWSTR lpDisplayName,
DWORD dwDesiredAccess,
DWORD dwServiceType,
DWORD dwStartType,
DWORD dwErrorControl,
LPCWSTR lpBinaryPathName,
LPCWSTR lpLoadOrderGroup,
LPDWORD lpdwTagId,
LPCWSTR lpDependencies,
LPCWSTR lpServiceStartName,
LPCWSTR lpPassword
);
BOOL DeleteService(
SC_HANDLE hService
);
@@ -0,0 +1,91 @@
BOOL WINAPI SetupDiClassNameFromGuidA(
_In_ CONST GUID *ClassGuid,
_Out_writes_(ClassNameSize) PSTR ClassName,
_In_ DWORD ClassNameSize,
_Out_opt_ PDWORD RequiredSize
);
BOOL WINAPI SetupDiClassNameFromGuidW(
_In_ CONST GUID *ClassGuid,
_Out_writes_(ClassNameSize) PWSTR ClassName,
_In_ DWORD ClassNameSize,
_Out_opt_ PDWORD RequiredSize
);
BOOL WINAPI SetupDiClassNameFromGuidExA(
_In_ CONST GUID *ClassGuid,
_Out_writes_(ClassNameSize) PSTR ClassName,
_In_ DWORD ClassNameSize,
_Out_opt_ PDWORD RequiredSize,
_In_opt_ PCSTR MachineName,
_Reserved_ PVOID Reserved
);
BOOL WINAPI SetupDiClassNameFromGuidExW(
_In_ CONST GUID *ClassGuid,
_Out_writes_(ClassNameSize) PWSTR ClassName,
_In_ DWORD ClassNameSize,
_Out_opt_ PDWORD RequiredSize,
_In_opt_ PCWSTR MachineName,
_Reserved_ PVOID Reserved
);
HDEVINFO WINAPI SetupDiGetClassDevsA(
_In_opt_ CONST GUID *ClassGuid,
_In_opt_ PCSTR Enumerator,
_In_opt_ HWND hwndParent,
_In_ DWORD Flags
);
HDEVINFO WINAPI SetupDiGetClassDevsW(
_In_opt_ CONST GUID *ClassGuid,
_In_opt_ PCWSTR Enumerator,
_In_opt_ HWND hwndParent,
_In_ DWORD Flags
);
BOOL WINAPI SetupDiDeleteDeviceInfo(
_In_ HDEVINFO DeviceInfoSet,
_In_ PSP_DEVINFO_DATA DeviceInfoData
);
BOOL WINAPI SetupDiEnumDeviceInfo(
_In_ HDEVINFO DeviceInfoSet,
_In_ DWORD MemberIndex,
_Out_ PSP_DEVINFO_DATA DeviceInfoData
);
BOOL WINAPI SetupDiDestroyDeviceInfoList(
_In_ HDEVINFO DeviceInfoSet
);
BOOL WINAPI SetupDiEnumDeviceInterfaces(
_In_ HDEVINFO DeviceInfoSet,
_In_opt_ PSP_DEVINFO_DATA DeviceInfoData,
_In_ CONST GUID *InterfaceClassGuid,
_In_ DWORD MemberIndex,
_Out_ PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
);
BOOL WINAPI SetupDiGetDeviceRegistryPropertyA(
_In_ HDEVINFO DeviceInfoSet,
_In_ PSP_DEVINFO_DATA DeviceInfoData,
_In_ DWORD Property,
_Out_opt_ PDWORD PropertyRegDataType,
_Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffer,
_In_ DWORD PropertyBufferSize,
_Out_opt_ PDWORD RequiredSize
);
BOOL WINAPI SetupDiGetDeviceRegistryPropertyW(
_In_ HDEVINFO DeviceInfoSet,
_In_ PSP_DEVINFO_DATA DeviceInfoData,
_In_ DWORD Property,
_Out_opt_ PDWORD PropertyRegDataType,
_Out_writes_bytes_to_opt_(PropertyBufferSize, *RequiredSize) PBYTE PropertyBuffer,
_In_ DWORD PropertyBufferSize,
_Out_opt_ PDWORD RequiredSize
);
@@ -0,0 +1,407 @@
DWORD64 WINAPI SymLoadModuleExA(
_In_ HANDLE hProcess,
_In_ HANDLE hFile,
_In_ PCSTR ImageName,
_In_ PCSTR ModuleName,
_In_ DWORD64 BaseOfDll,
_In_ DWORD DllSize,
_In_ PMODLOAD_DATA Data,
_In_ DWORD Flags
);
DWORD64 WINAPI SymLoadModuleExW(
_In_ HANDLE hProcess,
_In_ HANDLE hFile,
_In_ PCWSTR ImageName,
_In_ PCWSTR ModuleName,
_In_ DWORD64 BaseOfDll,
_In_ DWORD DllSize,
_In_ PMODLOAD_DATA Data,
_In_ DWORD Flags
);
BOOL WINAPI SymFromAddr(
_In_ HANDLE hProcess,
_In_ DWORD64 Address,
_Out_opt_ PDWORD64 Displacement,
_Inout_ PSYMBOL_INFO Symbol
);
BOOL WINAPI SymGetModuleInfo64(
_In_ HANDLE hProcess,
_In_ DWORD64 dwAddr,
_Out_ PIMAGEHLP_MODULE64 ModuleInfo
);
BOOL WINAPI SymGetModuleInfoW64(
_In_ HANDLE hProcess,
_In_ DWORD64 qwAddr,
_Out_ PIMAGEHLP_MODULEW64 ModuleInfo
);
BOOL WINAPI SymInitialize(
_In_ HANDLE hProcess,
_In_opt_ LPCSTR UserSearchPath,
_In_ BOOL fInvadeProcess
);
BOOL WINAPI SymFromName(
_In_ HANDLE hProcess,
_In_ LPCSTR Name,
_Inout_ PSYMBOL_INFO Symbol
);
BOOL WINAPI SymFromNameW(
_In_ HANDLE hProcess,
_In_ PCWSTR Name,
_Inout_ PSYMBOL_INFOW Symbol
);
DWORD64 WINAPI SymLoadModuleEx(
_In_ HANDLE hProcess,
_In_ HANDLE hFile,
_In_ LPCSTR ImageName,
_In_ LPCSTR ModuleName,
_In_ DWORD64 BaseOfDll,
_In_ DWORD DllSize,
_In_ PMODLOAD_DATA Data,
_In_ DWORD Flags
);
DWORD WINAPI SymSetOptions(
_In_ DWORD SymOptions
);
DWORD SymGetOptions(
);
BOOL WINAPI SymEnumSymbols(
_In_ HANDLE hProcess,
_In_ ULONG64 BaseOfDll,
_In_ PCSTR Mask,
_In_ PVOID EnumSymbolsCallback,
_In_ PVOID UserContext
);
BOOL WINAPI SymEnumSymbolsEx(
_In_ HANDLE hProcess,
_In_ ULONG64 BaseOfDll,
_In_ PCSTR Mask,
_In_ PVOID EnumSymbolsCallback,
_In_ PVOID UserContext,
_In_ DWORD Options
);
BOOL WINAPI SymEnumTypes(
_In_ HANDLE hProcess,
_In_ ULONG64 BaseOfDll,
_In_ PVOID EnumSymbolsCallback,
_In_ PVOID UserContext
);
BOOL WINAPI SymEnumTypesByName(
_In_ HANDLE hProcess,
_In_ ULONG64 BaseOfDll,
_In_ PCSTR mask,
_In_ PVOID EnumSymbolsCallback,
_In_ PVOID UserContext
);
BOOL WINAPI SymEnumerateModules64(
_In_ HANDLE hProcess,
_In_ PVOID EnumModulesCallback,
_In_ PVOID UserContext
);
BOOL SymNext(
HANDLE hProcess,
PSYMBOL_INFO si
);
BOOL SymNextW(
HANDLE hProcess,
PSYMBOL_INFOW siw
);
BOOL SymPrev(
HANDLE hProcess,
PSYMBOL_INFO si
);
BOOL SymPrevW(
HANDLE hProcess,
PSYMBOL_INFOW siw
);
BOOL SymSetContext(
HANDLE hProcess,
PIMAGEHLP_STACK_FRAME StackFrame,
PIMAGEHLP_CONTEXT Context
);
BOOL SymSetExtendedOption(
IMAGEHLP_EXTENDED_OPTIONS option,
BOOL value
);
BOOL SymSrvGetFileIndexes(
PCSTR File,
GUID *Id,
PDWORD Val1,
PDWORD Val2,
DWORD Flags
);
BOOL SymSrvGetFileIndexesW(
PCWSTR File,
GUID *Id,
PDWORD Val1,
PDWORD Val2,
DWORD Flags
);
BOOL SymSrvGetFileIndexInfo(
PCSTR File,
PSYMSRV_INDEX_INFO Info,
DWORD Flags
);
BOOL SymSrvGetFileIndexInfoW(
PCWSTR File,
PSYMSRV_INDEX_INFOW Info,
DWORD Flags
);
BOOL SymSrvGetFileIndexString(
HANDLE hProcess,
PCSTR SrvPath,
PCSTR File,
PSTR Index,
SIZE_T Size,
DWORD Flags
);
BOOL SymSrvGetFileIndexStringW(
HANDLE hProcess,
PCWSTR SrvPath,
PCWSTR File,
PWSTR Index,
SIZE_T Size,
DWORD Flags
);
BOOL SymUnDName(
PIMAGEHLP_SYMBOL sym,
PSTR UnDecName,
DWORD UnDecNameLength
);
BOOL SymUnDName64(
PIMAGEHLP_SYMBOL64 sym,
PSTR UnDecName,
DWORD UnDecNameLength
);
BOOL SymUnloadModule(
HANDLE hProcess,
DWORD BaseOfDll
);
BOOL SymUnloadModule64(
HANDLE hProcess,
DWORD64 BaseOfDll
);
DWORD UnDecorateSymbolName(
PCSTR name,
PSTR outputString,
DWORD maxStringLength,
DWORD flags
);
DWORD UnDecorateSymbolNameW(
PCWSTR name,
PWSTR outputString,
DWORD maxStringLength,
DWORD flags
);
BOOL SymCleanup(
HANDLE hProcess
);
BOOL SymEnumProcesses(
PSYM_ENUMPROCESSES_CALLBACK EnumProcessesCallback,
PVOID UserContext
);
BOOL SymEnumSymbolsForAddr(
HANDLE hProcess,
DWORD64 Address,
PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,
PVOID UserContext
);
BOOL SymEnumSymbolsForAddrW(
HANDLE hProcess,
DWORD64 Address,
PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback,
PVOID UserContext
);
BOOL WINAPI SymGetTypeFromName(
_In_ HANDLE hProcess,
_In_ ULONG64 BaseOfDll,
_In_ PCSTR Name,
_Inout_ PSYMBOL_INFO Symbol
);
BOOL WINAPI SymGetTypeInfo(
_In_ HANDLE hProcess,
_In_ DWORD64 ModBase,
_In_ ULONG TypeId,
_In_ IMAGEHLP_SYMBOL_TYPE_INFO GetType,
_Out_ PVOID pInfo
);
BOOL SymSearch(
HANDLE hProcess,
ULONG64 BaseOfDll,
DWORD Index,
DWORD SymTag,
PCSTR Mask,
DWORD64 Address,
PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,
PVOID UserContext,
DWORD Options
);
BOOL SymSearchW(
HANDLE hProcess,
ULONG64 BaseOfDll,
DWORD Index,
DWORD SymTag,
PCWSTR Mask,
DWORD64 Address,
PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback,
PVOID UserContext,
DWORD Options
);
PVOID SymFunctionTableAccess(
HANDLE hProcess,
DWORD AddrBase
);
PVOID SymFunctionTableAccess64(
HANDLE hProcess,
DWORD64 AddrBase
);
DWORD SymGetModuleBase(
HANDLE hProcess,
DWORD dwAddr
);
DWORD64 SymGetModuleBase64(
HANDLE hProcess,
DWORD64 qwAddr
);
BOOL SymRefreshModuleList(
HANDLE hProcess
);
BOOL SymRegisterCallback(
HANDLE hProcess,
PSYMBOL_REGISTERED_CALLBACK CallbackFunction,
PVOID UserContext
);
BOOL SymRegisterCallback64(
HANDLE hProcess,
PSYMBOL_REGISTERED_CALLBACK64 CallbackFunction,
ULONG64 UserContext
);
BOOL SymRegisterCallbackW64(
HANDLE hProcess,
PSYMBOL_REGISTERED_CALLBACK64 CallbackFunction,
ULONG64 UserContext
);
/* Stack walking */
BOOL StackWalk64(
DWORD MachineType,
HANDLE hProcess,
HANDLE hThread,
LPSTACKFRAME64 StackFrame,
PVOID ContextRecord,
PREAD_PROCESS_MEMORY_ROUTINE64 ReadMemoryRoutine,
PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine,
PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine,
PTRANSLATE_ADDRESS_ROUTINE64 TranslateAddress
);
BOOL StackWalkEx(
DWORD MachineType,
HANDLE hProcess,
HANDLE hThread,
LPSTACKFRAME_EX StackFrame,
PVOID ContextRecord,
PREAD_PROCESS_MEMORY_ROUTINE64 ReadMemoryRoutine,
PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine,
PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine,
PTRANSLATE_ADDRESS_ROUTINE64 TranslateAddress,
DWORD Flags
);
BOOL StackWalk(
DWORD MachineType,
HANDLE hProcess,
HANDLE hThread,
LPSTACKFRAME StackFrame,
PVOID ContextRecord,
PREAD_PROCESS_MEMORY_ROUTINE ReadMemoryRoutine,
PFUNCTION_TABLE_ACCESS_ROUTINE FunctionTableAccessRoutine,
PGET_MODULE_BASE_ROUTINE GetModuleBaseRoutine,
PTRANSLATE_ADDRESS_ROUTINE TranslateAddress
);
BOOL SymGetSearchPath(
HANDLE hProcess,
PSTR SearchPath,
DWORD SearchPathLength
);
BOOL SymGetSearchPathW(
HANDLE hProcess,
PWSTR SearchPath,
DWORD SearchPathLength
);
BOOL SymSetSearchPath(
HANDLE hProcess,
PCSTR SearchPath
);
BOOL SymSetSearchPathW(
HANDLE hProcess,
PCWSTR SearchPath
);
@@ -0,0 +1,353 @@
/*
ALPC syscall are in alpc.txt
NtWow64* are still in winfunc (make a syswow.txt?)
*/
NTSTATUS NtQueryLicenseValue(
PUNICODE_STRING Name,
ULONG *Type,
PVOID Buffer,
ULONG Length,
ULONG *DataLength
);
NTSTATUS WINAPI NtQueryEaFile(
_In_ HANDLE FileHandle,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_Out_writes_bytes_(Length) PVOID Buffer,
_In_ ULONG Length,
_In_ BOOLEAN ReturnSingleEntry,
_In_reads_bytes_opt_(EaListLength) PVOID EaList,
_In_ ULONG EaListLength,
_In_opt_ PULONG EaIndex,
_In_ BOOLEAN RestartScan
);
NTSTATUS WINAPI NtSetEaFile(
_In_ HANDLE FileHandle,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_In_reads_bytes_(Length) PVOID Buffer,
_In_ ULONG Length
);
NTSTATUS WINAPI NtCreateProcessEx(
_Out_ PHANDLE ProcessHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
_In_ HANDLE ParentProcess,
_In_ ULONG Flags,
_In_ HANDLE SectionHandle,
_In_ HANDLE DebugPort,
_In_ HANDLE ExceptionPort,
_In_ BOOLEAN InJob
);
NTSTATUS WINAPI NtCreateNamedPipeFile(
_Out_ PHANDLE NamedPipeFileHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_In_ ULONG ShareAccess,
_In_ ULONG CreateDisposition,
_In_ ULONG CreateOptions,
_In_ BOOLEAN WriteModeMessage,
_In_ BOOLEAN ReadModeMessage,
_In_ BOOLEAN NonBlocking,
_In_ ULONG MaxInstances,
_In_ ULONG InBufferSize,
_In_ ULONG OutBufferSize,
_In_ PLARGE_INTEGER DefaultTimeOut
);
NTSTATUS WINAPI NtCreateFile(
_Out_ PHANDLE FileHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_In_opt_ PLARGE_INTEGER AllocationSize,
_In_ ULONG FileAttributes,
_In_ ULONG ShareAccess,
_In_ ULONG CreateDisposition,
_In_ ULONG CreateOptions,
_In_ PVOID EaBuffer,
_In_ ULONG EaLength
);
NTSTATUS WINAPI NtOpenFile(
_Out_ PHANDLE FileHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_In_ ULONG ShareAccess,
_In_ ULONG OpenOptions
);
NTSTATUS WINAPI NtCreateSymbolicLinkObject (
_Out_ PHANDLE pHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
_In_ PUNICODE_STRING DestinationName
);
NTSTATUS WINAPI NtSetInformationProcess(
_In_ HANDLE ProcessHandle,
_In_ PROCESSINFOCLASS ProcessInformationClass,
_In_ PVOID ProcessInformation,
_In_ ULONG ProcessInformationLength
);
NTSTATUS WINAPI NtQueryVirtualMemory(
_In_ HANDLE ProcessHandle,
_In_opt_ PVOID BaseAddress,
_In_ MEMORY_INFORMATION_CLASS MemoryInformationClass,
_Out_ PVOID MemoryInformation,
_In_ SIZE_T MemoryInformationLength,
_Out_opt_ PSIZE_T ReturnLength
);
NTSTATUS WINAPI NtQueryVolumeInformationFile(
_In_ HANDLE FileHandle,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_Out_ PVOID FsInformation,
_In_ ULONG Length,
_In_ FS_INFORMATION_CLASS FsInformationClass
);
NTSTATUS NtCreateThreadEx(
PHANDLE ThreadHandle,
ACCESS_MASK DesiredAccess,
LPVOID ObjectAttributes,
HANDLE ProcessHandle,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
BOOL CreateSuspended,
DWORD dwStackSize,
DWORD Unknown1,
DWORD Unknown2,
LPVOID Unknown3
);
NTSTATUS WINAPI NtGetContextThread(
__in HANDLE hThread,
__inout LPCONTEXT lpContext
);
NTSTATUS WINAPI NtSetContextThread(
__in HANDLE hThread,
__in CONST LPCONTEXT lpContext
);
NTSTATUS WINAPI NtQueryInformationThread (
_In_ HANDLE ThreadHandle,
_In_ THREAD_INFORMATION_CLASS ThreadInformationClass,
_Out_ PVOID ThreadInformation,
_In_ ULONG ThreadInformationLength,
_Out_ PULONG ReturnLength
);
NTSTATUS WINAPI NtAllocateVirtualMemory(
_In_ HANDLE ProcessHandle,
_Inout_ PVOID *BaseAddress,
_In_ ULONG_PTR ZeroBits,
_Inout_ PSIZE_T RegionSize,
_In_ ULONG AllocationType,
_In_ ULONG Protect
);
NTSTATUS WINAPI NtProtectVirtualMemory(
_In_ HANDLE ProcessHandle,
_Inout_ PVOID *BaseAddress,
_Inout_ PULONG NumberOfBytesToProtect,
_In_ ULONG NewAccessProtection,
_Out_ PULONG OldAccessProtection
);
NTSTATUS WINAPI NtQuerySystemInformation(
_In_ SYSTEM_INFORMATION_CLASS SystemInformationClass,
_Inout_ PVOID SystemInformation,
_In_ ULONG SystemInformationLength,
_Out_opt_ PULONG ReturnLength
);
NTSTATUS WINAPI NtQueryInformationProcess(
_In_ HANDLE ProcessHandle,
_In_ PROCESSINFOCLASS ProcessInformationClass,
_Out_ PVOID ProcessInformation,
_In_ ULONG ProcessInformationLength,
_Out_opt_ PULONG ReturnLength
);
NTSTATUS WINAPI NtReadVirtualMemory(
_In_ HANDLE hProcess,
_In_ PVOID lpBaseAddress,
_Out_ LPVOID lpBuffer,
_In_ ULONG nSize,
_Out_ PULONG lpNumberOfBytesRead
);
NTSTATUS WINAPI NtWriteVirtualMemory(
_In_ HANDLE ProcessHandle,
_In_ PVOID BaseAddress,
_In_ PVOID Buffer,
_In_ ULONG NumberOfBytesToWrite,
_Out_ PULONG NumberOfBytesWritten
);
NTSTATUS WINAPI NtOpenEvent(
__out PHANDLE EventHandle,
__in ACCESS_MASK DesiredAccess,
__in POBJECT_ATTRIBUTES ObjectAttributes
);
NTSTATUS WINAPI NtQueryObject(
_In_opt_ HANDLE Handle,
_In_ OBJECT_INFORMATION_CLASS ObjectInformationClass,
_Out_opt_ PVOID ObjectInformation,
_In_ ULONG ObjectInformationLength,
_Out_opt_ PULONG ReturnLength
);
NTSTATUS WINAPI NtOpenDirectoryObject(
__out PHANDLE DirectoryHandle,
__in ACCESS_MASK DesiredAccess,
__in POBJECT_ATTRIBUTES ObjectAttributes
);
NTSTATUS WINAPI NtQueryDirectoryObject(
__in HANDLE DirectoryHandle,
__out PVOID Buffer,
__in ULONG Length,
__in BOOLEAN ReturnSingleEntry,
__in BOOLEAN RestartScan,
__inout PULONG Context,
_Out_opt_ PULONG ReturnLength
);
NTSTATUS WINAPI NtQuerySymbolicLinkObject(
_In_ HANDLE LinkHandle,
_Inout_ PUNICODE_STRING LinkTarget,
_Out_opt_ PULONG ReturnedLength
);
NTSTATUS WINAPI NtOpenSymbolicLinkObject(
_Out_ PHANDLE LinkHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ POBJECT_ATTRIBUTES ObjectAttributes
);
NTSTATUS WINAPI NtQueryInformationFile(
_In_ HANDLE FileHandle,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_Out_ PVOID FileInformation,
_In_ ULONG Length,
_In_ FILE_INFORMATION_CLASS FileInformationClass
);
NTSTATUS WINAPI NtQueryDirectoryFile(
_In_ HANDLE FileHandle,
_In_opt_ HANDLE Event,
_In_opt_ PIO_APC_ROUTINE ApcRoutine,
_In_opt_ PVOID ApcContext,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_Out_ PVOID FileInformation,
_In_ ULONG Length,
_In_ FILE_INFORMATION_CLASS FileInformationClass,
_In_ BOOLEAN ReturnSingleEntry,
_In_opt_ PUNICODE_STRING FileName,
_In_ BOOLEAN RestartScan
);
NTSTATUS NtSetInformationFile(
HANDLE FileHandle,
PIO_STATUS_BLOCK IoStatusBlock,
PVOID FileInformation,
ULONG Length,
FILE_INFORMATION_CLASS FileInformationClass
);
NTSTATUS WINAPI NtEnumerateSystemEnvironmentValuesEx(
_In_ ULONG InformationClass,
_In_ PVOID Buffer,
_In_ ULONG BufferLength
);
NTSTATUS WINAPI NtFreeVirtualMemory(
_In_ HANDLE ProcessHandle,
_Inout_ PVOID *BaseAddress,
_Inout_ PSIZE_T RegionSize,
_In_ ULONG FreeType
);
NTSTATUS WINAPI NtGetContextThread(
__in HANDLE hThread,
__inout LPCONTEXT lpContext
);
NTSTATUS WINAPI NtSetContextThread(
__in HANDLE hThread,
__in CONST LPCONTEXT lpContext
);
NTSTATUS NtCreateSection(
PHANDLE SectionHandle,
ACCESS_MASK DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes,
PLARGE_INTEGER MaximumSize,
ULONG SectionPageProtection,
ULONG AllocationAttributes,
HANDLE FileHandle
);
NTSTATUS NtOpenSection(
PHANDLE SectionHandle,
ACCESS_MASK DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes
);
NTSTATUS NtMapViewOfSection(
HANDLE SectionHandle,
HANDLE ProcessHandle,
PVOID *BaseAddress,
ULONG_PTR ZeroBits,
SIZE_T CommitSize,
PLARGE_INTEGER SectionOffset,
PSIZE_T ViewSize,
SECTION_INHERIT InheritDisposition,
ULONG AllocationType,
ULONG Win32Protect
);
NTSTATUS NtUnmapViewOfSection(
HANDLE ProcessHandle,
PVOID BaseAddress
);
@@ -0,0 +1,19 @@
BOOL FileTimeToSystemTime(
FILETIME *lpFileTime,
LPSYSTEMTIME lpSystemTime
);
BOOL SystemTimeToFileTime(
SYSTEMTIME *lpSystemTime,
LPFILETIME lpFileTime
);
// void
PVOID GetSystemTime(
LPSYSTEMTIME lpSystemTime
);
// void
PVOID GetSystemTimeAsFileTime(
LPFILETIME lpSystemTimeAsFileTime
);
@@ -0,0 +1,4 @@
TDHSTATUS TdhEnumerateProviders(
PPROVIDER_ENUMERATION_INFO pBuffer,
ULONG *pBufferSize
);
@@ -0,0 +1,74 @@
BOOL WINAPI GetFileVersionInfoA(
_In_ LPCSTR lptstrFilename,
_Reserved_ DWORD dwHandle,
_In_ DWORD dwLen,
_Out_ LPVOID lpData
);
BOOL WINAPI GetFileVersionInfoW(
_In_ LPWSTR lptstrFilename,
_Reserved_ DWORD dwHandle,
_In_ DWORD dwLen,
_Out_ LPVOID lpData
);
BOOL GetFileVersionInfoExA(
DWORD dwFlags,
LPCSTR lpwstrFilename,
DWORD dwHandle,
DWORD dwLen,
LPVOID lpData
);
BOOL GetFileVersionInfoExW(
DWORD dwFlags,
LPCWSTR lpwstrFilename,
DWORD dwHandle,
DWORD dwLen,
LPVOID lpData
);
DWORD WINAPI GetFileVersionInfoSizeA(
_In_ LPCSTR lptstrFilename,
_Out_opt_ LPDWORD lpdwHandle
);
DWORD WINAPI GetFileVersionInfoSizeW(
_In_ LPWSTR lptstrFilename,
_Out_opt_ LPDWORD lpdwHandle
);
DWORD GetFileVersionInfoSizeExA(
DWORD dwFlags,
LPCSTR lpwstrFilename,
LPDWORD lpdwHandle
);
DWORD GetFileVersionInfoSizeExW(
DWORD dwFlags,
LPCWSTR lpwstrFilename,
LPDWORD lpdwHandle
);
BOOL WINAPI VerQueryValueA(
_In_ LPCVOID pBlock,
_In_ LPCSTR lpSubBlock,
_Out_ LPVOID *lplpBuffer,
_Out_ PUINT puLen
);
BOOL WINAPI VerQueryValueW(
_In_ LPCVOID pBlock,
_In_ LPWSTR lpSubBlock,
_Out_ LPVOID *lplpBuffer,
_Out_ PUINT puLen
);
@@ -32,88 +32,21 @@ HANDLE WINAPI CreateFileW(
);
NTSTATUS WINAPI NtCreateFile(
_Out_ PHANDLE FileHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_In_opt_ PLARGE_INTEGER AllocationSize,
_In_ ULONG FileAttributes,
_In_ ULONG ShareAccess,
_In_ ULONG CreateDisposition,
_In_ ULONG CreateOptions,
_In_ PVOID EaBuffer,
_In_ ULONG EaLength
);
/*
Flags is directly dereferenced if non-null on windows 10
Let's assert it's a PVOID for now on
*/
NTSTATUS WINAPI LdrLoadDll(
__in_opt LPCWSTR PathToFile,
__in_opt ULONG Flags,
__in_opt PVOID Flags,
_In_ PUNICODE_STRING ModuleFileName,
_Out_ PHANDLE ModuleHandle
);
NTSTATUS WINAPI NtQuerySystemInformation(
_In_ SYSTEM_INFORMATION_CLASS SystemInformationClass,
_Inout_ PVOID SystemInformation,
_In_ ULONG SystemInformationLength,
_Out_opt_ PULONG ReturnLength
);
NTSTATUS WINAPI NtQueryInformationProcess(
_In_ HANDLE ProcessHandle,
_In_ PROCESSINFOCLASS ProcessInformationClass,
_Out_ PVOID ProcessInformation,
_In_ ULONG ProcessInformationLength,
_Out_opt_ PULONG ReturnLength
);
NTSTATUS WINAPI NtSetInformationProcess(
_In_ HANDLE ProcessHandle,
_In_ PROCESS_INFORMATION_CLASS ProcessInformationClass,
_In_ PVOID ProcessInformation,
_In_ ULONG ProcessInformationLength
);
NTSTATUS WINAPI NtQueryVirtualMemory(
_In_ HANDLE ProcessHandle,
_In_opt_ PVOID BaseAddress,
_In_ MEMORY_INFORMATION_CLASS MemoryInformationClass,
_Out_ PVOID MemoryInformation,
_In_ SIZE_T MemoryInformationLength,
_Out_opt_ PSIZE_T ReturnLength
);
NTSTATUS WINAPI NtQueryVolumeInformationFile(
_In_ HANDLE FileHandle,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_Out_ PVOID FsInformation,
_In_ ULONG Length,
_In_ FS_INFORMATION_CLASS FsInformationClass
);
NTSTATUS NtCreateThreadEx(
PHANDLE ThreadHandle,
ACCESS_MASK DesiredAccess,
LPVOID ObjectAttributes,
HANDLE ProcessHandle,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
BOOL CreateSuspended,
DWORD dwStackSize,
DWORD Unknown1,
DWORD Unknown2,
LPVOID Unknown3
);
NTSTATUS WINAPI NtQueryInformationThread (
_In_ HANDLE ThreadHandle,
_In_ THREAD_INFORMATION_CLASS ThreadInformationClass,
_Out_ PVOID ThreadInformation,
_In_ ULONG ThreadInformationLength,
_Out_ PULONG ReturnLength
);
BOOL WINAPI GetExitCodeThread(
_In_ HANDLE hThread,
@@ -150,24 +83,8 @@ LPVOID WINAPI VirtualAllocEx(
_In_ DWORD flProtect
);
NTSTATUS WINAPI NtAllocateVirtualMemory(
_In_ HANDLE ProcessHandle,
_Inout_ PVOID *BaseAddress,
_In_ ULONG_PTR ZeroBits,
_Inout_ PSIZE_T RegionSize,
_In_ ULONG AllocationType,
_In_ ULONG Protect
);
NTSTATUS WINAPI NtProtectVirtualMemory(
_In_ HANDLE ProcessHandle,
_Inout_ PVOID *BaseAddress,
_Inout_ PULONG NumberOfBytesToProtect,
_In_ ULONG NewAccessProtection,
_Out_ PULONG OldAccessProtection
);
BOOL WINAPI VirtualFree(
_In_ LPVOID lpAddress,
@@ -183,12 +100,6 @@ BOOL WINAPI VirtualFreeEx(
);
NTSTATUS WINAPI NtFreeVirtualMemory(
_In_ HANDLE ProcessHandle,
_Inout_ PVOID *BaseAddress,
_Inout_ PSIZE_T RegionSize,
_In_ ULONG FreeType
);
BOOL WINAPI VirtualProtect(
_In_ LPVOID lpAddress,
@@ -330,20 +241,12 @@ BOOL WINAPI GetThreadContext(
__inout LPCONTEXT lpContext
);
NTSTATUS WINAPI NtGetContextThread(
__in HANDLE hThread,
__inout LPCONTEXT lpContext
);
BOOL WINAPI SetThreadContext(
__in HANDLE hThread,
__in CONST LPCONTEXT lpContext
);
NTSTATUS WINAPI NtSetContextThread(
__in HANDLE hThread,
__in CONST LPCONTEXT lpContext
);
HANDLE WINAPI OpenThread(
@@ -378,13 +281,7 @@ NTSTATUS WINAPI NtWow64ReadVirtualMemory64(
_Out_ PULONG64 lpNumberOfBytesRead
);
NTSTATUS WINAPI NtReadVirtualMemory(
_In_ HANDLE hProcess,
_In_ PVOID lpBaseAddress,
_Out_ LPVOID lpBuffer,
_In_ ULONG nSize,
_Out_ PULONG lpNumberOfBytesRead
);
BOOL WINAPI WriteProcessMemory(
@@ -405,13 +302,6 @@ NTSTATUS WINAPI NtWow64WriteVirtualMemory64(
);
NTSTATUS WINAPI NtWriteVirtualMemory(
_In_ HANDLE ProcessHandle,
_In_ PVOID BaseAddress,
_In_ PVOID Buffer,
_In_ ULONG NumberOfBytesToWrite,
_Out_ PULONG NumberOfBytesWritten
);
HANDLE WINAPI CreateToolhelp32Snapshot(
@@ -625,27 +515,6 @@ BOOL WINAPI WriteFile(
_Inout_opt_ LPOVERLAPPED lpOverlapped
);
DWORD WINAPI GetExtendedTcpTable(
_Out_ PVOID pTcpTable,
_Inout_ PDWORD pdwSize,
_In_ BOOL bOrder,
_In_ ULONG ulAf,
_In_ TCP_TABLE_CLASS TableClass,
_In_ ULONG Reserved
);
DWORD WINAPI GetExtendedUdpTable(
_Out_ PVOID pUdpTable,
_Inout_ PDWORD pdwSize,
_In_ BOOL bOrder,
_In_ ULONG ulAf,
_In_ UDP_TABLE_CLASS TableClass,
_In_ ULONG Reserved
);
DWORD WINAPI SetTcpEntry(
_In_ PMIB_TCPROW pTcpRow
);
PVOID WINAPI AddVectoredContinueHandler(
_In_ ULONG FirstHandler,
@@ -702,40 +571,7 @@ HMODULE WINAPI LoadLibraryExW(
_In_ DWORD dwFlags
);
BOOL WINAPI SymInitialize(
_In_ HANDLE hProcess,
_In_opt_ LPCSTR UserSearchPath,
_In_ BOOL fInvadeProcess
);
BOOL WINAPI SymFromName(
_In_ HANDLE hProcess,
_In_ LPCSTR Name,
_Inout_ PSYMBOL_INFO Symbol
);
DWORD64 WINAPI SymLoadModuleEx(
_In_ HANDLE hProcess,
_In_ HANDLE hFile,
_In_ LPCSTR ImageName,
_In_ LPCSTR ModuleName,
_In_ DWORD64 BaseOfDll,
_In_ DWORD DllSize,
_In_ PMODLOAD_DATA Data,
_In_ DWORD Flags
);
DWORD WINAPI SymSetOptions(
_In_ DWORD SymOptions
);
BOOL WINAPI SymGetTypeInfo(
_In_ HANDLE hProcess,
_In_ DWORD64 ModBase,
_In_ ULONG TypeId,
_In_ IMAGEHLP_SYMBOL_TYPE_INFO GetType,
_Out_ PVOID pInfo
);
BOOL WINAPI DeviceIoControl(
_In_ HANDLE hDevice,
@@ -756,45 +592,6 @@ BOOL WINAPI GetTokenInformation(
_Out_ PDWORD ReturnLength
);
LONG WINAPI RegOpenKeyExA(
_In_ HKEY hKey,
_In_opt_ LPCSTR lpSubKey,
_In_ DWORD ulOptions,
_In_ REGSAM samDesired,
_Out_ PHKEY phkResult
);
LONG WINAPI RegOpenKeyExW(
_In_ HKEY hKey,
_In_opt_ LPWSTR lpSubKey,
_In_ DWORD ulOptions,
_In_ REGSAM samDesired,
_Out_ PHKEY phkResult
);
LONG WINAPI RegGetValueA(
_In_ HKEY hkey,
_In_opt_ LPCSTR lpSubKey,
_In_opt_ LPCSTR lpValue,
_In_opt_ DWORD dwFlags,
_Out_opt_ LPDWORD pdwType,
_Out_opt_ PVOID pvData,
_Inout_opt_ LPDWORD pcbData
);
LONG WINAPI RegGetValueW(
_In_ HKEY hkey,
_In_opt_ LPWSTR lpSubKey,
_In_opt_ LPWSTR lpValue,
_In_opt_ DWORD dwFlags,
_Out_opt_ LPDWORD pdwType,
_Out_opt_ PVOID pvData,
_Inout_opt_ LPDWORD pcbData
);
LONG WINAPI RegCloseKey(
_In_ HKEY hKey
);
BOOL WINAPI Wow64DisableWow64FsRedirection(
_Out_ PVOID *OldValue
@@ -1014,39 +811,6 @@ NTSTATUS RtlGetCompressionWorkSpaceSize(
PULONG CompressFragmentWorkSpaceSize
);
NTSTATUS NtCreateSection(
PHANDLE SectionHandle,
ACCESS_MASK DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes,
PLARGE_INTEGER MaximumSize,
ULONG SectionPageProtection,
ULONG AllocationAttributes,
HANDLE FileHandle
);
NTSTATUS NtOpenSection(
PHANDLE SectionHandle,
ACCESS_MASK DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes
);
NTSTATUS NtMapViewOfSection(
HANDLE SectionHandle,
HANDLE ProcessHandle,
PVOID *BaseAddress,
ULONG_PTR ZeroBits,
SIZE_T CommitSize,
PLARGE_INTEGER SectionOffset,
PSIZE_T ViewSize,
SECTION_INHERIT InheritDisposition,
ULONG AllocationType,
ULONG Win32Protect
);
NTSTATUS NtUnmapViewOfSection(
HANDLE ProcessHandle,
PVOID BaseAddress
);
HANDLE WINAPI OpenEventA(
__in DWORD dwDesiredAccess,
@@ -1061,11 +825,6 @@ HANDLE WINAPI OpenEventW(
__in LPCWSTR lpName
);
NTSTATUS WINAPI NtOpenEvent(
__out PHANDLE EventHandle,
__in ACCESS_MASK DesiredAccess,
__in POBJECT_ATTRIBUTES ObjectAttributes
);
INT WINAPI lstrcmpA(
@@ -1107,76 +866,6 @@ LPVOID WINAPI MapViewOfFile(
);
SC_HANDLE WINAPI OpenSCManagerA(
__in_opt LPCSTR lpMachineName,
__in_opt LPCSTR lpDatabaseName,
__in DWORD dwDesiredAccess
);
SC_HANDLE WINAPI OpenSCManagerW(
__in_opt LPCWSTR lpMachineName,
__in_opt LPCWSTR lpDatabaseName,
__in DWORD dwDesiredAccess
);
BOOL WINAPI CloseServiceHandle(
_In_ SC_HANDLE hSCObject
);
BOOL WINAPI EnumServicesStatusExA(
__in SC_HANDLE hSCManager,
__in SC_ENUM_TYPE InfoLevel,
__in DWORD dwServiceType,
__in DWORD dwServiceState,
_Out_opt_ LPBYTE lpServices,
__in DWORD cbBufSize,
__out LPDWORD pcbBytesNeeded,
__out LPDWORD lpServicesReturned,
__inout_opt LPDWORD lpResumeHandle,
__in_opt LPCSTR pszGroupName
);
BOOL WINAPI EnumServicesStatusExW(
__in SC_HANDLE hSCManager,
__in SC_ENUM_TYPE InfoLevel,
__in DWORD dwServiceType,
__in DWORD dwServiceState,
_Out_opt_ LPBYTE lpServices,
__in DWORD cbBufSize,
__out LPDWORD pcbBytesNeeded,
__out LPDWORD lpServicesReturned,
__inout_opt LPDWORD lpResumeHandle,
__in_opt LPCWSTR pszGroupName
);
BOOL WINAPI StartServiceA(
_In_ SC_HANDLE hService,
_In_ DWORD dwNumServiceArgs,
_In_opt_ LPCSTR *lpServiceArgVectors
);
BOOL WINAPI StartServiceW(
_In_ SC_HANDLE hService,
_In_ DWORD dwNumServiceArgs,
_In_opt_ LPCWSTR *lpServiceArgVectors
);
SC_HANDLE WINAPI OpenServiceA(
_In_ SC_HANDLE hSCManager,
_In_ LPCSTR lpServiceName,
_In_ DWORD dwDesiredAccess
);
SC_HANDLE WINAPI OpenServiceW(
_In_ SC_HANDLE hSCManager,
_In_ LPCWSTR lpServiceName,
_In_ DWORD dwDesiredAccess
);
DWORD WINAPI GetLogicalDriveStringsA(
_In_ DWORD nBufferLength,
_Out_ LPCSTR lpBuffer
@@ -1270,13 +959,7 @@ BOOL WINAPI FindNextVolumeW(
_In_ DWORD cchBufferLength
);
NTSTATUS WINAPI NtQueryObject(
_In_opt_ HANDLE Handle,
_In_ OBJECT_INFORMATION_CLASS ObjectInformationClass,
_Out_opt_ PVOID ObjectInformation,
_In_ ULONG ObjectInformationLength,
_Out_opt_ PULONG ReturnLength
);
BOOL WINAPI DuplicateHandle(
_In_ HANDLE hSourceProcessHandle,
@@ -1325,44 +1008,6 @@ DWORD WINAPI GetProcessImageFileNameW(
_In_ DWORD nSize
);
BOOL WINAPI GetFileVersionInfoA(
_In_ LPCSTR lptstrFilename,
_Reserved_ DWORD dwHandle,
_In_ DWORD dwLen,
_Out_ LPVOID lpData
);
BOOL WINAPI GetFileVersionInfoW(
_In_ LPWSTR lptstrFilename,
_Reserved_ DWORD dwHandle,
_In_ DWORD dwLen,
_Out_ LPVOID lpData
);
DWORD WINAPI GetFileVersionInfoSizeA(
_In_ LPCSTR lptstrFilename,
_Out_opt_ LPDWORD lpdwHandle
);
DWORD WINAPI GetFileVersionInfoSizeW(
_In_ LPWSTR lptstrFilename,
_Out_opt_ LPDWORD lpdwHandle
);
BOOL WINAPI VerQueryValueA(
_In_ LPCVOID pBlock,
_In_ LPCSTR lpSubBlock,
_Out_ LPVOID *lplpBuffer,
_Out_ PUINT puLen
);
BOOL WINAPI VerQueryValueW(
_In_ LPCVOID pBlock,
_In_ LPWSTR lpSubBlock,
_Out_ LPVOID *lplpBuffer,
_Out_ PUINT puLen
);
INT WINAPI GetSystemMetrics(
_In_ INT nIndex
);
@@ -1415,35 +1060,6 @@ DWORD WINAPI GetIpAddrTable(
_In_ BOOL bOrder
);
NTSTATUS WINAPI NtOpenDirectoryObject(
__out PHANDLE DirectoryHandle,
__in ACCESS_MASK DesiredAccess,
__in POBJECT_ATTRIBUTES ObjectAttributes
);
NTSTATUS WINAPI NtQueryDirectoryObject(
__in HANDLE DirectoryHandle,
__out PVOID Buffer,
__in ULONG Length,
__in BOOLEAN ReturnSingleEntry,
__in BOOLEAN RestartScan,
__inout PULONG Context,
_Out_opt_ PULONG ReturnLength
);
NTSTATUS WINAPI NtQuerySymbolicLinkObject(
_In_ HANDLE LinkHandle,
_Inout_ PUNICODE_STRING LinkTarget,
_Out_opt_ PULONG ReturnedLength
);
NTSTATUS WINAPI NtOpenSymbolicLinkObject(
_Out_ PHANDLE LinkHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ POBJECT_ATTRIBUTES ObjectAttributes
);
BOOL WINAPI GetProcessTimes(
_In_ HANDLE hProcess,
_Out_ LPFILETIME lpCreationTime,
@@ -1484,41 +1100,6 @@ BOOL WINAPI GetProcessDEPPolicy(
);
DWORD WINAPI GetNamedSecurityInfoA(
_In_ LPCSTR pObjectName,
_In_ SE_OBJECT_TYPE ObjectType,
_In_ SECURITY_INFORMATION SecurityInfo,
_Out_opt_ PSID *ppsidOwner,
_Out_opt_ PSID *ppsidGroup,
_Out_opt_ PACL *ppDacl,
_Out_opt_ PACL *ppSacl,
_Out_opt_ PSECURITY_DESCRIPTOR *ppSecurityDescriptor
);
DWORD WINAPI GetNamedSecurityInfoW(
_In_ LPWSTR pObjectName,
_In_ SE_OBJECT_TYPE ObjectType,
_In_ SECURITY_INFORMATION SecurityInfo,
_Out_opt_ PSID *ppsidOwner,
_Out_opt_ PSID *ppsidGroup,
_Out_opt_ PACL *ppDacl,
_Out_opt_ PACL *ppSacl,
_Out_opt_ PSECURITY_DESCRIPTOR *ppSecurityDescriptor
);
DWORD WINAPI GetSecurityInfo(
_In_ HANDLE handle,
_In_ SE_OBJECT_TYPE ObjectType,
_In_ SECURITY_INFORMATION SecurityInfo,
_Out_opt_ PSID *ppsidOwner,
_Out_opt_ PSID *ppsidGroup,
_Out_opt_ PACL *ppDacl,
_Out_opt_ PACL *ppSacl,
_Out_opt_ PSECURITY_DESCRIPTOR *ppSecurityDescriptor
);
BOOL WINAPI ConvertStringSidToSidA(
_In_ LPCSTR StringSid,
@@ -1546,26 +1127,6 @@ HLOCAL WINAPI LocalFree(
_In_ HLOCAL hMem
);
LONG WINAPI RegQueryValueExA(
_In_ HKEY hKey,
_In_opt_ LPCSTR lpValueName,
_Reserved_ LPDWORD lpReserved,
_Out_opt_ LPDWORD lpType,
_Out_opt_ LPBYTE lpData,
_Inout_opt_ LPDWORD lpcbData
);
LONG WINAPI RegQueryValueExW(
_In_ HKEY hKey,
_In_opt_ LPWSTR lpValueName,
_Reserved_ LPDWORD lpReserved,
_Out_opt_ LPDWORD lpType,
_Out_opt_ LPBYTE lpData,
_Inout_opt_ LPDWORD lpcbData
);
BOOL WINAPI InitializeProcThreadAttributeList(
_Out_opt_ LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList,
_In_ DWORD dwAttributeCount,
@@ -1621,29 +1182,6 @@ VOID WINAPI RtlGetUnloadEventTraceEx(
);
NTSTATUS WINAPI NtQueryInformationFile(
_In_ HANDLE FileHandle,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_Out_ PVOID FileInformation,
_In_ ULONG Length,
_In_ FILE_INFORMATION_CLASS FileInformationClass
);
NTSTATUS WINAPI NtQueryDirectoryFile(
_In_ HANDLE FileHandle,
_In_opt_ HANDLE Event,
_In_opt_ PIO_APC_ROUTINE ApcRoutine,
_In_opt_ PVOID ApcContext,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_Out_ PVOID FileInformation,
_In_ ULONG Length,
_In_ FILE_INFORMATION_CLASS FileInformationClass,
_In_ BOOLEAN ReturnSingleEntry,
_In_opt_ PUNICODE_STRING FileName,
_In_ BOOLEAN RestartScan
);
BOOLEAN WINAPI RtlDosPathNameToNtPathName_U(
_In_ PCWSTR DosName,
_Out_ PUNICODE_STRING NtName,
@@ -1694,13 +1232,7 @@ BOOL WINAPI GetProductInfo(
);
NTSTATUS NtSetInformationFile(
HANDLE FileHandle,
PIO_STATUS_BLOCK IoStatusBlock,
PVOID FileInformation,
ULONG Length,
FILE_INFORMATION_CLASS FileInformationClass
);
BOOL GetProcessMemoryInfo(
@@ -1756,10 +1288,6 @@ DWORD WINAPI GetFirmwareEnvironmentVariableExW(
_Out_ PDWORD pdwAttribubutes
);
NTSTATUS WINAPI NtEnumerateSystemEnvironmentValuesEx(
_In_ ULONG InformationClass,
_In_ PVOID Buffer,
_In_ ULONG BufferLength
);
BOOL IsDebuggerPresent();
@@ -1,47 +0,0 @@
NTSTATUS WINAPI TpCallbackSendAlpcMessageOnCompletion(
_In_ HANDLE TpHandle,
_In_ HANDLE PortHandle,
_In_ ULONG Flags,
_In_opt_ PPORT_MESSAGE SendMessage,
);
NTSTATUS NtQueryLicenseValue(
PUNICODE_STRING Name,
ULONG *Type,
PVOID Buffer,
ULONG Length,
ULONG *DataLength
);
NTSTATUS WINAPI NtQueryEaFile(
_In_ HANDLE FileHandle,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_Out_writes_bytes_(Length) PVOID Buffer,
_In_ ULONG Length,
_In_ BOOLEAN ReturnSingleEntry,
_In_reads_bytes_opt_(EaListLength) PVOID EaList,
_In_ ULONG EaListLength,
_In_opt_ PULONG EaIndex,
_In_ BOOLEAN RestartScan
);
NTSTATUS WINAPI NtSetEaFile(
_In_ HANDLE FileHandle,
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
_In_reads_bytes_(Length) PVOID Buffer,
_In_ ULONG Length
);
NTSTATUS WINAPI NtCreateProcessEx(
_Out_ PHANDLE ProcessHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
_In_ HANDLE ParentProcess,
_In_ ULONG Flags,
_In_ HANDLE SectionHandle,
_In_ HANDLE DebugPort,
_In_ HANDLE ExceptionPort,
_In_ BOOLEAN InJob
);
@@ -6312,4 +6312,916 @@ IXpsOMCoreProperties|3340FE8F-4027-4AA1-8F5F-D35AE45FE597
IXpsOMObjectFactory|F9B2A685-A50D-4FC2-B764-B56E093EA0CA
IXpsOMThumbnailGenerator|15B873D5-1971-41E8-83A3-6578403064C7
IXpsPrintJobStream|7A77DC5F-45D6-4DFF-9307-D8CB846347CA
IXpsPrintJob|5AB89B06-8194-425F-AB3B-D7A96E350161
IXpsPrintJob|5AB89B06-8194-425F-AB3B-D7A96E350161
MyCls|11223344-5555-6666-7777-889900000002
IActivateAudioInterfaceCompletionHandler|41D949AB-9862-444A-80F6-C261334DA5EB
IActivateAudioInterfaceAsyncOperation|72A22D78-CDE4-431D-B8CC-843A71199B6D
ITfThreadMgr2|0AB198EF-6477-4EE8-8812-6780EDB82D5E
IDOMEvent|305104BA-98B5-11CF-BB82-00AA00BDCE0B
IHTMLCSSStyleDeclaration|30510740-98B5-11CF-BB82-00AA00BDCE0B
IHTMLCSSStyleDeclaration2|305107D1-98B5-11CF-BB82-00AA00BDCE0B
IHTMLCSSStyleDeclaration3|3051085C-98B5-11CF-BB82-00AA00BDCE0B
IHTMLCSSStyleDeclaration4|D6100F3B-27C8-4132-AFEA-F0E4B1E00060
IHTMLStyleEnabled|305104C2-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLCSSStyleDeclaration|3059009A-98B5-11CF-BB82-00AA00BDCE0B
IHTMLCSSRule|305106E9-98B5-11CF-BB82-00AA00BDCE0B
IHTMLCSSImportRule|305106EA-98B5-11CF-BB82-00AA00BDCE0B
IHTMLCSSMediaRule|305106EB-98B5-11CF-BB82-00AA00BDCE0B
IHTMLCSSMediaList|30510731-98B5-11CF-BB82-00AA00BDCE0B
IHTMLCSSNamespaceRule|305106EE-98B5-11CF-BB82-00AA00BDCE0B
IHTMLMSCSSKeyframeRule|3051080C-98B5-11CF-BB82-00AA00BDCE0B
IHTMLMSCSSKeyframesRule|3051080D-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLCSSRule|3059007D-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLCSSImportRule|3059007E-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLCSSMediaRule|3059007F-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLCSSMediaList|30590097-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLCSSNamespaceRule|30590080-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLMSCSSKeyframeRule|305900DE-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLMSCSSKeyframesRule|305900DF-98B5-11CF-BB82-00AA00BDCE0B
IHTMLRect2|3051076C-98B5-11CF-BB82-00AA00BDCE0B
IDOMDocumentType|30510738-98B5-11CF-BB82-00AA00BDCE0B
IHTMLDocument7|305104B8-98B5-11CF-BB82-00AA00BDCE0B
IHTMLDOMNode3|305106E0-98B5-11CF-BB82-00AA00BDCE0B
IHTMLDOMAttribute4|305106F9-98B5-11CF-BB82-00AA00BDCE0B
IHTMLDOMTextNode3|3051073E-98B5-11CF-BB82-00AA00BDCE0B
IHTMLDOMImplementation2|3051073C-98B5-11CF-BB82-00AA00BDCE0B
IHTMLAttributeCollection4|305106FA-98B5-11CF-BB82-00AA00BDCE0B
IHTMLDOMChildrenCollection2|30510791-98B5-11CF-BB82-00AA00BDCE0B
HTMLElementEvents4|3051075E-98B5-11CF-BB82-00AA00BDCE0B
IRulesAppliedCollection|305104BE-98B5-11CF-BB82-00AA00BDCE0B
IHTMLElement6|305106F8-98B5-11CF-BB82-00AA00BDCE0B
IHTMLElement7|305107AA-98B5-11CF-BB82-00AA00BDCE0B
IHTMLElementAppliedStyles|305104BD-98B5-11CF-BB82-00AA00BDCE0B
IElementTraversal|30510736-98B5-11CF-BB82-00AA00BDCE0B
IHTMLStyleSheetRuleApplied|305104C1-98B5-11CF-BB82-00AA00BDCE0B
IHTMLStyleSheetRule2|305106FD-98B5-11CF-BB82-00AA00BDCE0B
IHTMLStyleSheetRulesCollection2|305106E8-98B5-11CF-BB82-00AA00BDCE0B
IHTMLStyleSheetPage2|305106ED-98B5-11CF-BB82-00AA00BDCE0B
IHTMLStyleSheet4|305106F4-98B5-11CF-BB82-00AA00BDCE0B
IHTMLStyleSheetsCollection2|305106E7-98B5-11CF-BB82-00AA00BDCE0B
IHTMLLinkElement5|30510726-98B5-11CF-BB82-00AA00BDCE0B
IHTMLDOMRange|305104AE-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLDOMRange|3050F5A3-98B5-11CF-BB82-00AA00BDCE0B
IHTMLImgElement4|305107F6-98B5-11CF-BB82-00AA00BDCE0B
IHTMLMSImgElement|30510793-98B5-11CF-BB82-00AA00BDCE0B
IHTMLBodyElement4|30510795-98B5-11CF-BB82-00AA00BDCE0B
IHTMLBodyElement5|30510822-98B5-11CF-BB82-00AA00BDCE0B
IHTMLSelectElement6|30510760-98B6-11CF-BB82-00AA00BDCE0B
IHTMLSelection|305104B6-98B5-11CF-BB82-00AA00BDCE0B
IHTMLOptionElement4|305107B4-98B5-11CF-BB82-00AA00BDCE0B
IHTMLInputTextElement2|3050F2D2-98B5-11CF-BB82-00AA00BDCE0B
IHTMLInputRangeElement|3050F2D4-98B5-11CF-BB82-00AA00BDCE0B
IHTMLTextAreaElement2|3050F2D3-98B5-11CF-BB82-00AA00BDCE0B
IHTMLButtonElement2|305106F3-98B5-11CF-BB82-00AA00BDCE0B
IWebGeolocation|305107C5-98B5-11CF-BB82-00AA00BDCE0B
INavigatorGeolocation|305107CF-98B5-11CF-BB82-00AA00BDCE0B
INavigatorDoNotTrack|30510804-98B5-11CF-BB82-00AA00BDCE0B
IHTMLEventObj6|30510734-98B5-11CF-BB82-00AA00BDCE0B
IHTMLStyleMedia|3051074B-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLStyleMedia|3059009E-98B5-11CF-BB82-00AA00BDCE0B
IHTMLPerformance|3051074E-98B5-11CF-BB82-00AA00BDCE0B
IHTMLApplicationCache|30510828-98B5-11CF-BB82-00AA00BDCE0B
IHTMLScreen4|3051076B-98B5-11CF-BB82-00AA00BDCE0B
IHTMLWindow7|305104B7-98B5-11CF-BB82-00AA00BDCE0B
IHTMLWindow8|305107AB-98B5-11CF-BB82-00AA00BDCE0B
HTMLDocumentEvents4|30510737-98B5-11CF-BB82-00AA00BDCE0B
ISVGSVGElement|305104E7-98B5-11CF-BB82-00AA00BDCE0B
IDOMNodeIterator|30510746-98B5-11CF-BB82-00AA00BDCE0B
IDOMTreeWalker|30510748-98B5-11CF-BB82-00AA00BDCE0B
IDOMProcessingInstruction|30510742-98B5-11CF-BB82-00AA00BDCE0B
IHTMLDocument8|305107D0-98B5-11CF-BB82-00AA00BDCE0B
IDocumentEvent|305104BC-98B5-11CF-BB82-00AA00BDCE0B
IDocumentRange|305104AF-98B5-11CF-BB82-00AA00BDCE0B
IDocumentTraversal|30510744-98B5-11CF-BB82-00AA00BDCE0B
IHTMLCommentElement3|3051073F-98B5-11CF-BB82-00AA00BDCE0B
IHTMLTable4|305106C2-98B5-11CF-BB82-00AA00BDCE0B
IHTMLTableCol3|305106C4-98B5-11CF-BB82-00AA00BDCE0B
IHTMLTableSection4|305106C5-98B5-11CF-BB82-00AA00BDCE0B
IHTMLTableRow4|305106C6-98B5-11CF-BB82-00AA00BDCE0B
IHTMLTableCell3|305106C7-98B5-11CF-BB82-00AA00BDCE0B
IHTMLScriptElement4|30510801-98B5-11CF-BB82-00AA00BDCE0B
IHTMLObjectElement5|305104B5-98B5-11CF-BB82-00AA00BDCE0B
IHTMLFrameSetElement3|30510796-98B5-11CF-BB82-00AA00BDCE0B
IHTMLStyleElement2|3051072A-98B5-11CF-BB82-00AA00BDCE0B
IHTMLStyleFontFace2|305106EC-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLStyleFontFace|30590081-98B5-11CF-BB82-00AA00BDCE0B
IHTMLStorage2|30510799-98B5-11CF-BB82-00AA00BDCE0B
IEventTarget|305104B9-98B5-11CF-BB82-00AA00BDCE0B
DispDOMEvent|3050F5A2-98B5-11CF-BB82-00AA00BDCE0B
IDOMUIEvent|305106CA-98B5-11CF-BB82-00AA00BDCE0B
DispDOMUIEvent|30590072-98B5-11CF-BB82-00AA00BDCE0B
IDOMMouseEvent|305106CE-98B5-11CF-BB82-00AA00BDCE0B
DispDOMMouseEvent|30590073-98B5-11CF-BB82-00AA00BDCE0B
IDOMDragEvent|30510761-98B5-11CF-BB82-00AA00BDCE0B
DispDOMDragEvent|305900A7-98B5-11CF-BB82-00AA00BDCE0B
IDOMMouseWheelEvent|305106D0-98B5-11CF-BB82-00AA00BDCE0B
DispDOMMouseWheelEvent|30590074-98B5-11CF-BB82-00AA00BDCE0B
IDOMWheelEvent|305106D2-98B5-11CF-BB82-00AA00BDCE0B
DispDOMWheelEvent|30590075-98B5-11CF-BB82-00AA00BDCE0B
IDOMTextEvent|305106D4-98B5-11CF-BB82-00AA00BDCE0B
DispDOMTextEvent|30590076-98B5-11CF-BB82-00AA00BDCE0B
IDOMKeyboardEvent|305106D6-98B5-11CF-BB82-00AA00BDCE0B
DispDOMKeyboardEvent|30590077-98B5-11CF-BB82-00AA00BDCE0B
IDOMCompositionEvent|305106D8-98B5-11CF-BB82-00AA00BDCE0B
DispDOMCompositionEvent|30590078-98B5-11CF-BB82-00AA00BDCE0B
IDOMMutationEvent|305106DA-98B5-11CF-BB82-00AA00BDCE0B
DispDOMMutationEvent|30590079-98B5-11CF-BB82-00AA00BDCE0B
IDOMBeforeUnloadEvent|30510763-98B5-11CF-BB82-00AA00BDCE0B
DispDOMBeforeUnloadEvent|305900A8-98B5-11CF-BB82-00AA00BDCE0B
IDOMFocusEvent|305106CC-98B5-11CF-BB82-00AA00BDCE0B
DispDOMFocusEvent|30590071-98B5-11CF-BB82-00AA00BDCE0B
IDOMCustomEvent|305106DE-98B5-11CF-BB82-00AA00BDCE0B
DispDOMCustomEvent|3059007C-98B5-11CF-BB82-00AA00BDCE0B
ICanvasGradient|30510714-98B5-11CF-BB82-00AA00BDCE0B
ICanvasPattern|30510716-98B5-11CF-BB82-00AA00BDCE0B
ICanvasTextMetrics|30510718-98B5-11CF-BB82-00AA00BDCE0B
ICanvasImageData|3051071A-98B5-11CF-BB82-00AA00BDCE0B
ICanvasPixelArray|3051071C-98B5-11CF-BB82-00AA00BDCE0B
IHTMLCanvasElement|305106E4-98B5-11CF-BB82-00AA00BDCE0B
ICanvasRenderingContext2D|305106FF-98B5-11CF-BB82-00AA00BDCE0B
DispCanvasGradient|3059008C-98B5-11CF-BB82-00AA00BDCE0B
DispCanvasPattern|3059008D-98B5-11CF-BB82-00AA00BDCE0B
DispCanvasTextMetrics|3059008E-98B5-11CF-BB82-00AA00BDCE0B
DispCanvasImageData|3059008F-98B5-11CF-BB82-00AA00BDCE0B
DispCanvasRenderingContext2D|30590082-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLCanvasElement|3059007B-98B5-11CF-BB82-00AA00BDCE0B
IDOMProgressEvent|3051071E-98B5-11CF-BB82-00AA00BDCE0B
DispDOMProgressEvent|30590091-98B5-11CF-BB82-00AA00BDCE0B
IDOMMessageEvent|30510720-98B5-11CF-BB82-00AA00BDCE0B
DispDOMMessageEvent|30590092-98B5-11CF-BB82-00AA00BDCE0B
IDOMSiteModeEvent|30510765-98B6-11CF-BB82-00AA00BDCE0B
DispDOMSiteModeEvent|305900A9-98B5-11CF-BB82-00AA00BDCE0B
IDOMStorageEvent|30510722-98B5-11CF-BB82-00AA00BDCE0B
DispDOMStorageEvent|30590093-98B5-11CF-BB82-00AA00BDCE0B
IXMLHttpRequestEventTarget|30510830-98B5-11CF-BB82-00AA00BDCE0B
DispXMLHttpRequestEventTarget|305900E7-98B5-11CF-BB82-00AA00BDCE0B
ISVGAngle|305104D3-98B5-11CF-BB82-00AA00BDCE0B
ISVGElement|305104C5-98B5-11CF-BB82-00AA00BDCE0B
ISVGRect|305104D7-98B5-11CF-BB82-00AA00BDCE0B
ISVGMatrix|305104F6-98B5-11CF-BB82-00AA00BDCE0B
ISVGStringList|305104C8-98B5-11CF-BB82-00AA00BDCE0B
ISVGAnimatedRect|305104D8-98B5-11CF-BB82-00AA00BDCE0B
ISVGAnimatedString|305104C7-98B5-11CF-BB82-00AA00BDCE0B
ISVGAnimatedBoolean|305104C6-98B5-11CF-BB82-00AA00BDCE0B
ISVGAnimatedTransformList|305104F9-98B5-11CF-BB82-00AA00BDCE0B
ISVGAnimatedPreserveAspectRatio|305104FB-98B5-11CF-BB82-00AA00BDCE0B
ISVGStylable|305104DA-98B5-11CF-BB82-00AA00BDCE0B
ISVGLocatable|305104DB-98B5-11CF-BB82-00AA00BDCE0B
ISVGTransformable|305104DC-98B5-11CF-BB82-00AA00BDCE0B
ISVGTests|305104DD-98B5-11CF-BB82-00AA00BDCE0B
ISVGLangSpace|305104DE-98B5-11CF-BB82-00AA00BDCE0B
ISVGExternalResourcesRequired|305104DF-98B5-11CF-BB82-00AA00BDCE0B
ISVGFitToViewBox|305104E0-98B5-11CF-BB82-00AA00BDCE0B
ISVGZoomAndPan|305104E1-98B5-11CF-BB82-00AA00BDCE0B
ISVGURIReference|305104E3-98B5-11CF-BB82-00AA00BDCE0B
ISVGAnimatedAngle|305104D4-98B5-11CF-BB82-00AA00BDCE0B
ISVGTransformList|305104F8-98B5-11CF-BB82-00AA00BDCE0B
ISVGAnimatedEnumeration|305104C9-98B5-11CF-BB82-00AA00BDCE0B
ISVGAnimatedInteger|305104CA-98B5-11CF-BB82-00AA00BDCE0B
ISVGLength|305104CF-98B5-11CF-BB82-00AA00BDCE0B
ISVGAnimatedLength|305104D0-98B5-11CF-BB82-00AA00BDCE0B
ISVGLengthList|305104D1-98B5-11CF-BB82-00AA00BDCE0B
ISVGAnimatedLengthList|305104D2-98B5-11CF-BB82-00AA00BDCE0B
ISVGNumber|305104CB-98B5-11CF-BB82-00AA00BDCE0B
ISVGAnimatedNumber|305104CC-98B5-11CF-BB82-00AA00BDCE0B
ISVGNumberList|305104CD-98B5-11CF-BB82-00AA00BDCE0B
ISVGAnimatedNumberList|305104CE-98B5-11CF-BB82-00AA00BDCE0B
ISVGClipPathElement|3051052D-98B5-11CF-BB82-00AA00BDCE0B
DispSVGClipPathElement|3059003B-98B5-11CF-BB82-00AA00BDCE0B
ISVGDocument|305104E6-98B5-11CF-BB82-00AA00BDCE0B
IGetSVGDocument|305105AB-98B5-11CF-BB82-00AA00BDCE0B
DispSVGElement|30590000-98B5-11CF-BB82-00AA00BDCE0B
IICCSVGColor|305104D6-98B5-11CF-BB82-00AA00BDCE0B
ISVGPaint|30510524-98B5-11CF-BB82-00AA00BDCE0B
ISVGPatternElement|3051052C-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPatternElement|3059002C-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSeg|305104FC-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegArcAbs|30510506-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegArcRel|30510507-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegClosePath|305104FD-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegMovetoAbs|305104FE-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegMovetoRel|305104FF-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegLinetoAbs|30510500-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegLinetoRel|30510501-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegCurvetoCubicAbs|30510502-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegCurvetoCubicRel|30510503-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegCurvetoCubicSmoothAbs|3051050C-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegCurvetoCubicSmoothRel|3051050D-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegCurvetoQuadraticAbs|30510504-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegCurvetoQuadraticRel|30510505-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegCurvetoQuadraticSmoothAbs|3051050E-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegCurvetoQuadraticSmoothRel|3051050F-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegLinetoHorizontalAbs|30510508-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegLinetoHorizontalRel|30510509-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegLinetoVerticalAbs|3051050A-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegLinetoVerticalRel|3051050B-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegArcAbs|30590013-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegArcRel|30590014-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegClosePath|30590015-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegMovetoAbs|30590024-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegMovetoRel|30590025-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegLinetoAbs|3059001E-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegLinetoRel|30590021-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegCurvetoCubicAbs|30590016-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegCurvetoCubicRel|30590017-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegCurvetoCubicSmoothAbs|30590018-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegCurvetoCubicSmoothRel|30590019-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegCurvetoQuadraticAbs|3059001A-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegCurvetoQuadraticRel|3059001B-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegCurvetoQuadraticSmoothAbs|3059001C-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegCurvetoQuadraticSmoothRel|3059001D-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegLinetoHorizontalAbs|3059001F-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegLinetoHorizontalRel|30590020-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegLinetoVerticalAbs|30590022-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathSegLinetoVerticalRel|30590023-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathSegList|30510510-98B5-11CF-BB82-00AA00BDCE0B
ISVGPoint|305104F4-98B5-11CF-BB82-00AA00BDCE0B
ISVGPointList|305104F5-98B5-11CF-BB82-00AA00BDCE0B
ISVGViewSpec|305104E2-98B5-11CF-BB82-00AA00BDCE0B
ISVGTransform|305104F7-98B5-11CF-BB82-00AA00BDCE0B
DispSVGSVGElement|30590001-98B5-11CF-BB82-00AA00BDCE0B
ISVGElementInstance|305104EE-98B5-11CF-BB82-00AA00BDCE0B
ISVGUseElement|305104ED-98B5-11CF-BB82-00AA00BDCE0B
DispSVGUseElement|30590010-98B5-11CF-BB82-00AA00BDCE0B
IHTMLStyleSheetRulesAppliedCollection|305104C0-98B5-11CF-BB82-00AA00BDCE0B
IRulesApplied|305104BF-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLStyleSheetRulesAppliedCollection|3050F5A6-98B5-11CF-BB82-00AA00BDCE0B
DispRulesApplied|3050F5A5-98B5-11CF-BB82-00AA00BDCE0B
DispRulesAppliedCollection|3050F5A4-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLW3CComputedStyle|30590070-98B5-11CF-BB82-00AA00BDCE0B
ISVGAnimatedPoints|30510517-98B5-11CF-BB82-00AA00BDCE0B
ISVGCircleElement|30510514-98B5-11CF-BB82-00AA00BDCE0B
ISVGEllipseElement|30510515-98B5-11CF-BB82-00AA00BDCE0B
ISVGLineElement|30510516-98B5-11CF-BB82-00AA00BDCE0B
ISVGRectElement|30510513-98B5-11CF-BB82-00AA00BDCE0B
ISVGPolygonElement|30510519-98B5-11CF-BB82-00AA00BDCE0B
ISVGPolylineElement|30510518-98B5-11CF-BB82-00AA00BDCE0B
DispSVGCircleElement|3059000A-98B5-11CF-BB82-00AA00BDCE0B
DispSVGEllipseElement|3059000B-98B5-11CF-BB82-00AA00BDCE0B
DispSVGLineElement|3059000C-98B5-11CF-BB82-00AA00BDCE0B
DispSVGRectElement|30590009-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPolygonElement|3059000D-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPolylineElement|3059000E-98B5-11CF-BB82-00AA00BDCE0B
ISVGGElement|305104E8-98B5-11CF-BB82-00AA00BDCE0B
DispSVGGElement|30590002-98B5-11CF-BB82-00AA00BDCE0B
ISVGSymbolElement|305104EC-98B5-11CF-BB82-00AA00BDCE0B
DispSVGSymbolElement|30590004-98B5-11CF-BB82-00AA00BDCE0B
ISVGDefsElement|305104E9-98B5-11CF-BB82-00AA00BDCE0B
DispSVGDefsElement|30590003-98B5-11CF-BB82-00AA00BDCE0B
ISVGAnimatedPathData|30510511-98B5-11CF-BB82-00AA00BDCE0B
ISVGPathElement|30510512-98B5-11CF-BB82-00AA00BDCE0B
DispSVGPathElement|30590011-98B5-11CF-BB82-00AA00BDCE0B
ISVGPreserveAspectRatio|305104FA-98B5-11CF-BB82-00AA00BDCE0B
ISVGTextElement|3051051C-98B5-11CF-BB82-00AA00BDCE0B
DispSVGTextElement|30590037-98B5-11CF-BB82-00AA00BDCE0B
ISVGImageElement|305104F0-98B5-11CF-BB82-00AA00BDCE0B
DispSVGImageElement|30590027-98B5-11CF-BB82-00AA00BDCE0B
ISVGStopElement|3051052B-98B5-11CF-BB82-00AA00BDCE0B
DispSVGStopElement|3059002D-98B5-11CF-BB82-00AA00BDCE0B
ISVGGradientElement|30510528-98B5-11CF-BB82-00AA00BDCE0B
DispSVGGradientElement|3059002E-98B5-11CF-BB82-00AA00BDCE0B
ISVGLinearGradientElement|30510529-98B5-11CF-BB82-00AA00BDCE0B
DispSVGLinearGradientElement|3059002A-98B5-11CF-BB82-00AA00BDCE0B
ISVGRadialGradientElement|3051052A-98B5-11CF-BB82-00AA00BDCE0B
DispSVGRadialGradientElement|3059002B-98B5-11CF-BB82-00AA00BDCE0B
ISVGMaskElement|3051052E-98B5-11CF-BB82-00AA00BDCE0B
DispSVGMaskElement|3059003C-98B5-11CF-BB82-00AA00BDCE0B
ISVGMarkerElement|30510525-98B5-11CF-BB82-00AA00BDCE0B
DispSVGMarkerElement|30590036-98B5-11CF-BB82-00AA00BDCE0B
ISVGZoomEvent|3051054E-98B5-11CF-BB82-00AA00BDCE0B
DispSVGZoomEvent|30590031-98B5-11CF-BB82-00AA00BDCE0B
ISVGAElement|3051054B-98B5-11CF-BB82-00AA00BDCE0B
DispSVGAElement|30590033-98B5-11CF-BB82-00AA00BDCE0B
ISVGViewElement|3051054C-98B5-11CF-BB82-00AA00BDCE0B
DispSVGViewElement|30590034-98B5-11CF-BB82-00AA00BDCE0B
IHTMLMediaError|30510704-98B5-11CF-BB82-00AA00BDCE0B
IHTMLTimeRanges|30510705-98B5-11CF-BB82-00AA00BDCE0B
IHTMLTimeRanges2|3051080B-98B5-11CF-BB82-00AA00BDCE0B
IHTMLMediaElement|30510706-98B5-11CF-BB82-00AA00BDCE0B
IHTMLMediaElement2|30510809-98B5-11CF-BB82-00AA00BDCE0B
IHTMLMSMediaElement|30510792-98B5-11CF-BB82-00AA00BDCE0B
IHTMLSourceElement|30510707-98B5-11CF-BB82-00AA00BDCE0B
IHTMLAudioElement|30510708-98B5-11CF-BB82-00AA00BDCE0B
IHTMLVideoElement|30510709-98B5-11CF-BB82-00AA00BDCE0B
IHTMLAudioElementFactory|305107EB-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLMediaError|30590086-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLTimeRanges|30590087-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLMediaElement|30590088-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLSourceElement|30590089-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLAudioElement|3059008A-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLVideoElement|3059008B-98B5-11CF-BB82-00AA00BDCE0B
ISVGSwitchElement|305104F1-98B5-11CF-BB82-00AA00BDCE0B
DispSVGSwitchElement|30590030-98B5-11CF-BB82-00AA00BDCE0B
ISVGDescElement|305104EA-98B5-11CF-BB82-00AA00BDCE0B
DispSVGDescElement|30590005-98B5-11CF-BB82-00AA00BDCE0B
ISVGTitleElement|305104EB-98B5-11CF-BB82-00AA00BDCE0B
DispSVGTitleElement|30590006-98B5-11CF-BB82-00AA00BDCE0B
ISVGMetadataElement|30510560-98B5-11CF-BB82-00AA00BDCE0B
DispSVGMetadataElement|3059002F-98B5-11CF-BB82-00AA00BDCE0B
ISVGElementInstanceList|305104EF-98B5-11CF-BB82-00AA00BDCE0B
DispSVGElementInstance|30590007-98B5-11CF-BB82-00AA00BDCE0B
DispSVGElementInstanceList|30590008-98B5-11CF-BB82-00AA00BDCE0B
IDOMException|3051072B-98B5-11CF-BB82-00AA00BDCE0B
DispDOMException|30590094-98B5-11CF-BB82-00AA00BDCE0B
DispRangeException|30590095-98B5-11CF-BB82-00AA00BDCE0B
ISVGException|3051072F-98B5-11CF-BB82-00AA00BDCE0B
DispSVGException|30590096-98B5-11CF-BB82-00AA00BDCE0B
IEventException|3051073A-98B5-11CF-BB82-00AA00BDCE0B
DispEventException|30590099-98B5-11CF-BB82-00AA00BDCE0B
ISVGScriptElement|3051054D-98B5-11CF-BB82-00AA00BDCE0B
DispSVGScriptElement|30590039-98B5-11CF-BB82-00AA00BDCE0B
ISVGStyleElement|305104F3-98B5-11CF-BB82-00AA00BDCE0B
DispSVGStyleElement|30590029-98B5-11CF-BB82-00AA00BDCE0B
ISVGTextContentElement|3051051A-98B5-11CF-BB82-00AA00BDCE0B
DispSVGTextContentElement|30590035-98B5-11CF-BB82-00AA00BDCE0B
ISVGTextPositioningElement|3051051B-98B5-11CF-BB82-00AA00BDCE0B
DispSVGTextPositioningElement|30590038-98B5-11CF-BB82-00AA00BDCE0B
DispDOMDocumentType|30590098-98B5-11CF-BB82-00AA00BDCE0B
DispNodeIterator|3059009C-98B5-11CF-BB82-00AA00BDCE0B
DispTreeWalker|3059009D-98B5-11CF-BB82-00AA00BDCE0B
DispDOMProcessingInstruction|3059009B-98B5-11CF-BB82-00AA00BDCE0B
IHTMLPerformanceNavigation|30510750-98B5-11CF-BB82-00AA00BDCE0B
IHTMLPerformanceTiming|30510752-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLPerformance|3059009F-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLPerformanceNavigation|305900A0-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLPerformanceTiming|305900A1-98B5-11CF-BB82-00AA00BDCE0B
ISVGTSpanElement|3051051D-98B5-11CF-BB82-00AA00BDCE0B
DispSVGTSpanElement|3059003A-98B5-11CF-BB82-00AA00BDCE0B
IPrintManagerTemplatePrinter|F633BE14-9EFF-4C4D-929E-05717B21B3E6
IPrintManagerTemplatePrinter2|C6403497-7493-4F09-8016-54B03E9BDA69
DispCPrintManagerTemplatePrinter|305900E9-98B5-11CF-BB82-00AA00BDCE0B
ISVGTextPathElement|3051051F-98B5-11CF-BB82-00AA00BDCE0B
DispSVGTextPathElement|3059003D-98B5-11CF-BB82-00AA00BDCE0B
IDOMXmlSerializer|3051077D-98B5-11CF-BB82-00AA00BDCE0B
IDOMParser|30510781-98B5-11CF-BB82-00AA00BDCE0B
DispXMLSerializer|305900AD-98B5-11CF-BB82-00AA00BDCE0B
DispDOMParser|305900AE-98B5-11CF-BB82-00AA00BDCE0B
IDOMXmlSerializerFactory|3051077F-98B5-11CF-BB82-00AA00BDCE0B
IDOMParserFactory|30510783-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLSemanticElement|305900BA-98B5-11CF-BB82-00AA00BDCE0B
IHTMLProgressElement|3050F2D6-98B5-11CF-BB82-00AA00BDCE0B
DispHTMLProgressElement|305900AF-98B5-11CF-BB82-00AA00BDCE0B
IDOMMSTransitionEvent|305107B5-98B5-11CF-BB82-00AA00BDCE0B
DispDOMMSTransitionEvent|305900BB-98B5-11CF-BB82-00AA00BDCE0B
IDOMMSAnimationEvent|305107B7-98B5-11CF-BB82-00AA00BDCE0B
DispDOMMSAnimationEvent|305900BC-98B5-11CF-BB82-00AA00BDCE0B
IWebGeocoordinates|305107C7-98B5-11CF-BB82-00AA00BDCE0B
IWebGeopositionError|305107C9-98B5-11CF-BB82-00AA00BDCE0B
IWebGeoposition|305107CD-98B5-11CF-BB82-00AA00BDCE0B
DispWebGeolocation|305900BD-98B5-11CF-BB82-00AA00BDCE0B
DispWebGeocoordinates|305900BE-98B5-11CF-BB82-00AA00BDCE0B
DispWebGeopositionError|305900BF-98B5-11CF-BB82-00AA00BDCE0B
DispWebGeoposition|305900C1-98B5-11CF-BB82-00AA00BDCE0B
IDOMMSManipulationEvent|30510816-98B5-11CF-BB82-00AA00BDCE0B
DispDOMMSManipulationEvent|305900E1-98B5-11CF-BB82-00AA00BDCE0B
IDOMCloseEvent|305107FF-98B5-11CF-BB82-00AA00BDCE0B
DispDOMCloseEvent|305900DC-98B5-11CF-BB82-00AA00BDCE0B
DispApplicationCache|305900E4-98B5-11CF-BB82-00AA00BDCE0B
IDeveloperConsoleMessageReceiver|30510808-98B5-11CF-BB82-00AA00BDCE0B
IScriptEventHandler|3051083A-98B5-11CF-BB82-00AA00BDCE0B
IDebugCallbackNotificationHandler|30510842-98B5-11CF-BB82-00AA00BDCE0B
IScriptEventHandlerSourceInfo|30510841-98B5-11CF-BB82-00AA00BDCE0B
IDOMEventRegistrationCallback|3051083B-98B5-11CF-BB82-00AA00BDCE0B
IEventTarget2|30510839-98B5-11CF-BB82-00AA00BDCE0B
ISurfacePresenter|305106E2-98B5-11CF-BB82-00AA00BDCE0B
IViewObjectPresentSite|305106E1-98B5-11CF-BB82-00AA00BDCE0B
ICanvasPixelArrayData|305107F9-98B5-11CF-BB82-00AA00BDCE0B
IViewObjectPrint|305106E3-98B5-11CF-BB82-00AA00BDCE0B
IViewObjectPresentNotifySite|305107FA-98B5-11CF-BB82-00AA00BDCE0B
IViewObjectPresentNotify|305107F8-98B5-11CF-BB82-00AA00BDCE0B
ITrackingProtection|30510803-98B5-11CF-BB82-00AA00BDCE0B
IBFCacheable|30510861-98B5-11CF-BB82-00AA00BDCE0B
IDiagnosticsScriptEngineSite|30510858-98B5-11CF-BB82-00AA00BDCE0B
IDiagnosticsScriptEngine|30510859-98B5-11CF-BB82-00AA00BDCE0B
IDiagnosticsScriptEngineProvider|3051085A-98B5-11CF-BB82-00AA00BDCE0B
IImePlugInDictDictionaryList|98752974-B0A6-489B-8F6F-BFF3769C8EEB
IXMLHTTPRequest2Callback|A44A9299-E321-40DE-8866-341B41669162
IXMLHTTPRequest2|E5D37DC0-552A-4D52-9CC0-A14D546FBD04
IXMLHTTPRequest3Callback|B9E57830-8C6C-4A6F-9C13-47772BB047BB
IXMLHTTPRequest3|A1C9FEEE-0617-4F23-9D58-8961EA43567C
INetCfgPnpReconfigCallback|8D84BD35-E227-11D2-B700-00A0C98A6A85
INetCfgComponentControl|932238DF-BEA1-11D0-9298-00C04FC99DCF
INetCfgComponentSetup|932238E3-BEA1-11D0-9298-00C04FC99DCF
INetCfgComponentPropertyUi|932238E0-BEA1-11D0-9298-00C04FC99DCF
INetCfgComponentNotifyBinding|932238E1-BEA1-11D0-9298-00C04FC99DCF
INetCfgComponentNotifyGlobal|932238E2-BEA1-11D0-9298-00C04FC99DCF
INetCfgComponentUpperEdge|932238E4-BEA1-11D0-9298-00C04FC99DCF
INetLanConnectionUiInfo|C08956A6-1CD3-11D1-B1C5-00805FC1270E
INetRasConnectionIpUiInfo|FAEDCF58-31FE-11D1-AAD2-00805FC1270E
INetCfgComponentSysPrep|C0E8AE9A-306E-11D1-AACF-00805FC1270E
IEnumNetCfgBindingInterface|C0E8AE90-306E-11D1-AACF-00805FC1270E
IEnumNetCfgBindingPath|C0E8AE91-306E-11D1-AACF-00805FC1270E
IEnumNetCfgComponent|C0E8AE92-306E-11D1-AACF-00805FC1270E
INetCfg|C0E8AE93-306E-11D1-AACF-00805FC1270E
INetCfgLock|C0E8AE9F-306E-11D1-AACF-00805FC1270E
INetCfgBindingInterface|C0E8AE94-306E-11D1-AACF-00805FC1270E
INetCfgBindingPath|C0E8AE96-306E-11D1-AACF-00805FC1270E
INetCfgClass|C0E8AE97-306E-11D1-AACF-00805FC1270E
INetCfgClassSetup|C0E8AE9D-306E-11D1-AACF-00805FC1270E
INetCfgClassSetup2|C0E8AEA0-306E-11D1-AACF-00805FC1270E
INetCfgComponent|C0E8AE99-306E-11D1-AACF-00805FC1270E
INetCfgComponentBindings|C0E8AE9E-306E-11D1-AACF-00805FC1270E
INetCfgSysPrep|C0E8AE98-306E-11D1-AACF-00805FC1270E
INetFwRule3|B21563FF-D696-4222-AB46-4E89B73AB34A
INetworkCostManager|DCB00008-570F-4A9B-8D69-199FDBA5723B
INetworkCostManagerEvents|DCB00009-570F-4A9B-8D69-199FDBA5723B
INetworkConnectionCost|DCB0000A-570F-4A9B-8D69-199FDBA5723B
INetworkConnectionCostEvents|DCB0000B-570F-4A9B-8D69-199FDBA5723B
INotificationActivationCallback|53E31837-6600-4A81-9395-75CFFE746F94
ITypeLibRegistrationReader|ED6A8A2A-B160-4E77-8F73-AA7435CD5C27
ITypeLibRegistration|76A3E735-02DF-4A12-98EB-043AD3600AF3
INoMarshal|ECC8691B-C1DB-4DC0-855E-65F6C551AF49
IAgileObject|94EA2B94-E9CC-49E0-C0FF-EE64CA8F5B90
IActivationFilter|00000017-0000-0000-C000-000000000046
IFastRundown|00000040-0000-0000-C000-000000000046
IMarshalingStream|D8F2F5E6-6102-4863-9F26-389A4676EFDE
IAgileReference|C03F6A43-65A4-9818-987E-E0B810D2A6F2
IApartmentShutdown|A2F05A09-27A2-42B5-BC0E-AC163EF49D9B
IAccessibleWindowlessSite|BF3ABD9C-76DA-4389-9EB6-1427D25ABAB7
IEnterpriseDropTarget|390E3878-FD55-4E18-819D-4682081C0CFD
IPMApplicationInfo|50AFB58A-438C-4088-9789-F8C4899829C7
IPMTilePropertyInfo|6C2B8017-1EFA-42A7-86C0-6D4B640BF528
IPMTilePropertyEnumerator|CC4CD629-9047-4250-AAC8-930E47812421
IPMTileInfo|D1604833-2B08-4001-82CD-183AD734F752
IPMTileInfoEnumerator|DED83065-E462-4B2C-ACB5-E39CEA61C874
IPMApplicationInfoEnumerator|0EC42A96-4D46-4DC6-A3D9-A7ACAAC0F5FA
IPMLiveTileJobInfo|6009A81F-4710-4697-B5F6-2208F6057B8E
IPMLiveTileJobInfoEnumerator|BC042582-9415-4F36-9F99-06F104C07C03
IPMDeploymentManager|35F785FA-1979-4A8B-BC8F-FD70EB0D1544
IPMEnumerationManager|698D57C2-292D-4CF3-B73C-D95A6922ED9A
IPMTaskInfo|BF1D8C33-1BF5-4EE0-B549-6B9DD3834942
IPMTaskInfoEnumerator|0630B0F8-0BBC-4821-BE74-C7995166ED2A
IPMExtensionInfo|49ACDE79-9788-4D0A-8AA0-1746AFDB9E9D
IPMExtensionFileExtensionInfo|6B87CB6C-0B88-4989-A4EC-033714F710D4
IPMExtensionProtocolInfo|1E3FA036-51EB-4453-BAFF-B8D8E4B46C8E
IPMExtensionShareTargetInfo|5471F48B-C65C-4656-8C70-242E31195FEA
IPMExtensionContractInfo|E5666373-7BA1-467C-B819-B175DB1C295B
IPMExtensionFileOpenPickerInfo|6DC91D25-9606-420C-9A78-E034A3418345
IPMExtensionFileSavePickerInfo|38005CBA-F81A-493E-A0F8-922C8680DA43
IPMExtensionCachedFileUpdaterInfo|E2D77509-4E58-4BA9-AF7E-B642E370E1B0
IPMExtensionInfoEnumerator|403B9E82-1171-4573-8E6F-6F33F39B83DD
IPMBackgroundServiceAgentInfo|3A8B46DA-928C-4879-998C-09DC96F3D490
IPMBackgroundWorkerInfo|7DD4531B-D3BF-4B6B-94F3-69C098B1497D
IPMBackgroundServiceAgentInfoEnumerator|18EB2072-AB56-43B3-872C-BEAFB7A6B391
IPMBackgroundWorkerInfoEnumerator|87F479F8-90D8-4EC7-92B9-72787E2F636B
IBufferingTime|1E00486A-78DD-11D2-8DD3-006097C9A2B2
IPlayToManagerInterop|24394699-1F2C-4EB3-8CD7-0EC1DA42A540
IPortableDeviceUnitsStream|5E98025F-BFC4-47A2-9A5F-BC900A507C67
IPortableDeviceServiceActivation|E56B0534-D9B9-425C-9B99-75F97CB3D7C8
IPortableDeviceServiceOpenCallback|BCED49C8-8EFE-41ED-960B-61313ABD47A9
IPortableDeviceWebControl|94FC7953-5CA1-483A-8AEE-DF52E7747D00
IPortableDeviceClassExtension|BC08386A-9952-40CD-BA50-9541D64A4B4E
IPrinting3DManagerInterop|9CA31010-1484-4587-B26B-DDDF9F9CAECD
IPrintSchemaElement|724C1646-E64B-4BBF-8EB4-D45E4FD580DA
IPrintSchemaDisplayableElement|AF45AF49-D6AA-407D-BF87-3912236E9D94
IPrintSchemaOption|66BB2F51-5844-4997-8D70-4B7CC221CF92
IPrintSchemaPageMediaSizeOption|68746729-F493-4830-A10F-69028774605D
IPrintSchemaNUpOption|1F6342F2-D848-42E3-8995-C10A9EF9A3BA
IPrintSchemaOptionCollection|BAECB0BD-A946-4771-BC30-E8B24F8D45C1
IPrintSchemaFeature|EF189461-5D62-4626-8E57-FF83583C4826
IPrintSchemaPageImageableSize|7C85BF5E-DC7C-4F61-839B-4107E1C9B68E
IPrintSchemaParameterDefinition|B5ADE81E-0E61-4FE1-81C6-C333E4FFE0F1
IPrintSchemaParameterInitializer|52027082-0B74-4648-9564-828CC6CB656C
IPrintSchemaCapabilities|5A577640-501D-4927-BCD0-5EF57A7ED175
IPrintSchemaCapabilities2|B58845F4-9970-4D87-A636-169FB82ED642
IPrintSchemaAsyncOperation|143C8DCB-D37F-47F7-88E8-6B1D21F2C5F7
IPrintSchemaTicket|E480B861-4708-4E6D-A5B4-A2B4EEB9BAA4
IPrintSchemaTicket2|2EC1F844-766A-47A1-91F4-2EEB6190F80C
IPrintSchemaAsyncOperationEvent|23ADBB16-0133-4906-B29A-1DCE1D026379
IPrinterScriptableSequentialStream|2072838A-316F-467A-A949-27F68C44A854
IPrinterScriptableStream|7EDF9A92-4750-41A5-A17F-879A6F4F7DCB
IPrinterPropertyBag|FEA77364-DF95-4A23-A905-019B79A8E481
IPrinterScriptablePropertyBag|91C7765F-ED57-49AD-8B01-DC24816A5294
IPrinterScriptablePropertyBag2|2A1C53C4-8638-4B3E-B518-2773C94556A3
IPrinterQueue|3580A828-07FE-4B94-AC1A-757D9D2D3056
IPrintJob|B771DAB8-1282-41B7-858C-F206E4D20577
IPrintJobCollection|72B82A24-A598-4E87-895F-CDB23A49E9DC
IPrinterQueueViewEvent|C5B6042B-FD21-404A-A0EF-E2FBB52B9080
IPrinterQueueView|476E2969-3B2B-4B3F-8277-CFF6056042AA
IPrinterQueueEvent|214685F6-7B78-4681-87E0-495F739273D1
IPrinterBidiSetRequestCallback|C52D32DD-F2B4-4052-8502-EC4305ECB71F
IPrinterExtensionAsyncOperation|108D6A23-6A4B-4552-9448-68B427186ACD
IPrinterQueue2|8CD444E8-C9BB-49B3-8E38-E03209416131
IPrinterExtensionContext|39843BF2-C4D2-41FD-B4B2-AEDBEE5E1900
IPrinterExtensionRequest|39843BF3-C4D2-41FD-B4B2-AEDBEE5E1900
IPrinterExtensionEventArgs|39843BF4-C4D2-41FD-B4B2-AEDBEE5E1900
IPrinterExtensionContextCollection|FB476970-9BAB-4861-811E-3E98B0C5ADDF
IPrinterExtensionEvent|C093CB63-5EF5-4585-AF8E-4D5637487B57
IPrinterExtensionManager|93C6EB8C-B001-4355-9629-8E8A1B3F8E77
IPrinterScriptContext|066ACBCA-8881-49C9-BB98-FAE16B4889E1
IPrintManagerInterop|C5435A42-8D43-4E7B-A68A-EF311E392087
IPrintPreviewDxgiPackageTarget|1A6DD0AD-1E2A-4E99-A5BA-91F17818290E
IProofOfPossessionCookieInfoManager|CDAECE56-4EDF-43DF-B113-88E4556FA1BB
IProofOfPossessionCookieInfoManager2|15E41407-B42F-4AE7-9966-34A087B2D713
IRadialControllerInterop|1B0535C9-57AD-45C1-9D79-AD5C34360513
IRadialControllerConfigurationInterop|787CDAAC-3186-476D-87E4-B9374A7B9970
IRadialControllerIndependentInputSourceInterop|3D577EFF-4CEE-11E6-B535-001BDC06AB3B
IMediaRadioManager|6CFDCAB5-FC47-42A5-9241-074B58830E73
IRadioInstanceCollection|E5791FAE-5665-4E0C-95BE-5FDE31644185
IRadioInstance|70AA1C9E-F2B4-4C61-86D3-6B9FB75FD1A2
IMediaRadioManagerNotifySink|89D81F5F-C147-49ED-A11C-77B20C31E7C9
IRDPSRAPIPerfCounterLogger|071C2533-0FA4-4E8F-AE83-9C10B4305AB5
IRDPSRAPIPerfCounterLoggingManager|9A512C86-AC6E-4A8E-B1A4-FCEF363F6E64
IRDPSRAPIAudioStream|E3E30EF9-89C6-4541-BA3B-19336AC6D31C
IRDPSRAPIClipboardUseEvents|D559F59A-7A27-4138-8763-247CE5F659A8
IRDPViewerRenderingSurface|56BFCE32-83E9-414D-82E8-F31D01C62CB5
IRDPViewerInputSink|BB590853-A6C5-4A7B-8DD4-76B69EEA12D5
IRDPSRAPIFrameBuffer|3D67E7D2-B27B-448E-81B3-C6110ED8B4BE
IRDPSRAPITransportStreamBuffer|81C80290-5085-44B0-B460-F865C39CB4A9
IRDPSRAPITransportStreamEvents|EA81C254-F5AF-4E40-982E-3E63BB595276
IRDPSRAPITransportStream|36CFA065-43BB-4EF7-AED7-9B88A5053036
IRDPSRAPISharingSession2|FEE4EE57-E3E8-4205-8FB0-8FD1D0675C21
ITraceEvent|8CC97F40-9028-4FF3-9B62-7D1F79CA7BCB
ITraceEventCallback|3ED25501-593F-43E9-8F38-3AB46F5A4A52
ITraceRelogger|F754AD43-3BCC-4286-8009-9C5DA214E84E
IRemoteSystemAdditionalInfoProvider|EEAA3D5F-EC63-4D27-AF38-E86B1D7292CB
IRestrictedErrorInfo|82BA7092-4C88-427D-A7BC-16DD93FEB67E
ILanguageExceptionErrorInfo|04A2DBF3-DF83-116C-0946-0812ABF6E07D
ILanguageExceptionTransform|FEB5A271-A6CD-45CE-880A-696706BADC65
ILanguageExceptionStackBackTrace|CBE53FB5-F967-4258-8D34-42F5E25833DE
ILanguageExceptionErrorInfo2|5746E5C4-5B97-424C-B620-2822915734DD
IEAPProviderConfig2|D565917A-85C4-4466-856E-671C3742EA9A
IEAPProviderConfig3|B78ECD12-68BB-4F86-9BF0-8438DD3BE982
ISpDisplayAlternates|C8D7C7E2-0DDE-44B7-AFE3-B0C991FBEB5E
ITsSbServiceNotification|86CB68AE-86E0-4F57-8A64-BB7406BC5550
ITsSbResourceNotificationEx|A8A47FDE-CA91-44D2-B897-3AA28A43B2B7
ITsSbTaskInfo|523D1083-89BE-48DD-99EA-04E82FFA7265
ITsSbTaskPlugin|FA22EF0F-8705-41BE-93BC-44BDBCF1C9C4
ITsSbTaskPluginNotifySink|6AAF899E-C2EC-45EE-AA37-45E60895261A
ITsSbFilterPluginStore|85B44B0F-ED78-413F-9702-FA6D3B5EE755
ITsSbProvisioningPluginNotifySink|ACA87A8E-818B-4581-A032-49C3DFB9C701
ITsSbProvisioning|2F6F0DBB-9E4F-462B-9C3F-FCCC3DCB6232
ITsSbGenericNotifySink|4C4C8C4F-300B-46AD-9164-8468A7E7568C
ISearchManager2|DBAB3F73-DB19-4A79-BFC0-A61A93886DDF
ILocationPermissions|D5FB0A7F-E74E-44F5-8E02-4806863A274F
ISensorDriver|D262B6BA-87CC-495D-B639-939EF853BD3B
ISensorClassExtension|A31253BA-6F73-4BC9-ABAA-26C8833C58FF
IShellDispatch6|286E6F1B-7113-4355-9562-96B7E9D64C54
IWebWizardHost2|F9C013DC-3C23-4041-8E39-CFB402F7EA59
IDataObjectAsyncCapability|3D8B0590-F691-11D2-8EA9-006097DF5BD4
IAccessibilityDockingServiceCallback|157733FD-A592-42E5-B594-248468C5A81B
IAccessibilityDockingService|8849DC22-CEDF-4C95-998D-051419DD3F76
IBannerNotificationHandler|8D7B2BA7-DB05-46A8-823C-D2B6DE08EE91
IStorageProviderBanners|5EFB46D7-47C0-4B68-ACDA-DED47C90EC91
IFileSyncMergeHandler|D97B5AAC-C792-433C-975D-35C4EADC7A9D
INetworkFolderInternal|CEB38218-C971-47BB-A703-F0BC99CCDB81
IFileOperation2|CD8F23C1-8F61-4916-909D-55BDD0918753
ICreateProcessInputs|F6EF6140-E26F-4D82-BAC4-E9BA5FD239A8
ICreatingProcess|C2B937A9-3110-4398-8A56-F34C6342D244
ILaunchUIContext|1791E8F6-21C7-4340-882A-A6A93E3FD73B
ILaunchUIContextProvider|0D12C4C8-A3D9-4E24-94C1-0E20C5A956C4
IDesktopWallpaper|B92B56A9-8B55-4E14-9A89-0199BBB6F93B
IDefaultFolderMenuInitialize|7690AA79-F8FC-4615-A327-36F7D18F5D91
IApplicationActivationManager|2E941141-7F97-4756-BA1D-9DECDE894A3D
IVirtualDesktopManager|A5CD92FF-29BE-454C-8D04-D82879FB3F1B
IDataObjectProvider|3D25F6D6-4B2A-433C-9184-7C33AD35D001
IDataTransferManagerInterop|3A3DCD6C-3EAB-43DC-BCDE-45671CE800C8
IFrameworkInputPaneHandler|226C537B-1E76-4D9E-A760-33DB29922F18
IFrameworkInputPane|5752238B-24F0-495A-82F1-2FD593056796
IAppVisibilityEvents|6584CE6B-7D82-49C2-89C9-C6BC02BA8C38
IAppVisibility|2246EA2D-CAEA-4444-A3C4-6DE827E44313
IPackageExecutionStateChangeNotification|1BB12A62-2AD8-432B-8CCF-0C2C52AFCD5B
IPackageDebugSettings|F27C3930-8029-4AD1-94E3-3DBA417810C1
IPackageDebugSettings2|6E3194BB-AB82-4D22-93F5-FABDA40E7B16
ISuspensionDependencyManager|52B83A42-2543-416A-81D9-C0DE7969C8B3
IExecuteCommandApplicationHostEnvironment|18B21AA9-E184-4FF0-9F5E-F882D03771B3
IExecuteCommandHost|4B6832A2-5F04-4C9D-B89D-727A15D103E7
IApplicationDesignModeSettings|2A3DEE9A-E31D-46D6-8508-BCC597DB3557
IApplicationDesignModeSettings2|490514E1-675A-4D6E-A58D-E54901B4CA2F
ILaunchTargetMonitor|266FBC7E-490D-46ED-A96B-2274DB252003
ILaunchSourceViewSizePreference|E5AA01F7-1FB8-4830-8720-4E6734CBD5F3
ILaunchTargetViewSizePreference|2F0666C6-12F7-4360-B511-A394A0553725
ILaunchSourceAppUserModelId|989191AC-28FF-4CF0-9584-E0D078BC2396
IInitializeWithWindow|3E68D4BD-7135-4D10-8018-9FB6D9F33FA1
IHandlerInfo|997706EF-F880-453B-8118-39E1A2D2655A
IHandlerInfo2|31CCA04C-04D3-4EA9-90DE-97B15E87A532
IHandlerActivationHost|35094A87-8BB1-4237-96C6-C417EEBDB078
IAppActivationUIInfo|ABAD189D-9FA3-4278-B3CA-8CA448A88DCB
IContactManagerInterop|99EACBA7-E073-43B6-A896-55AFE48A0833
IShellIconOverlayIdentifier|0C6C4200-C589-11D0-999A-00C04FD655E1
IAudioFormatEnumerator|DCDAA858-895A-4A22-A5EB-67BDA506096D
ISpatialAudioObjectBase|CCE0B8F2-8D4D-4EFB-A8CF-3D6ECF1C30E0
ISpatialAudioObject|DDE28967-521B-46E5-8F00-BD6F2BC8AB1D
ISpatialAudioObjectRenderStreamBase|FEAAF403-C1D8-450D-AA05-E0CCEE7502A8
ISpatialAudioObjectRenderStream|BAB5F473-B423-477B-85F5-B5A332A04153
ISpatialAudioObjectRenderStreamNotify|DDDF83E6-68D7-4C70-883F-A1836AFB4A50
ISpatialAudioClient|BBF8E066-AAAA-49BE-9A4D-FD2A858EA27F
ISpatialAudioObjectForHrtf|D7436ADE-1978-4E14-ABA0-555BD8EB83B4
ISpatialAudioObjectRenderStreamForHrtf|E08DEEF9-5363-406E-9FDC-080EE247BBE0
ISpatialAudioMetadataItems|BCD7C78F-3098-4F22-B547-A2F25A381269
ISpatialAudioMetadataWriter|1B17CA01-2955-444D-A430-537DC589A844
ISpatialAudioMetadataReader|B78E86A2-31D9-4C32-94D2-7DF40FC7EBEC
ISpatialAudioMetadataCopier|D224B233-E251-4FD0-9CA2-D5ECF9A68404
ISpatialAudioMetadataItemsBuffer|42640A16-E1BD-42D9-9FF6-031AB71A2DBA
ISpatialAudioMetadataClient|777D4A3B-F6FF-4A26-85DC-68D7CDEDA1D4
ISpatialAudioObjectForMetadataCommands|0DF2C94B-F5F9-472D-AF6B-C46E0AC9CD05
ISpatialAudioObjectForMetadataItems|DDEA49FF-3BC0-4377-8AAD-9FBCFD808566
ISpatialAudioObjectRenderStreamForMetadata|BBC9C907-48D5-4A2E-A0C7-F7F0D67C1FB1
ISpatialInteractionManagerInterop|5C4EE536-6A98-4B86-A170-587013D6FD4B
ISpellingError|B7C82D61-FBE8-4B47-9B27-6C0D2E0DE0A3
IEnumSpellingError|803E3BD4-2828-4410-8290-418D1D73C762
IOptionDescription|432E5F85-35CF-4606-A801-6F70277E1D7A
ISpellCheckerChangedEventHandler|0B83A5B0-792F-4EAB-9799-ACF52C5ED08A
ISpellChecker|B6FD0B71-E2BC-4653-8D05-F197E412770B
ISpellChecker2|E7ED1C71-87F7-4378-A840-C9200DACEE47
ISpellCheckerFactory|8E018A9D-2415-4677-BF08-794EA61F94BB
IUserDictionariesRegistrar|AA176B85-0E12-4844-8E1A-EEF1DA77F586
ISpellCheckProvider|73E976E0-8ED4-4EB1-80D7-1BE0A16B0C38
IComprehensiveSpellCheckProvider|0C58F8DE-8E94-479E-9717-70C42C4AD2C3
ISpellCheckProviderFactory|9F671E11-77D6-4C92-AEFB-615215E3A4BE
IStorageProviderPropertyHandler|301DFBE5-524C-4B0F-8B2D-21C40B3A2988
IStorageProviderHandler|162C6FB5-44D3-435B-903D-E613FA093FB5
ISystemMediaTransportControlsInterop|DDB0472D-C911-4A1F-86D9-DC3D71A95F5A
IExecAction2|F2A82542-BDA5-4E6B-9143-E2BF4F8987B6
ITaskSettings3|0AD9D0D7-0C7F-4EBB-9A5F-D1C648DCA528
IMaintenanceSettings|A6024FA8-9652-4ADB-A6BF-5CFCD877A7BA
ITextStoreACP2|F86AD89F-5FE4-4B8D-BB9F-EF3797A84F1F
IThumbnailSettings|F4376F00-BEF5-4D45-80F3-1E023BBF1209
IThumbnailCachePrimer|0F03F8FE-2B26-46F0-965A-212AA8D66B76
IThumbnailStreamCache|90E11430-9569-41D8-AE75-6D4D2AE7CCA0
ITextRange2|C241F5E2-7206-11D8-A2C7-00A0D1D6C6B3
ITextSelection2|C241F5E1-7206-11D8-A2C7-00A0D1D6C6B3
ITextFont2|C241F5E3-7206-11D8-A2C7-00A0D1D6C6B3
ITextPara2|C241F5E4-7206-11D8-A2C7-00A0D1D6C6B3
ITextStoryRanges2|C241F5E5-7206-11D8-A2C7-00A0D1D6C6B3
ITextStory|C241F5F3-7206-11D8-A2C7-00A0D1D6C6B3
ITextStrings|C241F5E7-7206-11D8-A2C7-00A0D1D6C6B3
ITextRow|C241F5EF-7206-11D8-A2C7-00A0D1D6C6B3
ITextDisplays|C241F5F2-7206-11D8-A2C7-00A0D1D6C6B3
ITextDocument2Old|01C25500-4268-11D1-883A-3C8B00C10000
ITpmVirtualSmartCardManagerStatusCallback|1A1BB35F-ABB8-451C-A1AE-33D98F1BEF4A
ITpmVirtualSmartCardManager|112B1DFF-D9DC-41F7-869F-D67FEE7CB591
ITpmVirtualSmartCardManager2|FDF8A2B9-02DE-47F4-BC26-AA85AB5E5267
ITpmVirtualSmartCardManager3|3C745A97-F375-4150-BE17-5950F694C699
ISignalableNotifier|46305C32-09C6-45B2-B032-C12E467D7C7E
ITransportSettingsInternal|5123E076-29E3-4BFD-84FE-0192D411E3E8
INetworkTransportSettings|5E7ABB2C-F2C1-4A61-BD35-DEB7A08AB0F1
INotificationTransportSync|79EB1402-0AB8-49C0-9E14-A1AE4BA93058
ItsPubPlugin2|FA4CE418-AAD7-4EC6-BAD1-0A321BA465D5
IWTSPluginServiceProvider|D3E07363-087C-476C-86A7-DBB15F46DDB4
IWTSBitmapRenderer|5B7ACC97-F3C9-46F7-8C5B-FA685D3441B1
IWTSBitmapRendererCallback|D782928E-FE4E-4E77-AE90-9CD0B3E3B353
IWTSBitmapRenderService|EA326091-05FE-40C1-B49C-3D2EF4626A0E
IResourceManagerRejoinable|6F6DE620-B5DF-4F3E-9CFA-C8AEBD05172B
IUIAnimationManager2|D8B6F7D4-4109-4D3F-ACEE-879926968CB1
IUIAnimationVariable2|4914B304-96AB-44D9-9E77-D5109B7E7466
IUIAnimationTransition2|62FF9123-A85A-4E9B-A218-435A93E268FD
IUIAnimationManagerEventHandler2|F6E022BA-BFF3-42EC-9033-E073F33E83C3
IUIAnimationVariableChangeHandler2|63ACC8D2-6EAE-4BB0-B879-586DD8CFBE42
IUIAnimationVariableIntegerChangeHandler2|829B6CF1-4F3A-4412-AE09-B243EB4C6B58
IUIAnimationVariableCurveChangeHandler2|72895E91-0145-4C21-9192-5AAB40EDDF80
IUIAnimationStoryboardEventHandler2|BAC5F55A-BA7C-414C-B599-FBF850F553C6
IUIAnimationLoopIterationChangeHandler2|2D3B15A4-4762-47AB-A030-B23221DF3AE0
IUIAnimationPriorityComparison2|5B6D7A37-4621-467C-8B05-70131DE62DDB
IUIAnimationTransitionLibrary2|03CFAE53-9580-4EE3-B363-2ECE51B4AF6A
IUIAnimationPrimitiveInterpolation|BAB20D63-4361-45DA-A24F-AB8508846B5B
IUIAnimationInterpolator2|EA76AFF8-EA22-4A23-A0EF-A6A966703518
IUIAnimationTransitionFactory2|937D4916-C1A6-42D5-88D8-30344D6EFE31
IUIAnimationStoryboard2|AE289CD2-12D4-4945-9419-9E41BE034DF2
IUIAutomationTextEditTextChangedEventHandler|92FAA680-E704-4156-931A-E32D5BB38F3F
IUIAutomationChangesEventHandler|58EDCA55-2C3E-4980-B1B9-56C17F27A2A0
IUIAutomationNotificationEventHandler|C7CB2637-E6C2-4D0C-85DE-4948C02175C7
IUIAutomationObjectModelPattern|71C284B3-C14D-4D14-981E-19751B0D756D
IUIAutomationSelectionPattern2|0532BFAE-C011-4E32-A343-6D642D798555
IUIAutomationTextRange2|BB9B40E0-5E04-46BD-9BE0-4B601B9AFAD4
IUIAutomationTextRange3|6A315D69-5512-4C2E-85F0-53FCE6DD4BC2
IUIAutomationTextPattern2|506A921A-FCC9-409F-B23B-37EB74106872
IUIAutomationTextEditPattern|17E21576-996C-4870-99D9-BFF323380C06
IUIAutomationCustomNavigationPattern|01EA217A-1766-47ED-A6CC-ACF492854B1F
IUIAutomationActiveTextPositionChangedEventHandler|F97933B0-8DAE-4496-8997-5BA015FE0D82
IUIAutomationAnnotationPattern|9A175B21-339E-41B1-8E8B-623F6B681098
IUIAutomationStylesPattern|85B5F0A2-BD79-484A-AD2B-388C9838D5FB
IUIAutomationSpreadsheetPattern|7517A7C8-FAAE-4DE9-9F08-29B91E8595C1
IUIAutomationSpreadsheetItemPattern|7D4FB86C-8D34-40E1-8E83-62C15204E335
IUIAutomationTransformPattern2|6D74D017-6ECB-4381-B38B-3C17A48FF1C2
IUIAutomationTextChildPattern|6552B038-AE05-40C8-ABFD-AA08352AAB86
IUIAutomationDragPattern|1DC7B570-1F54-4BAD-BCDA-D36A722FB7BD
IUIAutomationDropTargetPattern|69A095F7-EEE4-430E-A46B-FB73B1AE39A5
IUIAutomationElement2|6749C683-F70D-4487-A698-5F79D55290D6
IUIAutomationElement3|8471DF34-AEE0-4A01-A7DE-7DB9AF12C296
IUIAutomationElement4|3B6E233C-52FB-4063-A4C9-77C075C2A06B
IUIAutomationElement5|98141C1D-0D0E-4175-BBE2-6BFF455842A7
IUIAutomationElement6|4780D450-8BCA-4977-AFA5-A4A517F555E3
IUIAutomationElement7|204E8572-CFC3-4C11-B0C8-7DA7420750B7
IUIAutomationElement8|8C60217D-5411-4CDE-BCC0-1CEDA223830C
IUIAutomationElement9|39325FAC-039D-440E-A3A3-5EB81A5CECC3
IUIAutomationEventHandlerGroup|C9EE12F2-C13B-4408-997C-639914377F4E
IUIAutomation2|34723AFF-0C9D-49D0-9896-7AB52DF8CD8A
IUIAutomation3|73D768DA-9B51-4B89-936E-C209290973E7
IUIAutomation4|1189C02A-05F8-4319-8E21-E817E3DB2860
IUIAutomation5|25F700C8-D816-4057-A9DC-3CBDEE77E256
IUIAutomation6|AAE072DA-29E3-413D-87A7-192DBF81ED10
IRawElementProviderSimple2|A0A839A9-8DA1-4A82-806A-8E0D44E79F56
IRawElementProviderSimple3|FCF5D820-D7EC-4613-BDF6-42A84CE7DAAF
IRawElementProviderWindowlessSite|0A2A93CC-BFAD-42AC-9B2E-0991FB0D3EA0
IAccessibleHostingElementProviders|33AC331B-943E-4020-B295-DB37784974A3
IRawElementProviderHostingAccessibles|24BE0B07-D37D-487A-98CF-A13ED465E9B3
ISelectionProvider2|14F68475-EE1C-44F6-A869-D239381F0FE7
IObjectModelProvider|3AD86EBD-F5EF-483D-BB18-B1042A475D64
IAnnotationProvider|F95C7E80-BD63-4601-9782-445EBFF011FC
IStylesProvider|19B6B649-F5D7-4A6D-BDCB-129252BE588A
ISpreadsheetProvider|6F6B5D35-5525-4F80-B758-85473832FFC7
ISpreadsheetItemProvider|EAED4660-7B3D-4879-A2E6-365CE603F3D0
ITransformProvider2|4758742F-7AC2-460C-BC48-09FC09308A93
IDragProvider|6AA7BBBB-7FF9-497D-904F-D20B897929D8
IDropTargetProvider|BAE82BFD-358A-481C-85A0-D8B4D90A5D61
ITextProvider2|0DC5E6ED-3E16-4BF1-8F9A-A979878BC195
ITextEditProvider|EA3605B4-3A05-400E-B5F9-4E91B40F6176
ITextRangeProvider2|9BBCE42C-1921-4F18-89CA-DBA1910A0386
ITextChildProvider|4C2DE2B9-C88F-4F88-A111-F1D336B7D1A9
ICustomNavigationProvider|2062A28A-8C07-4B94-8E12-7037C622AEB8
IUIEventLogger|EC3E1034-DBF4-41A1-95D5-03E0F1026E05
IUIEventingManager|3BE6EA7F-9A9B-4198-9368-9B0F923BD534
IUIViewSettingsInterop|3694DBF9-8F68-44BE-8FF5-195C98EDE8A6
IClassicApplicationViewFactory|ECC62F5D-14AA-4971-9F06-B2159B1FFD40
IClassicApplicationView|7A05F995-6242-440E-A64E-34B7ED3413D3
IUPnPAsyncResult|4D65FD08-D13E-4274-9C8B-DD8D028C8644
IUPnPServiceAsync|098BDAF5-5EC1-49E7-A260-B3A11DD8680C
IUPnPServiceEnumProperty|38873B37-91BB-49F4-B249-2E8EFBB8A816
IUPnPServiceDocumentAccess|21905529-0A5E-4589-825D-7E6D87EA6998
IUPnPDeviceControlHttpHeaders|204810BB-73B2-11D4-BF42-00B0D0118B56
IWinInetHttpTimeouts|F286FA56-C1FD-4270-8E67-B3EB790A81E8
IZoneIdentifier2|EB5E760C-09EF-45C0-B510-70830CE31E6A
IGetBindHandle|AF0FF408-129D-4B20-91F0-02BD23D88352
IBindCallbackRedirect|11C81BC2-121E-4ED5-B9C4-B430BD54F2C0
IBindHttpSecurity|A9EDA967-F50E-4A33-B358-206F6EF3086D
IUserActivityInterop|1ADE314D-0E0A-40D9-824C-9A088A50059F
IUserActivitySourceHostInterop|C15DF8BC-8844-487A-B85B-7578E0F61419
IUserActivityRequestManagerInterop|DD69F876-9699-4715-9095-E37EA30DFA1B
IUserConsentVerifierInterop|39E050C3-4E74-441A-8DC0-B81104DF949C
IVdsAdvancedDisk3|3858C0D5-0F35-4BF5-9714-69874963BC36
IVdsServiceSw|15FC031C-0652-4306-B2C3-F558B8F837E2
IVssFileShareSnapshotProvider|C8636060-7C2E-11DF-8C4A-0800200C9A66
IWaaSAssessor|2347BBEF-1A3B-45A4-902D-3E09C269B45E
IWbemObjectSinkEx|E7D35CFA-348B-485E-B524-252725D697CA
IWdsTransportServer2|256E999F-6DF4-4538-81B9-857B9AB8FB47
IWdsTransportSetupManager2|02BE79DA-7E9E-4366-8B6E-2AA9A91BE47F
IWdsTransportTftpManager|1327A7C8-AE8A-4FB3-8150-136227C37E9A
IWdsTransportServicePolicy2|65C19E5C-AA7E-4B91-8944-91E0E5572797
IWdsTransportTftpClient|B022D3AE-884D-4D85-B146-53320E76EF62
IWdsTransportContentProvider|B9489F24-F219-4ACF-AAD7-265C7C08A6AE
IWebAuthenticationCoreManagerInterop|F4B8E804-811E-4436-B69C-44CB67B72084
IWiaMiniDrv|D8CDEE14-3C6C-11D2-9A35-00C04FA36145
IWiaMiniDrvCallBack|33A57D5A-3DE8-11D2-9A36-00C04FA36145
IWiaMiniDrvTransferCallback|A9D2EE89-2CE5-4FF0-8ADB-C961D1D774CA
IWiaDrvItem|1F02B5C5-B00C-11D2-A094-00C04F72DC3C
IWICPlanarFormatConverter|BEBEE9CB-83B0-4DCC-8132-B0AAA55EAC96
IWICPlanarBitmapFrameEncode|F928B7B8-2221-40C1-B72E-7E82F1974D1A
IWICImageEncoder|04C75BF8-3CE1-473B-ACC5-3CC4F5E94999
IWICPlanarBitmapSourceTransform|3AFF9CCE-BE95-4303-B927-E7D16FF4A613
IWICImagingFactory2|7B816B45-1996-4476-B132-DE9E247C8AF0
IWICDdsDecoder|409CD537-8532-40CB-9774-E2FEB2DF4E9C
IWICDdsEncoder|5CACDB4C-407E-41B3-B936-D0F010CD6732
IWICDdsFrameDecode|3D4C0C61-18A4-41E4-BD80-481A4FC9F464
IWICJpegFrameDecode|8939F66E-C46A-4C21-A9D1-98B327CE1679
IWICJpegFrameEncode|2F0C601F-D2C6-468C-ABFA-49495D983ED1
ITensorNative|52F547EF-5B03-49B5-82D6-565F1EE0DD49
ITensorStaticsNative|39D055A4-66F6-4EBC-95D9-7A29EBE7690A
ILearningModelDeviceFactoryNative|1E9B31A1-662E-4AE0-AF67-F63BB337E634
IPdfRendererNative|7D9DCD91-D277-4947-8527-07A0DAEDA94A
IWindowsDevicesAllJoynBusAttachmentInterop|FD89C65B-B50E-4A19-9D0C-B42B783281CD
IWindowsDevicesAllJoynBusAttachmentFactoryInterop|4B8F7505-B239-4E7B-88AF-F6682575D861
IWindowsDevicesAllJoynBusObjectInterop|D78AA3D5-5054-428F-99F2-EC3A5DE3C3BC
IWindowsDevicesAllJoynBusObjectFactoryInterop|6174E506-8B95-4E36-95C0-B88FED34938C
IDisplayDeviceInterop|64338358-366A-471B-BD56-DD8EF48E439B
IDisplayPathInterop|A6BA4205-E59E-4E71-B25B-4E436D21EE3D
ISoftwareBitmapNative|94BC8415-04EA-4B2E-AF13-4DE95AA898EB
ISoftwareBitmapNativeFactory|C3C181EC-2914-4791-AF02-02D224A10B43
IPrintWorkflowXpsReceiver|04097374-77B8-47F6-8167-AAE29D4CF84B
IPrintWorkflowObjectModelSourceFileContentNative|68C9E477-993E-4052-8AC6-454EFF58DB9D
IPrintWorkflowXpsObjectModelTargetPackageNative|7D96BC74-9B54-4CA1-AD3A-979C3D44DDAC
IPrintWorkflowConfigurationNative|C056BE0A-9EE2-450A-9823-964F0006F2BB
IAudioFrameNative|20BE1E2E-930F-4746-9335-3C332F255093
IVideoFrameNative|26BA702B-314A-4620-AAF6-7A51AA58FA18
IAudioFrameNativeFactory|7BD67CF8-BF7D-43E6-AF8D-B170EE0C0110
IVideoFrameNativeFactory|69E3693E-8E1E-4E63-AC4C-7FDC21D9731D
IDesktopWindowXamlSourceNative|3CBCF1BF-2F76-4E9C-96AB-E84B37972554
IDesktopWindowXamlSourceNative2|E3DCD8C7-3057-4692-99C3-7B7720AFDA31
IReferenceTrackerTarget|64BD43F8-BFEE-4EC4-B7EB-2935158DAE21
IReferenceTracker|11D3B13A-180E-4789-A8BE-7712882893E6
IReferenceTrackerManager|3CF184B4-7CCB-4DDA-8455-7E6CE99A3298
IFindReferenceTargetsCallback|04B3486C-4687-4229-8D14-505AB584DD88
IReferenceTrackerHost|29A71C6A-3C42-4416-A39D-E2825A07A773
IReferenceTrackerExtension|4E897CAA-59D5-4613-8F8C-F7EBD1F399B0
ITrackerOwner|EB24C20B-9816-4AC7-8CFF-36F67A118F4E
ISurfaceImageSourceNative|F2E9EDC1-D307-4525-9886-0FAFAA44163C
IVirtualSurfaceUpdatesCallbackNative|DBF2E947-8E6C-4254-9EEE-7738F71386C9
IVirtualSurfaceImageSourceNative|E9550983-360B-4F53-B391-AFD695078691
ISwapChainBackgroundPanelNative|43BEBD4E-ADD5-4035-8F85-5608D08E9DC9
ISurfaceImageSourceManagerNative|4C8798B7-1D88-4A0F-B59B-B93F600DE8C8
ISurfaceImageSourceNativeWithD2D|54298223-41E1-4A41-9C08-02E8256864A1
ISwapChainPanelNative|F92F19D2-3ADE-45A6-A20C-F6F1EA90554B
ISwapChainPanelNative2|D5A2F60C-37B2-44A2-937B-8D8EB9726821
ISideShowDriver|2082260D-0E28-4C57-B5C2-67FA091DAA91
ISideShowClassExtension|27E78451-41C1-47FD-A50D-4D3E97D35B30
ISideShowClassExtension2|1A6C8124-03E3-4A9A-AFD3-CEDD39E426B5
IRandomAccessStreamFileAccessMode|332E5848-2E15-458E-85C4-C911C0C3D6F4
IUnbufferedFileHandleOplockCallback|D1019A0E-6243-4329-8497-2E75894D7710
IUnbufferedFileHandleProvider|A65C9109-42AB-4B94-A7B1-DD2E4E68515E
IOplockBreakingHandler|826ABE3D-3ACD-47D3-84F2-88AAEDCF6304
IStorageItemHandleAccess|5CA296B2-2C25-4D22-B785-B885C8201E6A
IStorageFolderHandleAccess|DF19938F-5462-48A0-BE65-D2A3271A08D6
IDDEInitializer|30DC931F-33FC-4FFD-A168-942258CF3CA4
IWinMLModel|E2EEB6A9-F31F-4055-A521-E30B5B33664A
IWinMLEvaluationContext|95848F9E-583D-4054-AF12-916387CD8426
IWinMLRuntime|A0425329-40AE-48D9-BCE3-829EF7B8A41A
IWinMLRuntimeFactory|A807B84D-4AE5-4BC0-A76A-941AA246BD41
IConstraintConflict|00D2302E-1CF8-4835-B85F-B7CA4F799E0A
ISyncConstraintCallback|8AF3843E-75B3-438C-BB51-6F020D70D3CB
ISyncFilter|087A3F15-0FCB-44C1-9639-53C14E2B5506
ISyncFilterDeserializer|B45B7A72-E5C7-46BE-9C82-77B8B15DAB8A
ICustomFilterInfo|1D335DFF-6F88-4E4D-91A8-A3F351CFD473
ICombinedFilterInfo|11F9DE71-2818-4779-B2AC-42D450565F45
IFilterTrackingSyncChangeBuilder|295024A0-70DA-4C58-883C-CE2AFB308D0B
ISyncChangeBatch2|225F4A33-F5EE-4CC7-B039-67A262B4B2AC
ISyncFullEnumerationChangeBatch2|E06449F4-A205-4B65-9724-01B22101EEC1
ISyncMergeTombstoneChange|6EC62597-0903-484C-AD61-36D6E938F47B
IEnumItemIds|43AA3F61-4B2E-4B60-83DF-B110D3E148F1
IFilterKeyMap|CA169652-07C6-4708-A3DA-6E4EBA8D2297
ISyncChangeWithFilterKeyMap|BFE1EF00-E87D-42FD-A4E9-242D70414AEF
ISyncChangeBatchWithFilterKeyMap|DE247002-566D-459A-A6ED-A5AAB3459FB7
IFilterTrackingRequestCallback|713CA7BB-C858-4674-B4B6-1122436587A9
IFilterTrackingProvider|743383C0-FC4E-45BA-AD81-D9D84C7A24F8
ISyncDataConverter|435D4861-68D5-44AA-A0F9-72A0B00EF9CF
IWorkspaceBrokerAx|2F93474C-2ED7-4A68-AFD1-D3C9781F341E
IWorkspaceBrokerAx2|57D42F01-D762-4680-9893-326B08F22652
_IWorkspaceBrokerAxEvents|7A3D0ADC-0CC4-473D-B327-D37886308F28
IWorkspace|B922BBB8-4C55-4FEA-8496-BEB0B44285E5
IWorkspace2|96D8D7CF-783E-4286-834C-EBC0E95F783C
IWorkspace3|1BECBE4A-D654-423B-AFEB-BE8D532C13C6
IWorkspaceRegistration|B922BBB8-4C55-4FEA-8496-BEB0B44285E6
IWorkspaceRegistration2|CF59F654-39BB-44D8-94D0-4635728957E9
IWorkspaceScriptable|EFEA49A2-DDA5-429D-8F42-B23B92C4C347
IWorkspaceScriptable2|EFEA49A2-DDA5-429D-8F42-B33BA2C4C348
IWorkspaceScriptable3|531E6512-2CBF-4BD2-80A5-D90A71636A9A
IWorkspaceReportMessage|A7C06739-500F-4E8C-99A8-2BD6955899EB
_ITSWkspEvents|B922BBB8-4C55-4FEA-8496-BEB0B44285E9
IWRdsGraphicsChannelEvents|67F2368C-D674-4FAE-66A5-D20628A640D2
IWRdsGraphicsChannel|684B7A0B-EDFF-43AD-D5A2-4A8D5388F401
IWRdsGraphicsChannelManager|0FD57159-E83E-476A-A8B9-4A7976E71E18
IWSDHttpAuthParameters|0B476DF0-8DAC-480D-B05C-99781A5884AA
IWRdsRemoteFXGraphicsConnection|0FAD5DCF-C6D3-423C-B097-163D6A676151
IWRdsProtocolSettings|654A5A6A-2550-47EB-B6F7-EBD637475265
IWRdsProtocolManager|DC796967-3ABB-40CD-A446-105276B58950
IWRdsProtocolListener|FCBC131B-C686-451D-A773-E279E230F540
IWRdsProtocolListenerCallback|3AB27E5B-4449-4DC1-B74A-91621D4FE984
IWRdsProtocolConnection|324ED94F-FDAF-4FF6-81A8-42ABE755830B
IWRdsProtocolConnectionCallback|F1D70332-D070-4EF1-A088-78313536C2D6
IWRdsProtocolShadowConnection|9AE85CE6-CADE-4548-8FEB-99016597F60A
IWRdsProtocolShadowCallback|E0667CE0-0372-40D6-ADB2-A0F3322674D6
IWRdsProtocolLicenseConnection|1D6A145F-D095-4424-957A-407FAE822D84
IWRdsProtocolLogonErrorRedirector|519FE83B-142A-4120-A3D5-A405D315281A
IWRdsWddmIddProps|1382DF4D-A289-43D1-A184-144726F9AF90
IUpdateInstaller3|16D11C35-099A-48D0-8338-5FAE64047F8E
IUpdateInstaller4|EF8208EA-2304-492D-9109-23813B0958E1
IVisualTreeServiceCallback|AA7A8931-80E4-4FEC-8F3B-553F87B4966E
IVisualTreeServiceCallback2|BAD9EB88-AE77-4397-B948-5FA2DB0A19EA
IVisualTreeService|A593B11A-D17F-48BB-8F66-83910731C8A5
IXamlDiagnostics|18C9E2B6-3F43-4116-9F2B-FF935D7770D2
IBitmapData|D1A34EF2-CAD8-4635-A3D2-FCDA8D3F3CAF
IVisualTreeService2|130F5136-EC43-4F61-89C7-9801A36D2E95
IVisualTreeService3|0E79C6E0-85A0-4BE8-B41A-655CF1FD19BD
IXblIdpAuthManager|EB5DDB08-8BBF-449B-AC21-B02DDEB3B136
IXblIdpAuthTokenResult|46CE0225-F267-4D68-B299-B2762552DEC1
IXmlWriterLite|862494C6-1310-4AAD-B3CD-2DBEEBF670D3
IXpsOMPackageTarget|219A9DB0-4959-47D0-8034-B1CE84F41A4D
IXpsOMObjectFactory1|0A91B617-D612-4181-BF7C-BE5824E9CC8F
IXpsOMPackage1|95A9435E-12BB-461B-8E7F-C6ADB04CD96A
IXpsOMPage1|305B60EF-6892-4DDA-9CBB-3AA65974508A
IXpsDocumentPackageTarget|3B0B6D38-53AD-41DA-B212-D37637A6714E
IXpsOMRemoteDictionaryResource1|BF8FC1D4-9D46-4141-BA5F-94BB9250D041
IXpsOMPackageWriter3D|E8A45033-640E-43FA-9BDF-FDDEAA31C6A0
IXpsDocumentPackageTarget3D|60BA71B8-3101-4984-9199-F4EA775FF01D
IXpsRasterizerNotificationCallback|9AB8FD0D-CB94-49C2-9CB0-97EC1D5469D2
IXpsRasterizer|7567CFC8-C156-47A8-9DAC-11A2AE5BDD6B
IXpsRasterizationFactory|E094808A-24C6-482B-A3A7-C21AC9B55F17
IXpsRasterizationFactory1|2D6E5F77-6414-4A1E-A8E0-D4194CE6A26F
IXpsRasterizationFactory2|9C16CE3E-10F5-41FD-9DDC-6826669C2FF6
IActivationFactory|00000035-0000-0000-C000-000000000046
IAsyncInfo|00000036-0000-0000-C000-000000000046
ICoreWindowInterop|45D64A29-A63E-4CB6-B498-5781D298CB4F
ICoreInputInterop|40BFE3E3-B75A-4479-AC96-475365749BB8
ICoreWindowComponentInterop|0576AB31-A310-4C40-BA31-FD37E0298DFA
IPrintPreviewPageCollection|0B31CC62-D7EC-4747-9D6E-F2537D870F2B
IPrintDocumentPageSource|A96BB1DB-172E-4667-82B5-AD97A252318F
IInspectable|AF86E2E0-B12D-4C6A-9C5A-D7AA65101E90
IRemoteDesktopClientSettings|48A0F2A7-2713-431F-BBAC-6F4558E7D64D
IRemoteDesktopClientActions|7D54BC4E-1028-45D4-8B0A-B9B6BFFBA176
IRemoteDesktopClientTouchPointer|260EC22D-8CBC-44B5-9E88-2A37F6C93AE9
IRemoteDesktopClient|57D25668-625A-4905-BE4E-304CAA13F89C
IMetaDataDispenser|809C652E-7396-11D2-9771-00A0C9B4D50C
IMetaDataDispenserEx|31BCFCE2-DAFB-11D2-9F81-00C04F79A0A3
IMetaDataAssemblyImport|EE62470B-E94B-424E-9B7C-2F00C9249F93
IMetaDataImport|7DAC8207-D3AE-4C75-9B67-92801A497D44
IMetaDataImport2|FCE5EFA0-8BBA-4F8E-A036-8F2022B08466
IMetaDataTables|D8F579AB-402D-4B8E-82D9-5D63B1065C68
IMetaDataTables2|BADB5F70-58DA-43A9-A1C6-D74819F19B15
IWeakReference|00000037-0000-0000-C000-000000000046
IWeakReferenceSource|00000038-0000-0000-C000-000000000046
IWebApplicationScriptEvents|7C3F6998-1567-4BBA-B52B-48D32141D613
IWebApplicationNavigationEvents|C22615D2-D318-4DA2-8422-1FCAF77B10E4
IWebApplicationUIEvents|5B2B3F99-328C-41D5-A6F7-7483ED8E71DD
IWebApplicationUpdateEvents|3E59E6B7-C652-4DAF-AD5E-16FEB350CDE3
IWebApplicationHost|CECBD2C3-A3A5-4749-9681-20E9161C6794
IWebApplicationActivation|BCDCD0DE-330E-481B-B843-4898A6A8EBAC
IWebApplicationAuthoringMode|720AEA93-1964-4DB0-B005-29EB9E2B18A9
@@ -1,5 +1,8 @@
import sys
import ctypes
from flag import Flag
from .flag import Flag
is_py3 = (sys.version_info.major >= 3)
class NtStatusException(WindowsError):
ALL_STATUS = {}
@@ -11,8 +14,12 @@ class NtStatusException(WindowsError):
self.code = x[0]
self.name = x[1]
self.descr = x[2]
x = ctypes.c_long(x[0]).value, x[1], x[2]
return super(NtStatusException, self).__init__(*x)
code_as_long = ctypes.c_long(x[0]).value
if is_py3:
vals = code_as_long, x[1], x[2], code_as_long
else:
vals = code_as_long, x[1], x[2]
return super(NtStatusException, self).__init__(*vals)
def __str__(self):
return "{e.name}(0x{e.code:x}): {e.descr}".format(e=self)
+91 -1
View File
@@ -6,6 +6,9 @@ SIZE_T = c_size_t
PSIZE_T = POINTER(SIZE_T)
PVOID = c_void_p
NTSTATUS = DWORD
TDHSTATUS = ULONG
DNS_STATUS = ULONG
LSTATUS = LONG # Registry functions return value | typedef _Return_type_success_(return==ERROR_SUCCESS) LONG LSTATUS;
SECURITY_INFORMATION = DWORD
PSECURITY_INFORMATION = POINTER(SECURITY_INFORMATION)
PULONG = POINTER(ULONG)
@@ -17,7 +20,9 @@ LONG_PTR = PVOID
DWORD_PTR = ULONG_PTR
KAFFINITY = ULONG_PTR
KPRIORITY = LONG
CHAR = c_char
PCHAR = POINTER(CHAR)
UCHAR = c_char
CSHORT = c_short
VARTYPE = c_ushort
@@ -26,10 +31,14 @@ PBOOL = POINTER(BOOL)
LPBOOL = PBOOL
PSTR = LPSTR
PCSTR = LPSTR
va_list = c_char_p
LPCH = c_char_p
LPWCH = c_wchar
BSTR = c_wchar_p
OLECHAR = c_wchar
POLECHAR = c_wchar_p
PZZWSTR = c_wchar_p
PUCHAR = POINTER(UCHAR)
double = c_double
DATE = double
@@ -42,6 +51,8 @@ LONG64 = c_longlong
PLARGE_INTEGER = POINTER(LARGE_INTEGER)
DWORD64 = ULONG64
PDWORD64 = POINTER(DWORD64)
// https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dtyp/c575fb47-166c-48cd-a37c-e44cac05c3d6
DWORDLONG = ULONGLONG
SCODE = LONG
CIMTYPE = LONG
NET_IFINDEX = ULONG
@@ -65,7 +76,6 @@ DISPID = LONG
MEMBERID = DISPID
LRESULT = LONG_PTR
LPUNKNOWN = POINTER(PVOID)
LPFILETIME = POINTER(FILETIME)
LPPOINT = POINTER(POINT)
LPRECT = POINTER(RECT)
SPC_UUID = BYTE * 16
@@ -73,11 +83,25 @@ DEVICE_TYPE = DWORD
PWINDBG_EXTENSION_APIS32 = PVOID
PWINDBG_EXTENSION_APIS64 = PVOID
NCRYPT_HANDLE = ULONG_PTR
NCRYPT_PROV_HANDLE = ULONG_PTR
NCRYPT_KEY_HANDLE = ULONG_PTR
NCRYPT_HASH_HANDLE = ULONG_PTR
NCRYPT_SECRET_HANDLE = ULONG_PTR
TRACEHANDLE = ULONG64
PTRACEHANDLE = POINTER(TRACEHANDLE)
/* Symbols stuff */
/* https://docs.microsoft.com/en-us/windows/win32/api/dbghelp/nf-dbghelp-symsetcontext
PIMAGEHLP_CONTEXT Context -> This parameter is ignored. (NOT GIVEN..)
typedef VOID IMAGEHLP_CONTEXT, *PIMAGEHLP_CONTEXT;
*/
PIMAGEHLP_CONTEXT = PVOID
/* INT sized*/
@@ -91,6 +115,10 @@ UINT16 = USHORT
UINT32 = UINT
UINT64 = ULONGLONG
/* LONG sized (lol..) */
ULONG32 = UINT32
LONG32 = INT32
/* HANDLES */
PHANDLE = POINTER(HANDLE)
@@ -105,6 +133,16 @@ HBRUSH = HANDLE
HCRYPTPROV_OR_NCRYPT_KEY_HANDLE = PULONG
EVT_HANDLE = HANDLE
EVT_OBJECT_ARRAY_PROPERTY_HANDLE = HANDLE
LSA_HANDLE = HANDLE
PLSA_HANDLE = POINTER(LSA_HANDLE)
// Define type for setup disk space list
HDSKSPC = HANDLE
// Define type for reference to device information set
HDEVINFO = HANDLE
/* Network */
IP4_ADDRESS = DWORD // Make a extended struct ?
/* Security */
@@ -124,9 +162,42 @@ PSID_HASH_ENTRY = POINTER(SID_HASH_ENTRY)
PSID = PVOID
/* cfgmgr32 types */
// Return value
CONFIGRET = DWORD
DEVNODE = DWORD
DEVINST = DWORD
PDEVNODE = POINTER(DEVNODE)
PDEVINST = POINTER(DEVINST)
PRIORITY = ULONG
PPRIORITY = POINTER(PRIORITY)
RES_DES = DWORD_PTR
PRES_DES = POINTER(RES_DES)
HMACHINE = HANDLE
PHMACHINE = POINTER(HMACHINE)
LOG_CONF = DWORD_PTR
PLOG_CONF = POINTER(LOG_CONF)
RESOURCEID = ULONG
PRESOURCEID = POINTER(RESOURCEID)
DEVNODEID_A = PCSTR
DEVINSTID_A = PCSTR
DEVNODEID_W = LPWSTR
DEVINSTID_W = LPWSTR
/* COM STUFF */
RPCOLEDATAREP = ULONG
HREFTYPE = DWORD
SFGAOF = ULONG
/* Function PTR */
@@ -140,6 +211,25 @@ FARPROC = PVOID
PIO_APC_ROUTINE = PVOID
PVECTORED_EXCEPTION_HANDLER = PVOID
PFN_CRYPT_GET_SIGNER_CERTIFICATE = PVOID
PSYM_ENUMERATESYMBOLS_CALLBACK = PVOID
PSYM_ENUMERATESYMBOLS_CALLBACKW = PVOID
PEVENT_CALLBACK = PVOID
PEVENT_TRACE_BUFFER_CALLBACKA = PVOID
PEVENT_TRACE_BUFFER_CALLBACKW = PVOID
PEVENT_RECORD_CALLBACK = PVOID
PFN_CRYPT_ENUM_OID_FUNC = PVOID
PGET_MODULE_BASE_ROUTINE64 = PVOID # StackWalk
PGET_MODULE_BASE_ROUTINE = PVOID # StackWalk
PREAD_PROCESS_MEMORY_ROUTINE = PVOID # StackWalk
PREAD_PROCESS_MEMORY_ROUTINE64 = PVOID # StackWalk
PFUNCTION_TABLE_ACCESS_ROUTINE = PVOID # StackWalk
PFUNCTION_TABLE_ACCESS_ROUTINE64 = PVOID # StackWalk
PTRANSLATE_ADDRESS_ROUTINE = PVOID # StackWalk
PTRANSLATE_ADDRESS_ROUTINE64 = PVOID # StackWalk
PSYMBOL_REGISTERED_CALLBACK64 = PVOID # Symbols
PSYMBOL_REGISTERED_CALLBACK = PVOID # Symbols
PSYM_ENUMPROCESSES_CALLBACK = PVOID # Symbols
// Will be changed at import time
@@ -0,0 +1,14 @@
typedef enum {
FC_ZERO,FC_BYTE,FC_CHAR,FC_SMALL,FC_USMALL,FC_WCHAR,FC_SHORT,FC_USHORT,FC_LONG,FC_ULONG,FC_FLOAT,FC_HYPER,FC_DOUBLE,FC_ENUM16,FC_ENUM32,
FC_IGNORE,FC_ERROR_STATUS_T,FC_RP,FC_UP,FC_OP,FC_FP,FC_STRUCT,FC_PSTRUCT,FC_CSTRUCT,FC_CPSTRUCT,FC_CVSTRUCT,FC_BOGUS_STRUCT,FC_CARRAY,
FC_CVARRAY,FC_SMFARRAY,FC_LGFARRAY,FC_SMVARRAY,FC_LGVARRAY,FC_BOGUS_ARRAY,FC_C_CSTRING,FC_C_BSTRING,FC_C_SSTRING,FC_C_WSTRING,FC_CSTRING,
FC_BSTRING,FC_SSTRING,FC_WSTRING,FC_ENCAPSULATED_UNION,FC_NON_ENCAPSULATED_UNION,FC_BYTE_COUNT_POINTER,FC_TRANSMIT_AS,FC_REPRESENT_AS,FC_IP,
FC_BIND_CONTEXT,FC_BIND_GENERIC,FC_BIND_PRIMITIVE,FC_AUTO_HANDLE,FC_CALLBACK_HANDLE,FC_UNUSED1,FC_POINTER,FC_ALIGNM2,FC_ALIGNM4,FC_ALIGNM8,
FC_UNUSED2,FC_UNUSED3,FC_UNUSED4,FC_STRUCTPAD1,FC_STRUCTPAD2,FC_STRUCTPAD3,FC_STRUCTPAD4,FC_STRUCTPAD5,FC_STRUCTPAD6,FC_STRUCTPAD7,
FC_STRING_SIZED,FC_UNUSED5,FC_NO_REPEAT,FC_FIXED_REPEAT,FC_VARIABLE_REPEAT,FC_FIXED_OFFSET,FC_VARIABLE_OFFSET,FC_PP,FC_EMBEDDED_COMPLEX,
FC_IN_PARAM,FC_IN_PARAM_BASETYPE,FC_IN_PARAM_NO_FREE_INST,FC_IN_OUT_PARAM,FC_OUT_PARAM,FC_RETURN_PARAM,FC_RETURN_PARAM_BASETYPE,FC_DEREFERENCE,
FC_DIV_2,FC_MULT_2,FC_ADD_1,FC_SUB_1,FC_CALLBACK,FC_CONSTANT_IID,FC_END,FC_PAD,FC_SPLIT_DEREFERENCE = 0x74,FC_SPLIT_DIV_2,FC_SPLIT_MULT_2,
FC_SPLIT_ADD_1,FC_SPLIT_SUB_1,FC_SPLIT_CALLBACK,FC_HARD_STRUCT = 0xb1,FC_TRANSMIT_AS_PTR,FC_REPRESENT_AS_PTR,FC_USER_MARSHAL,FC_PIPE,
FC_BLKHOLE,FC_RANGE,FC_INT3264,FC_UINT3264,FC_END_OF_UNIVERSE
} NDR_FORMAT_CHARACTER;
@@ -274,3 +274,55 @@ typedef struct _RPC_IF_ID {
USHORT VersMajor;
USHORT VersMinor;
} RPC_IF_ID;
typedef struct _PORT_VIEW {
ULONG Length;
HANDLE SectionHandle;
ULONG SectionOffset;
ULONG ViewSize;
PVOID ViewBase;
PVOID TargetViewBase;
} PORT_VIEW, *PPORT_VIEW;
typedef struct _REMOTE_PORT_VIEW {
ULONG Length;
ULONG ViewSize;
PVOID ViewBase;
} REMOTE_PORT_VIEW, *PREMOTE_PORT_VIEW;
typedef struct tagCOMVERSION
{
USHORT MajorVersion;
USHORT MinorVersion;
} COMVERSION;
typedef struct tagORPCTHIS {
COMVERSION version;
ULONG flags;
ULONG reserved1;
GUID cid;
PVOID extensions; // [unique] ORPC_EXTENT_ARRAY *extensions;
} ORPCTHIS;
typedef struct __MIDL_XmitDefs_0001 {
GUID asyncOperationId;
ULONG64 oxidClientProcessNA;
GUID originalClientLogicalThreadId;
ULONG64 uClientCausalityTraceId;
} MIDL_XmitDefs_0001;
typedef struct _LOCALTHIS {
DWORD dwFlags;
DWORD dwClientThread;
GUID passthroughTraceActivity;
GUID callTraceActivity;
MIDL_XmitDefs_0001 asyncRequestBlock;
DWORD reserved;
PVOID pTouchedAstaArray; // Ptr32 __MIDL_XmitDefs_0002
} LOCALTHIS;
@@ -0,0 +1,39 @@
typedef enum __MIDL_IBackgroundCopyJob2_0002 {
BG_AUTH_SCHEME_BASIC,
BG_AUTH_SCHEME_DIGEST,
BG_AUTH_SCHEME_NTLM,
BG_AUTH_SCHEME_NEGOTIATE,
BG_AUTH_SCHEME_PASSPORT
} BG_AUTH_SCHEME;
typedef enum __MIDL_IBackgroundCopyJob2_0001 {
BG_AUTH_TARGET_SERVER,
BG_AUTH_TARGET_PROXY
} BG_AUTH_TARGET;
typedef struct __MIDL_IBackgroundCopyJob2_0003 {
LPWSTR UserName;
LPWSTR Password;
} BG_BASIC_CREDENTIALS;
typedef union __MIDL_IBackgroundCopyJob2_0004 {
BG_BASIC_CREDENTIALS Basic;
} BG_AUTH_CREDENTIALS_UNION;
typedef struct {
BG_AUTH_TARGET Target;
BG_AUTH_SCHEME Scheme;
BG_AUTH_CREDENTIALS_UNION Credentials;
} BG_AUTH_CREDENTIALS;
typedef struct _BG_JOB_REPLY_PROGRESS {
UINT64 BytesTotal;
UINT64 BytesTransferred;
} BG_JOB_REPLY_PROGRESS;
typedef struct _BG_FILE_RANGE {
UINT64 InitialOffset;
UINT64 Length;
} BG_FILE_RANGE;
@@ -0,0 +1,300 @@
/*
The IO_DES structure is used for specifying either a resource list or a resource requirements list that describes I/O port usage for a device instance.
Source : https://docs.microsoft.com/en-gb/windows/win32/api/cfgmgr32/ns-cfgmgr32-io_des
*/
typedef struct IO_Des_s {
DWORD IOD_Count;
DWORD IOD_Type;
DWORDLONG IOD_Alloc_Base;
DWORDLONG IOD_Alloc_End;
DWORD IOD_DesFlags;
} IO_DES, *PIO_DES;
/*
The IO_RANGE structure specifies a resource requirements list that describes I/O port usage for a device instance.
Source : https://docs.microsoft.com/en-gb/windows/win32/api/cfgmgr32/ns-cfgmgr32-io_range
*/
typedef struct IO_Range_s {
DWORDLONG IOR_Align;
DWORD IOR_nPorts;
DWORDLONG IOR_Min;
DWORDLONG IOR_Max;
DWORD IOR_RangeFlags;
DWORDLONG IOR_Alias;
} IO_RANGE, *PIO_RANGE;
/*
The MEM_DES structure is used for specifying either a resource list or a resource requirements list that describes memory usage for a device instance.
Source : https://docs.microsoft.com/en-gb/windows/win32/api/cfgmgr32/ns-cfgmgr32-mem_des
*/
typedef struct Mem_Des_s {
DWORD MD_Count;
DWORD MD_Type;
DWORDLONG MD_Alloc_Base;
DWORDLONG MD_Alloc_End;
DWORD MD_Flags;
DWORD MD_Reserved;
} MEM_DES, *PMEM_DES;
/*
The MEM_RANGE structure specifies a resource requirements list that describes memory usage for a device instance.
Source : https://docs.microsoft.com/en-gb/windows/win32/api/cfgmgr32/ns-cfgmgr32-mem_range
*/
typedef struct Mem_Range_s {
DWORDLONG MR_Align;
ULONG MR_nBytes;
DWORDLONG MR_Min;
DWORDLONG MR_Max;
DWORD MR_Flags;
DWORD MR_Reserved;
} MEM_RANGE, *PMEM_RANGE;
/*
The DMA_DES structure is used for specifying either a resource list or a resource requirements list that describes direct memory access (DMA) channel usage for a device instance.
Source : https://docs.microsoft.com/en-gb/windows/win32/api/cfgmgr32/ns-cfgmgr32-dma_des
*/
typedef struct DMA_Des_s {
DWORD DD_Count;
DWORD DD_Type;
DWORD DD_Flags;
ULONG DD_Alloc_Chan;
} DMA_DES, *PDMA_DES;
/*
The DMA_RANGE structure specifies a resource requirements list that describes DMA channel usage for a device instance
Source : https://docs.microsoft.com/en-gb/windows/win32/api/cfgmgr32/ns-cfgmgr32-dma_range
*/
typedef struct DMA_Range_s {
ULONG DR_Min;
ULONG DR_Max;
ULONG DR_Flags;
} DMA_RANGE, *PDMA_RANGE;
/*
The IRQ_DES structure is used for specifying either a resource list or a resource requirements list that describes IRQ line usage for a device instance.
Source : https://docs.microsoft.com/en-gb/windows/win32/api/cfgmgr32/ns-cfgmgr32-irq_des_64
The structure from the header looks like:
#if defined(NT_PROCESSOR_GROUPS)
USHORT IRQD_Flags;
USHORT IRQD_Group;
#else
DWORD IRQD_Flags;
#endif
Let's ignore IRQD_Group it and only have a flag for now.
*/
typedef struct IRQ_Des_64_s {
DWORD IRQD_Count;
DWORD IRQD_Type;
DWORD IRQD_Flags;
ULONG IRQD_Alloc_Num;
ULONG64 IRQD_Affinity;
} IRQ_DES_64, *PIRQ_DES_64;
/*
The IRQ_DES structure is used for specifying either a resource list or a resource requirements list that describes IRQ line usage for a device instance.
Source : https://docs.microsoft.com/en-gb/windows/win32/api/cfgmgr32/ns-cfgmgr32-irq_des_32
The structure from the header looks like:
#if defined(NT_PROCESSOR_GROUPS)
USHORT IRQD_Flags;
USHORT IRQD_Group;
#else
DWORD IRQD_Flags;
#endif
Let's ignore IRQD_Group it and only have a flag for now.
*/
typedef struct IRQ_Des_32_s {
DWORD IRQD_Count;
DWORD IRQD_Type;
DWORD IRQD_Flags;
ULONG IRQD_Alloc_Num;
ULONG32 IRQD_Affinity;
} IRQ_DES_32, *PIRQ_DES_32;
/*
The IRQ_RANGE structure specifies a resource requirements list that describes IRQ line usage for a device instance.
Source : https://docs.microsoft.com/en-gb/windows/win32/api/cfgmgr32/ns-cfgmgr32-irq_range
The definition from the header is:
typedef struct IRQ_Range_s {
ULONG IRQR_Min; // minimum IRQ in the range
ULONG IRQR_Max; // maximum IRQ in the range
#if defined(NT_PROCESSOR_GROUPS)
USHORT IRQR_Flags; // flags describing the range (fIRQD flags)
USHORT IRQR_Rsvdz; // Reserved, must be zero.
#else
ULONG IRQR_Flags; // flags describing the range (fIRQD flags)
#endif
} IRQ_RANGE, *PIRQ_RANGE;
Let's ignore IRQR_Rsvdz for now
*/
typedef struct IRQ_Range_s {
ULONG IRQR_Min; // minimum IRQ in the range
ULONG IRQR_Max; // maximum IRQ in the range
ULONG IRQR_Flags; // flags describing the range (fIRQD flags)
} IRQ_RANGE, *PIRQ_RANGE;
// Ressources
// BUSNUMBER_DES structure
typedef struct BusNumber_Des_s {
DWORD BUSD_Count; // number of BUSNUMBER_RANGE structs in BUSNUMBER_RESOURCE
DWORD BUSD_Type; // size (in bytes) of BUSNUMBER_RANGE (BusNumberType_Range)
DWORD BUSD_Flags; // flags describing the range (currently unused)
ULONG BUSD_Alloc_Base; // specifies the first Bus that was allocated
ULONG BUSD_Alloc_End; // specifies the last Bus number that was allocated
} BUSNUMBER_DES, *PBUSNUMBER_DES;
typedef struct BusNumber_Range_s {
ULONG BUSR_Min;
ULONG BUSR_Max;
ULONG BUSR_nBusNumbers;
ULONG BUSR_Flags;
} BUSNUMBER_RANGE, *PBUSNUMBER_RANGE;
typedef struct BusNumber_Resource_s {
BUSNUMBER_DES BusNumber_Header;
BUSNUMBER_RANGE BusNumber_Data[ANYSIZE_ARRAY];
} BUSNUMBER_RESOURCE, *PBUSNUMBER_RESOURCE;
typedef struct CS_Des_s {
DWORD CSD_SignatureLength;
DWORD CSD_LegacyDataOffset;
DWORD CSD_LegacyDataSize;
DWORD CSD_Flags;
GUID CSD_ClassGuid;
BYTE CSD_Signature[ANYSIZE_ARRAY];
} CS_DES, *PCS_DES;
typedef struct CS_Resource_s {
CS_DES CS_Header;
} CS_RESOURCE, *PCS_RESOURCE;
typedef struct DMA_Des_s {
DWORD DD_Count;
DWORD DD_Type;
DWORD DD_Flags;
ULONG DD_Alloc_Chan;
} DMA_DES, *PDMA_DES;
typedef struct DMA_Resource_s {
DMA_DES DMA_Header;
DMA_RANGE DMA_Data[ANYSIZE_ARRAY];
} DMA_RESOURCE, *PDMA_RESOURCE;
typedef struct IO_Des_s {
DWORD IOD_Count;
DWORD IOD_Type;
DWORDLONG IOD_Alloc_Base;
DWORDLONG IOD_Alloc_End;
DWORD IOD_DesFlags;
} IO_DES, *PIO_DES;
typedef struct IO_Resource_s {
IO_DES IO_Header;
IO_RANGE IO_Data[ANYSIZE_ARRAY];
} IO_RESOURCE, *PIO_RESOURCE;
typedef struct IRQ_Resource_32_s {
IRQ_DES_32 IRQ_Header;
IRQ_RANGE IRQ_Data[ANYSIZE_ARRAY];
} IRQ_RESOURCE_32, *PIRQ_RESOURCE_32;
typedef struct IRQ_Resource_64_s {
IRQ_DES_64 IRQ_Header; // info about IRQ range list
IRQ_RANGE IRQ_Data[ANYSIZE_ARRAY]; // list of IRQ ranges
} IRQ_RESOURCE_64, *PIRQ_RESOURCE_64;
typedef struct Mem_Resource_s {
MEM_DES MEM_Header;
MEM_RANGE MEM_Data[ANYSIZE_ARRAY];
} MEM_RESOURCE, *PMEM_RESOURCE;
typedef struct MfCard_Des_s {
DWORD PMF_Count;
DWORD PMF_Type;
DWORD PMF_Flags;
BYTE PMF_ConfigOptions;
BYTE PMF_IoResourceIndex;
BYTE PMF_Reserved[2];
DWORD PMF_ConfigRegisterBase;
} MFCARD_DES, *PMFCARD_DES;
typedef struct MfCard_Resource_s {
MFCARD_DES MfCard_Header;
} MFCARD_RESOURCE, *PMFCARD_RESOURCE;
typedef struct PcCard_Des_s {
DWORD PCD_Count;
DWORD PCD_Type;
DWORD PCD_Flags;
BYTE PCD_ConfigIndex;
BYTE PCD_Reserved[3];
DWORD PCD_MemoryCardBase1;
DWORD PCD_MemoryCardBase2;
DWORD PCD_MemoryCardBase[PCD_MAX_MEMORY];
WORD PCD_MemoryFlags[PCD_MAX_MEMORY];
BYTE PCD_IoFlags[PCD_MAX_IO];
} PCCARD_DES, *PPCCARD_DES;
typedef struct PcCard_Resource_s {
PCCARD_DES PcCard_Header;
} PCCARD_RESOURCE, *PPCCARD_RESOURCE;
//
// MEM_LARGE_RANGE Structure
//
typedef struct Mem_Large_Range_s {
DWORDLONG MLR_Align; // specifies mask for base alignment
ULONGLONG MLR_nBytes; // specifies number of bytes required
DWORDLONG MLR_Min; // specifies minimum address of the range
DWORDLONG MLR_Max; // specifies maximum address of the range
DWORD MLR_Flags; // specifies flags describing range (fMD flags)
DWORD MLR_Reserved;
} MEM_LARGE_RANGE, *PMEM_LARGE_RANGE;
//
// MEM_LARGE_DES structure
//
typedef struct Mem_Large_Des_s {
DWORD MLD_Count; // number of LARGE_MEM_RANGE structs in LARGE_MEM_RESOURCE
DWORD MLD_Type; // size (in bytes) of MEM_RANGE (MType_Range)
DWORDLONG MLD_Alloc_Base; // base memory address of range allocated
DWORDLONG MLD_Alloc_End; // end of allocated range
DWORD MLD_Flags; // flags describing allocated range (fMD flags)
DWORD MLD_Reserved;
} MEM_LARGE_DES, *PMEM_LARGE_DES;
//
// MEM_LARGE_RESOURCE structure
//
typedef struct Mem_Large_Resource_s {
MEM_LARGE_DES MEM_LARGE_Header; // info about memory range list
MEM_LARGE_RANGE MEM_LARGE_Data[ANYSIZE_ARRAY]; // list of memory ranges
} MEM_LARGE_RESOURCE, *PMEM_LARGE_RESOURCE;
@@ -151,4 +151,12 @@ typedef struct __tagVARIANT {
WORD wReserved2;
WORD wReserved3;
_ANON_TMP_variant_sub_union _VARIANT_NAME_3;
} _tagVARIANT, VARIANT, VARIANTARG, *LPVARIANT, *LPVARIANTARG;
} _tagVARIANT, VARIANT, VARIANTARG, *LPVARIANT, *LPVARIANTARG;
typedef enum tagCOMSD {
SD_LAUNCHPERMISSIONS = 0,
SD_ACCESSPERMISSIONS = 1,
SD_LAUNCHRESTRICTIONS = 2,
SD_ACCESSRESTRICTIONS = 3
} COMSD;
@@ -0,0 +1,103 @@
typedef enum _EXPCMDSTATE {
ECS_ENABLED,
ECS_DISABLED,
ECS_HIDDEN,
ECS_CHECKBOX,
ECS_CHECKED,
ECS_RADIOCHECK
} EXPCMDSTATE;
typedef enum _EXPCMDFLAGS {
ECF_DEFAULT = 0,
ECF_HASSUBCOMMANDS = 0x1,
ECF_HASSPLITBUTTON = 0x2,
ECF_HIDELABEL = 0x4,
ECF_ISSEPARATOR = 0x8,
ECF_HASLUASHIELD = 0x10,
ECF_SEPARATORBEFORE = 0x20,
ECF_SEPARATORAFTER = 0x40,
ECF_ISDROPDOWN = 0x80,
ECF_TOGGLEABLE = 0x100,
ECF_AUTOMENUICONS = 0x200
} EXPCMDFLAGS;
enum _SIGDN
{
SIGDN_NORMALDISPLAY = 0,
SIGDN_PARENTRELATIVEPARSING = 0x80018001,
SIGDN_DESKTOPABSOLUTEPARSING = 0x80028000,
SIGDN_PARENTRELATIVEEDITING = 0x80031001,
SIGDN_DESKTOPABSOLUTEEDITING = 0x8004c000,
SIGDN_FILESYSPATH = 0x80058000,
SIGDN_URL = 0x80068000,
SIGDN_PARENTRELATIVEFORADDRESSBAR = 0x8007c001,
SIGDN_PARENTRELATIVE = 0x80080001,
SIGDN_PARENTRELATIVEFORUI = 0x80094001
} SIGDN;
enum SICHINTF
{
SICHINT_DISPLAY = 0,
SICHINT_ALLFIELDS = 0x80000000,
SICHINT_CANONICAL = 0x10000000,
SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000
} ;
enum GETPROPERTYSTOREFLAGS
{
GPS_DEFAULT = 0,
GPS_HANDLERPROPERTIESONLY = 0x1,
GPS_READWRITE = 0x2,
GPS_TEMPORARY = 0x4,
GPS_FASTPROPERTIESONLY = 0x8,
GPS_OPENSLOWITEM = 0x10,
GPS_DELAYCREATION = 0x20,
GPS_BESTEFFORT = 0x40,
GPS_NO_OPLOCK = 0x80,
GPS_PREFERQUERYPROPERTIES = 0x100,
GPS_EXTRINSICPROPERTIES = 0x200,
GPS_EXTRINSICPROPERTIESONLY = 0x400,
GPS_MASK_VALID = 0x7ff
} GETPROPERTYSTOREFLAGS;
enum SIATTRIBFLAGS
{
SIATTRIBFLAGS_AND = 0x1,
SIATTRIBFLAGS_OR = 0x2,
SIATTRIBFLAGS_APPCOMPAT = 0x3,
SIATTRIBFLAGS_MASK = 0x3,
SIATTRIBFLAGS_ALLITEMS = 0x4000
};
typedef struct tagBIND_OPTS {
DWORD cbStruct;
DWORD grfFlags;
DWORD grfMode;
DWORD dwTickCountDeadline;
} BIND_OPTS, *LPBIND_OPTS;
typedef struct _tagpropertykey
{
GUID fmtid;
DWORD pid;
}PROPERTYKEY, *REFPROPERTYKEY;
typedef struct tagSTATSTG
{
LPOLESTR pwcsName;
DWORD type;
ULARGE_INTEGER cbSize;
FILETIME mtime;
FILETIME ctime;
FILETIME atime;
DWORD grfMode;
DWORD grfLocksSupported;
CLSID clsid;
DWORD grfStateBits;
DWORD reserved;
}STATSTG;
@@ -0,0 +1,161 @@
typedef enum tagVARKIND {
VAR_PERINSTANCE,
VAR_STATIC,
VAR_CONST,
VAR_DISPATCH
} VARKIND;
typedef enum tagINVOKEKIND {
INVOKE_FUNC,
INVOKE_PROPERTYGET,
INVOKE_PROPERTYPUT,
INVOKE_PROPERTYPUTREF
} INVOKEKIND;
typedef enum tagFUNCKIND {
FUNC_VIRTUAL,
FUNC_PUREVIRTUAL,
FUNC_NONVIRTUAL,
FUNC_STATIC,
FUNC_DISPATCH
} FUNCKIND;
typedef enum tagSYSKIND {
SYS_WIN16,
SYS_WIN32,
SYS_MAC,
SYS_WIN64
} SYSKIND;
typedef enum tagCALLCONV {
CC_FASTCALL,
CC_CDECL,
CC_MSCPASCAL,
CC_PASCAL,
CC_MACPASCAL,
CC_STDCALL,
CC_FPFASTCALL,
CC_SYSCALL,
CC_MPWCDECL,
CC_MPWPASCAL,
CC_MAX
} CALLCONV;
typedef enum tagDESCKIND {
DESCKIND_NONE,
DESCKIND_FUNCDESC,
DESCKIND_VARDESC,
DESCKIND_TYPECOMP,
DESCKIND_IMPLICITAPPOBJ,
DESCKIND_MAX
} DESCKIND;
typedef struct tagPARAMDESCEX {
ULONG cBytes;
VARIANTARG varDefaultValue;
} PARAMDESCEX, *LPPARAMDESCEX;
typedef struct tagPARAMDESC {
LPPARAMDESCEX pparamdescex;
USHORT wParamFlags;
} PARAMDESC, *LPPARAMDESC;
typedef union _TMP_TYPEDESC_UNION {
PVOID lptdesc; // struct tagTYPEDESC *lptdesc; // Temporrary fix..
PVOID lpadesc; // struct tagARRAYDESC *lpadesc;
HREFTYPE hreftype;
}TMP_TYPEDESC_UNION;
typedef struct tagTYPEDESC {
TMP_TYPEDESC_UNION DUMMYUNIONNAME;
VARTYPE vt;
} TYPEDESC;
typedef struct tagARRAYDESC {
TYPEDESC tdescElem;
USHORT cDims;
SAFEARRAYBOUND rgbounds[1];
} ARRAYDESC;
typedef struct tagELEMDESC {
TYPEDESC tdesc;
PARAMDESC paramdesc;
} ELEMDESC, *LPELEMDESC;
typedef struct tagFUNCDESC {
MEMBERID memid;
SCODE *lprgscode;
ELEMDESC *lprgelemdescParam;
FUNCKIND funckind;
INVOKEKIND invkind;
CALLCONV callconv;
SHORT cParams;
SHORT cParamsOpt;
SHORT oVft;
SHORT cScodes;
ELEMDESC elemdescFunc;
WORD wFuncFlags;
} FUNCDESC, *LPFUNCDESC;
typedef union _TMP_VARDESC_UNION {
ULONG oInst;
VARIANT *lpvarValue;
}TMP_VARDESC_UNION;
typedef struct tagVARDESC {
MEMBERID memid;
LPOLESTR lpstrSchema;
TMP_VARDESC_UNION DUMMYUNIONNAME;
ELEMDESC elemdescVar;
WORD wVarFlags;
VARKIND varkind;
} VARDESC, *LPVARDESC;
typedef union tagBINDPTR {
FUNCDESC *lpfuncdesc;
VARDESC *lpvardesc;
PVOID lptcomp; // ITypeComp*
} BINDPTR, *LPBINDPTR;
typedef struct tagIDLDESC {
ULONG_PTR dwReserved;
USHORT wIDLFlags;
} IDLDESC, *LPIDLDESC;
typedef struct tagTLIBATTR {
GUID guid;
LCID lcid;
SYSKIND syskind;
WORD wMajorVerNum;
WORD wMinorVerNum;
WORD wLibFlags;
} TLIBATTR, *LPTLIBATTR;
typedef struct tagTYPEATTR {
GUID guid;
LCID lcid;
DWORD dwReserved;
MEMBERID memidConstructor;
MEMBERID memidDestructor;
LPOLESTR lpstrSchema;
ULONG cbSizeInstance;
TYPEKIND typekind;
WORD cFuncs;
WORD cVars;
WORD cImplTypes;
WORD cbSizeVft;
WORD cbAlignment;
WORD wTypeFlags;
WORD wMajorVerNum;
WORD wMinorVerNum;
TYPEDESC tdescAlias;
IDLDESC idldescType;
} TYPEATTR, *LPTYPEATTR;

Some files were not shown because too many files have changed in this diff Show More