mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
Merge pull request #66 from hakril/multiversion_localthis
Multiversion ORPC call in `RpcClient`
This commit is contained in:
@@ -26,4 +26,8 @@
|
||||
#define SORF_OXRES7 ( 0x400 )
|
||||
#define SORF_OXRES8 ( 0x800 )
|
||||
#define SORF_NULL ( 0 )
|
||||
#define SORF_NOPING ( 0x1000 )
|
||||
#define SORF_NOPING ( 0x1000 )
|
||||
|
||||
#define UNIQUE_FLAG_PADDING 2
|
||||
#define MAINHDRSIG 0x414E554B
|
||||
#define ENTRYHDRSIG 0x494E414E
|
||||
@@ -334,16 +334,6 @@ typedef struct _LOCALTHIS {
|
||||
PVOID pTouchedAstaArray; // Ptr32 __MIDL_XmitDefs_0002
|
||||
} LOCALTHIS;
|
||||
|
||||
typedef struct _LOCALTHIS32 {
|
||||
DWORD dwFlags;
|
||||
DWORD dwClientThread;
|
||||
GUID passthroughTraceActivity;
|
||||
GUID callTraceActivity;
|
||||
MIDL_XmitDefs_0001 asyncRequestBlock;
|
||||
DWORD reserved;
|
||||
PVOID32 pTouchedAstaArray; // Ptr32 __MIDL_XmitDefs_0002
|
||||
} LOCALTHIS32;
|
||||
|
||||
/* LOCALTHAT & sub structures */
|
||||
|
||||
typedef struct _MIDL_XmitDefs_0007 {
|
||||
@@ -406,15 +396,6 @@ typedef struct _LOCALTHAT {
|
||||
} LOCALTHAT;
|
||||
|
||||
|
||||
typedef struct _LOCALTHAT32 {
|
||||
UINT64 marshalingSetId;
|
||||
ULONG reserved;
|
||||
PVOID32 pAsyncResponseBlock;
|
||||
PVOID32 containerErrorInformation;
|
||||
PVOID32 containerPassthroughData;
|
||||
} LOCALTHAT32;
|
||||
|
||||
|
||||
typedef struct tagORPCTHAT {
|
||||
ULONG flags;
|
||||
tagORPC_EXTENT_ARRAY *extensions;
|
||||
@@ -424,4 +405,35 @@ typedef struct tagORPCTHAT {
|
||||
typedef struct ORPCTHAT32 {
|
||||
ULONG flags;
|
||||
PVOID32 extensions; // tagORPC_EXTENT_ARRAY tagORPC_EXTENT_ARRAY
|
||||
} ORPCTHAT32;
|
||||
} ORPCTHAT32;
|
||||
|
||||
// From: com\ole32\com\dcomrem\chock.hxx
|
||||
typedef struct
|
||||
{
|
||||
ULONG size; // Number of extents.
|
||||
ULONG reserved; // Must be zero.
|
||||
ULONG unique; // Flag to indicate presence of unique_flag array.
|
||||
ULONG rounded_size; // Actual number of extents.
|
||||
ULONG unique_flag[UNIQUE_FLAG_PADDING]; // Flags to indicate presense of ORPC_EXTENTs
|
||||
} WireExtentArray;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ULONG rounded_size; // Actual number of extents.
|
||||
GUID id; // Extension identifier.
|
||||
ULONG size; // Extension size.
|
||||
|
||||
// byte data[]; // Extension data.
|
||||
} WireExtent;
|
||||
|
||||
typedef struct tagMainHeader
|
||||
{
|
||||
ULONG Signature;
|
||||
ULONG Version;
|
||||
ULONG cPolicies;
|
||||
ULONG cbBuffer;
|
||||
ULONG cbSize;
|
||||
LONG hr;
|
||||
LONG hrServer;
|
||||
LONG reserved;
|
||||
} MainHeader;
|
||||
@@ -0,0 +1,212 @@
|
||||
/* Summary of seen version on combase symbols for LOCALTHIS:
|
||||
|
||||
Nb fields: 2
|
||||
6.1.7601.17514 -> 6.2.9200.22376
|
||||
* 6.1.7601.17514
|
||||
* 6.1.7601.17514
|
||||
* 6.2.9200.22376
|
||||
Nb fields: 4
|
||||
6.3.9600.17031 -> 6.3.9600.20772
|
||||
* 6.3.9600.17031
|
||||
* 6.3.9600.20772
|
||||
Nb fields: 5
|
||||
10.0.10240.16384 -> 10.0.15063.2679
|
||||
* 10.0.10240.16384
|
||||
* 10.0.10240.20747
|
||||
* 10.0.10586.0
|
||||
* 10.0.14393.576
|
||||
* 10.0.14393.6451
|
||||
* 10.0.14393.7426
|
||||
* 10.0.15063.251
|
||||
* 10.0.15063.1563
|
||||
* 10.0.15063.2500
|
||||
* 10.0.15063.2679
|
||||
Nb fields: 7
|
||||
10.0.16299.1 -> 10.0.26100.2454
|
||||
* 10.0.16299.1
|
||||
* 10.0.16299.15
|
||||
* 10.0.17134.1
|
||||
* 10.0.17134.48
|
||||
* 10.0.17134.2145
|
||||
* 10.0.17134.2145
|
||||
* 10.0.17763.1
|
||||
* 10.0.17763.2931
|
||||
* 10.0.22621.2792
|
||||
* 10.0.22621.3958
|
||||
* 10.0.22621.4111
|
||||
* 10.0.22621.4541
|
||||
* 10.0.26100.2454
|
||||
*/
|
||||
|
||||
/* Summary of seen version on combase symbols for LOCALTHAT:
|
||||
|
||||
Nb fields: 2
|
||||
6.3.9600.17031 -> 6.3.9600.20772
|
||||
* 6.3.9600.17031
|
||||
* 6.3.9600.17031
|
||||
* 6.3.9600.17031
|
||||
* 6.3.9600.20772
|
||||
Nb fields: 3
|
||||
10.0.18362.900 -> 10.0.18362.1916
|
||||
* 10.0.18362.900
|
||||
* 10.0.18362.900
|
||||
* 10.0.18362.1016
|
||||
* 10.0.18362.1916
|
||||
Nb fields: 4
|
||||
10.0.10240.16384 -> 10.0.17763.6040
|
||||
* 10.0.10240.16384
|
||||
* 10.0.10240.16384
|
||||
* 10.0.10240.20747
|
||||
* 10.0.10586.0
|
||||
* 10.0.14393.576
|
||||
* 10.0.14393.6451
|
||||
* 10.0.14393.7426
|
||||
* 10.0.15063.251
|
||||
* 10.0.15063.1563
|
||||
* 10.0.15063.2500
|
||||
* 10.0.15063.2679
|
||||
* 10.0.16299.1
|
||||
* 10.0.16299.15
|
||||
* 10.0.17134.1
|
||||
* 10.0.17134.48
|
||||
* 10.0.17134.2145
|
||||
* 10.0.17134.2145
|
||||
* 10.0.17763.1
|
||||
* 10.0.17763.2931
|
||||
* 10.0.17763.6040
|
||||
Nb fields: 5
|
||||
10.0.19039.1 -> 10.0.26100.2454
|
||||
* 10.0.19039.1
|
||||
* 10.0.19041.84
|
||||
* 10.0.19041.4894
|
||||
* 10.0.22000.65
|
||||
* 10.0.22621.2792
|
||||
* 10.0.22621.3958
|
||||
* 10.0.22621.4111
|
||||
* 10.0.22621.4541
|
||||
* 10.0.26100.2454
|
||||
* 10.0.26100.2454
|
||||
*/
|
||||
|
||||
|
||||
/* Seen on 6.2.9200.22376 (win8_ldr_escrow.180222-0941) */
|
||||
/* also seen on previous version : XP / Win7 / Server 2012 */
|
||||
|
||||
typedef struct LOCALTHIS32_NT_62 {
|
||||
ULONG dwFlags;
|
||||
ULONG dwClientThread;
|
||||
};
|
||||
|
||||
// NO LOCALTHAT for these previous version as far as I now
|
||||
|
||||
/* Seen on 6.3.9600.17031 (winblue_gdr.140221-1952) */
|
||||
|
||||
typedef struct __MIDL_XmitDefs_0001_NT_63 {
|
||||
ULONG size;
|
||||
ULONG reserved;
|
||||
UINT64 *pAstaOxids;
|
||||
};
|
||||
|
||||
typedef struct LOCALTHIS32_NT_63 {
|
||||
ULONG dwFlags;
|
||||
ULONG dwClientThread;
|
||||
ULONG reserved;
|
||||
PVOID32 pTouchedAstaArray;
|
||||
};
|
||||
|
||||
|
||||
typedef struct LOCALTHAT32_NT_63 {
|
||||
UINT64 marshalingSetAcknowledgmentOxid;
|
||||
UINT64 marshalingSetId;
|
||||
};
|
||||
|
||||
/* NT_1607 : combase 10.0.14393.576 from a WS2016 ISO*/
|
||||
|
||||
typedef struct __MIDL_XmitDefs_0002_NT_1607 {
|
||||
ULONG size;
|
||||
ULONG reserved;
|
||||
PVOID32 pAstaOxids;
|
||||
};
|
||||
|
||||
typedef struct __MIDL_XmitDefs_0001_NT_1607 {
|
||||
_GUID asyncOperationId;
|
||||
UINT64 oxidClientProcessNA;
|
||||
_GUID originalClientLogicalThreadId;
|
||||
UINT64 uClientCausalityTraceId;
|
||||
} MIDL_XmitDefs_0001_NT_1607;
|
||||
|
||||
typedef struct _LOCALTHIS32_NT_1607 {
|
||||
ULONG dwFlags;
|
||||
ULONG dwClientThread;
|
||||
MIDL_XmitDefs_0001_NT_1607 asyncRequestBlock;
|
||||
ULONG reserved;
|
||||
PVOID32 pTouchedAstaArray;
|
||||
} LOCALTHIS32_NT_1607;
|
||||
|
||||
typedef struct __MIDL_XmitDefs_0007 {
|
||||
INT pointOfFailure;
|
||||
HRESULT hrFailure;
|
||||
ULONG sizeOfMarshaledErrorInfo;
|
||||
ULONG reserved;
|
||||
BYTE *pMarshaledErrorInfo;
|
||||
} MIDL_XmitDefs_0007;
|
||||
|
||||
typedef struct __MIDL_XmitDefs_0005 {
|
||||
ULONG sizeOfMarshaledResults;
|
||||
ULONG reserved;
|
||||
BYTE *pMarshaledResults;
|
||||
} MIDL_XmitDefs_0005;
|
||||
|
||||
typedef struct __MIDL_XmitDefs_0008 {
|
||||
INT outcome;
|
||||
MIDL_XmitDefs_0005 successDetails;
|
||||
MIDL_XmitDefs_0007 failureDetails;
|
||||
} MIDL_XmitDefs_0008;
|
||||
|
||||
typedef struct __MIDL_XmitDefs_0010 {
|
||||
ULONG asyncStatus;
|
||||
ULONG reserved1;
|
||||
UINT64 uServerCausalityTraceId;
|
||||
ULONG reserved2;
|
||||
PVOID32 *pOutcomeDetails; //__MIDL_XmitDefs_0008
|
||||
} MIDL_XmitDefs_0010;
|
||||
|
||||
typedef struct LOCALTHAT32_NT_1607 {
|
||||
UINT64 marshalingSetAcknowledgmentOxid;
|
||||
UINT64 marshalingSetId;
|
||||
ULONG reserved;
|
||||
PVOID32 pAsyncResponseBlock;
|
||||
};
|
||||
|
||||
/* ! NT_1607: combase 10.0.14393.576 */
|
||||
|
||||
|
||||
/* */
|
||||
|
||||
/* Seen only in 10.0.18362 versions of combase */
|
||||
|
||||
typedef struct _LOCALTHAT32_10_1903 {
|
||||
UINT64 marshalingSetId;
|
||||
PVOID32 pAsyncResponseBlock;
|
||||
PVOID32 containerPassthroughData;
|
||||
} LOCALTHAT32_10_1903;
|
||||
|
||||
/* NT 10.22 ? seen on 10.0.22621.1 */
|
||||
|
||||
typedef struct _LOCALTHIS32 {
|
||||
DWORD dwFlags;
|
||||
DWORD dwClientThread;
|
||||
GUID passthroughTraceActivity;
|
||||
GUID callTraceActivity;
|
||||
MIDL_XmitDefs_0001 asyncRequestBlock;
|
||||
DWORD reserved;
|
||||
PVOID32 pTouchedAstaArray; // Ptr32 __MIDL_XmitDefs_0002
|
||||
} LOCALTHIS32;
|
||||
|
||||
typedef struct _LOCALTHAT32 {
|
||||
UINT64 marshalingSetId;
|
||||
ULONG reserved;
|
||||
PVOID32 pAsyncResponseBlock;
|
||||
PVOID32 containerErrorInformation;
|
||||
PVOID32 containerPassthroughData;
|
||||
} LOCALTHAT32;
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
# Sphinx build info version 1
|
||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||
config: d169f6535010227fa35e2e21d62ad586
|
||||
config: 79eb4f6d749f8afd0854dfaf20582dd7
|
||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||
|
||||
Vendored
+4
-4
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Overview: module code — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>Overview: module code — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Overview: module code</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -115,7 +115,7 @@
|
||||
<li class="right" >
|
||||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Overview: module code</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
+8
-4
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.alpc — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.alpc — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.alpc</a></li>
|
||||
</ul>
|
||||
@@ -505,6 +505,8 @@
|
||||
<span class="k">def</span> <span class="nf">disconnect</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_close_port</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">handle</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="fm">__del__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">path</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
||||
@@ -608,8 +610,10 @@
|
||||
<span class="k">def</span> <span class="nf">disconnect</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_close_port</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">handle</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
<span class="k">for</span> <span class="n">com_port_handle</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">communication_port_list</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_close_port</span><span class="p">(</span><span class="n">com_port_handle</span><span class="p">)</span>
|
||||
<span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">communication_port_list</span><span class="p">[:]</span>
|
||||
|
||||
<span class="c1"># TODO: add an API to close a communication port ?</span>
|
||||
|
||||
@@ -648,7 +652,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.alpc</a></li>
|
||||
</ul>
|
||||
|
||||
+174
-32
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.generated_def.winstructs — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.generated_def.winstructs — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.generated_def.winstructs</a></li>
|
||||
</ul>
|
||||
@@ -1781,21 +1781,6 @@
|
||||
|
||||
<span class="n">LOCALTHIS</span> <span class="o">=</span> <span class="n">_LOCALTHIS</span>
|
||||
|
||||
<div class="viewcode-block" id="_LOCALTHIS32">
|
||||
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs._LOCALTHIS32">[docs]</a>
|
||||
<span class="k">class</span> <span class="nc">_LOCALTHIS32</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"dwFlags"</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"dwClientThread"</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"passthroughTraceActivity"</span><span class="p">,</span> <span class="n">GUID</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"callTraceActivity"</span><span class="p">,</span> <span class="n">GUID</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"asyncRequestBlock"</span><span class="p">,</span> <span class="n">MIDL_XmitDefs_0001</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved"</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"pTouchedAstaArray"</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
|
||||
<span class="p">]</span></div>
|
||||
|
||||
<span class="n">LOCALTHIS32</span> <span class="o">=</span> <span class="n">_LOCALTHIS32</span>
|
||||
|
||||
<div class="viewcode-block" id="_MIDL_XmitDefs_0007">
|
||||
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs._MIDL_XmitDefs_0007">[docs]</a>
|
||||
<span class="k">class</span> <span class="nc">_MIDL_XmitDefs_0007</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
@@ -1885,19 +1870,6 @@
|
||||
|
||||
<span class="n">LOCALTHAT</span> <span class="o">=</span> <span class="n">_LOCALTHAT</span>
|
||||
|
||||
<div class="viewcode-block" id="_LOCALTHAT32">
|
||||
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs._LOCALTHAT32">[docs]</a>
|
||||
<span class="k">class</span> <span class="nc">_LOCALTHAT32</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"marshalingSetId"</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"pAsyncResponseBlock"</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"containerErrorInformation"</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"containerPassthroughData"</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
|
||||
<span class="p">]</span></div>
|
||||
|
||||
<span class="n">LOCALTHAT32</span> <span class="o">=</span> <span class="n">_LOCALTHAT32</span>
|
||||
|
||||
<div class="viewcode-block" id="tagORPCTHAT">
|
||||
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs.tagORPCTHAT">[docs]</a>
|
||||
<span class="k">class</span> <span class="nc">tagORPCTHAT</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
@@ -1918,6 +1890,176 @@
|
||||
|
||||
|
||||
|
||||
<span class="k">class</span> <span class="nc">WireExtentArray</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"size"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"unique"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"rounded_size"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"unique_flag"</span><span class="p">,</span> <span class="n">ULONG</span> <span class="o">*</span> <span class="p">(</span><span class="n">UNIQUE_FLAG_PADDING</span><span class="p">)),</span>
|
||||
<span class="p">]</span>
|
||||
|
||||
|
||||
<span class="k">class</span> <span class="nc">WireExtent</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"rounded_size"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"id"</span><span class="p">,</span> <span class="n">GUID</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"size"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">]</span>
|
||||
|
||||
|
||||
<span class="k">class</span> <span class="nc">tagMainHeader</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"Signature"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"Version"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"cPolicies"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"cbBuffer"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"cbSize"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"hr"</span><span class="p">,</span> <span class="n">LONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"hrServer"</span><span class="p">,</span> <span class="n">LONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved"</span><span class="p">,</span> <span class="n">LONG</span><span class="p">),</span>
|
||||
<span class="p">]</span>
|
||||
<span class="n">MainHeader</span> <span class="o">=</span> <span class="n">tagMainHeader</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">LOCALTHIS32_NT_62</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"dwFlags"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"dwClientThread"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">]</span>
|
||||
|
||||
|
||||
<span class="k">class</span> <span class="nc">__MIDL_XmitDefs_0001_NT_63</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"size"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"pAstaOxids"</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">UINT64</span><span class="p">)),</span>
|
||||
<span class="p">]</span>
|
||||
|
||||
|
||||
<span class="k">class</span> <span class="nc">LOCALTHIS32_NT_63</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"dwFlags"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"dwClientThread"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"pTouchedAstaArray"</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
|
||||
<span class="p">]</span>
|
||||
|
||||
|
||||
<span class="k">class</span> <span class="nc">LOCALTHAT32_NT_63</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"marshalingSetAcknowledgmentOxid"</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"marshalingSetId"</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
|
||||
<span class="p">]</span>
|
||||
|
||||
|
||||
<span class="k">class</span> <span class="nc">__MIDL_XmitDefs_0002_NT_1607</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"size"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"pAstaOxids"</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
|
||||
<span class="p">]</span>
|
||||
|
||||
|
||||
<span class="k">class</span> <span class="nc">__MIDL_XmitDefs_0001_NT_1607</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"asyncOperationId"</span><span class="p">,</span> <span class="n">_GUID</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"oxidClientProcessNA"</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"originalClientLogicalThreadId"</span><span class="p">,</span> <span class="n">_GUID</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"uClientCausalityTraceId"</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
|
||||
<span class="p">]</span>
|
||||
<span class="n">MIDL_XmitDefs_0001_NT_1607</span> <span class="o">=</span> <span class="n">__MIDL_XmitDefs_0001_NT_1607</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">_LOCALTHIS32_NT_1607</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"dwFlags"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"dwClientThread"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"asyncRequestBlock"</span><span class="p">,</span> <span class="n">MIDL_XmitDefs_0001_NT_1607</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"pTouchedAstaArray"</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
|
||||
<span class="p">]</span>
|
||||
<span class="n">LOCALTHIS32_NT_1607</span> <span class="o">=</span> <span class="n">_LOCALTHIS32_NT_1607</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">__MIDL_XmitDefs_0007</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"pointOfFailure"</span><span class="p">,</span> <span class="n">INT</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"hrFailure"</span><span class="p">,</span> <span class="n">HRESULT</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"sizeOfMarshaledErrorInfo"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"pMarshaledErrorInfo"</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">BYTE</span><span class="p">)),</span>
|
||||
<span class="p">]</span>
|
||||
<span class="n">MIDL_XmitDefs_0007</span> <span class="o">=</span> <span class="n">__MIDL_XmitDefs_0007</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">__MIDL_XmitDefs_0005</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"sizeOfMarshaledResults"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"pMarshaledResults"</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">BYTE</span><span class="p">)),</span>
|
||||
<span class="p">]</span>
|
||||
<span class="n">MIDL_XmitDefs_0005</span> <span class="o">=</span> <span class="n">__MIDL_XmitDefs_0005</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">__MIDL_XmitDefs_0008</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"outcome"</span><span class="p">,</span> <span class="n">INT</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"successDetails"</span><span class="p">,</span> <span class="n">MIDL_XmitDefs_0005</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"failureDetails"</span><span class="p">,</span> <span class="n">MIDL_XmitDefs_0007</span><span class="p">),</span>
|
||||
<span class="p">]</span>
|
||||
<span class="n">MIDL_XmitDefs_0008</span> <span class="o">=</span> <span class="n">__MIDL_XmitDefs_0008</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">__MIDL_XmitDefs_0010</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"asyncStatus"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved1"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"uServerCausalityTraceId"</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved2"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"pOutcomeDetails"</span><span class="p">,</span> <span class="n">POINTER</span><span class="p">(</span><span class="n">PVOID32</span><span class="p">)),</span>
|
||||
<span class="p">]</span>
|
||||
<span class="n">MIDL_XmitDefs_0010</span> <span class="o">=</span> <span class="n">__MIDL_XmitDefs_0010</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">LOCALTHAT32_NT_1607</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"marshalingSetAcknowledgmentOxid"</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"marshalingSetId"</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"pAsyncResponseBlock"</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
|
||||
<span class="p">]</span>
|
||||
|
||||
|
||||
<span class="k">class</span> <span class="nc">_LOCALTHAT32_10_1903</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"marshalingSetId"</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"pAsyncResponseBlock"</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"containerPassthroughData"</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
|
||||
<span class="p">]</span>
|
||||
<span class="n">LOCALTHAT32_10_1903</span> <span class="o">=</span> <span class="n">_LOCALTHAT32_10_1903</span>
|
||||
|
||||
<div class="viewcode-block" id="_LOCALTHIS32">
|
||||
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs._LOCALTHIS32">[docs]</a>
|
||||
<span class="k">class</span> <span class="nc">_LOCALTHIS32</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"dwFlags"</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"dwClientThread"</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"passthroughTraceActivity"</span><span class="p">,</span> <span class="n">GUID</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"callTraceActivity"</span><span class="p">,</span> <span class="n">GUID</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"asyncRequestBlock"</span><span class="p">,</span> <span class="n">MIDL_XmitDefs_0001</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved"</span><span class="p">,</span> <span class="n">DWORD</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"pTouchedAstaArray"</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
|
||||
<span class="p">]</span></div>
|
||||
|
||||
<span class="n">LOCALTHIS32</span> <span class="o">=</span> <span class="n">_LOCALTHIS32</span>
|
||||
|
||||
<div class="viewcode-block" id="_LOCALTHAT32">
|
||||
<a class="viewcode-back" href="../../../winstructs_generated.html#windows.generated_def.winstructs._LOCALTHAT32">[docs]</a>
|
||||
<span class="k">class</span> <span class="nc">_LOCALTHAT32</span><span class="p">(</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"marshalingSetId"</span><span class="p">,</span> <span class="n">UINT64</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"reserved"</span><span class="p">,</span> <span class="n">ULONG</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"pAsyncResponseBlock"</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"containerErrorInformation"</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"containerPassthroughData"</span><span class="p">,</span> <span class="n">PVOID32</span><span class="p">),</span>
|
||||
<span class="p">]</span></div>
|
||||
|
||||
<span class="n">LOCALTHAT32</span> <span class="o">=</span> <span class="n">_LOCALTHAT32</span>
|
||||
|
||||
<span class="n">VIRTUAL_DISK_ACCESS_NONE</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">"_VIRTUAL_DISK_ACCESS_MASK"</span><span class="p">,</span> <span class="s2">"VIRTUAL_DISK_ACCESS_NONE"</span><span class="p">,</span> <span class="mh">0x0</span><span class="p">)</span>
|
||||
<span class="n">VIRTUAL_DISK_ACCESS_ATTACH_RO</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">"_VIRTUAL_DISK_ACCESS_MASK"</span><span class="p">,</span> <span class="s2">"VIRTUAL_DISK_ACCESS_ATTACH_RO"</span><span class="p">,</span> <span class="mh">0x1</span><span class="p">)</span>
|
||||
<span class="n">VIRTUAL_DISK_ACCESS_ATTACH_RW</span> <span class="o">=</span> <span class="n">EnumValue</span><span class="p">(</span><span class="s2">"_VIRTUAL_DISK_ACCESS_MASK"</span><span class="p">,</span> <span class="s2">"VIRTUAL_DISK_ACCESS_ATTACH_RW"</span><span class="p">,</span> <span class="mh">0x2</span><span class="p">)</span>
|
||||
@@ -15022,7 +15164,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.generated_def.winstructs</a></li>
|
||||
</ul>
|
||||
|
||||
+170
-19
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.rpc.client — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.rpc.client — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.rpc.client</a></li>
|
||||
</ul>
|
||||
@@ -101,11 +101,28 @@
|
||||
<span class="p">(</span><span class="s2">"orpc_ipid"</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">GUID</span><span class="p">)</span>
|
||||
<span class="p">]</span>
|
||||
|
||||
<span class="c1"># Was an array of 6 DWORD, new class inspired by :</span>
|
||||
<span class="c1"># https://github.com/googleprojectzero/sandbox-attacksurface-analysis-tools/blob/main/NtCoreLib/Win32/Rpc/Transport/Alpc/LRPC_IMMEDIATE_RESPONSE_MESSAGE.cs#L22</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">ALPC_RPC_RESPONSE</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">Structure</span><span class="p">):</span>
|
||||
<span class="n">_pack_</span> <span class="o">=</span> <span class="mi">1</span>
|
||||
<span class="n">_fields_</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">(</span><span class="s2">"request_type"</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"UNK1"</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"flags"</span><span class="p">,</span><span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"request_id"</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"UNK2"</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">),</span>
|
||||
<span class="p">(</span><span class="s2">"UNK3"</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">),</span>
|
||||
<span class="p">]</span>
|
||||
|
||||
<div class="viewcode-block" id="RPCClient">
|
||||
<a class="viewcode-back" href="../../../rpc.html#windows.rpc.RPCClient">[docs]</a>
|
||||
<span class="k">class</span> <span class="nc">RPCClient</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""A client for RPC-over-ALPC able to bind to interface and perform calls using NDR32 marshalling"""</span>
|
||||
<span class="n">REQUEST_IDENTIFIER</span> <span class="o">=</span> <span class="mh">0x11223344</span>
|
||||
<span class="n">REQUEST_IDENTIFIER</span> <span class="o">=</span> <span class="mh">0x42424242</span>
|
||||
<span class="c1"># Used to recognize ORPC call we made</span>
|
||||
<span class="c1"># thus we know the response contains a orpcthat & localthat</span>
|
||||
<span class="n">REQUEST_IDENTIFIER_ORPC</span> <span class="o">=</span> <span class="mh">0x43434343</span>
|
||||
|
||||
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">port</span><span class="p">):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">alpc_client</span> <span class="o">=</span> <span class="n">alpc</span><span class="o">.</span><span class="n">AlpcClient</span><span class="p">(</span><span class="n">port</span><span class="p">)</span> <span class="c1">#: The :class:`windows.alpc.AlpcClient` used to communicate with the server</span>
|
||||
@@ -160,6 +177,10 @@
|
||||
<span class="sd"> :param str params: The mashalled parameters (NDR32)</span>
|
||||
<span class="sd"> :param GUID ipid: The IPID for `ORPC calls <https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dcom/db1d5ce1-a783-4f3d-854c-dc44308e78fb>`_</span>
|
||||
<span class="sd"> :returns: :class:`str`</span>
|
||||
|
||||
<span class="sd"> .. note::</span>
|
||||
|
||||
<span class="sd"> Since `1.0.3` if the call is an ORPC call, the `ORPCTHAT` & `LOCALTHAT` present in the response are parsed and striped from the result.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">forge_alpc_request</span><span class="p">(</span><span class="n">IID</span><span class="p">,</span> <span class="n">method_offset</span><span class="p">,</span> <span class="n">params</span><span class="p">,</span> <span class="n">ipid</span><span class="o">=</span><span class="n">ipid</span><span class="p">)</span>
|
||||
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_send_request</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
|
||||
@@ -188,17 +209,14 @@
|
||||
<span class="n">req</span><span class="o">.</span><span class="n">if_nb</span> <span class="o">=</span> <span class="n">interface_nb</span>
|
||||
<span class="n">req</span><span class="o">.</span><span class="n">method_offset</span> <span class="o">=</span> <span class="n">method_offset</span>
|
||||
<span class="k">if</span> <span class="n">ipid</span><span class="p">:</span>
|
||||
<span class="n">req</span><span class="o">.</span><span class="n">request_id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">REQUEST_IDENTIFIER_ORPC</span>
|
||||
<span class="n">req</span><span class="o">.</span><span class="n">flags</span> <span class="o">=</span> <span class="mi">1</span> <span class="c1"># We have a IPID</span>
|
||||
<span class="n">req</span><span class="o">.</span><span class="n">orpc_ipid</span> <span class="o">=</span> <span class="n">ipid</span>
|
||||
<span class="n">this</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ORPCTHIS32</span><span class="p">()</span> <span class="c1"># we use NDR32</span>
|
||||
<span class="n">this</span><span class="o">.</span><span class="n">version</span> <span class="o">=</span> <span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">7</span><span class="p">)</span>
|
||||
<span class="n">this</span><span class="o">.</span><span class="n">flags</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ORPCF_LOCAL</span>
|
||||
<span class="c1"># Not mandatory</span>
|
||||
<span class="c1"># this.cid = gdef.GUID.from_string("42424242-4242-4242-4242-424242424242")</span>
|
||||
<span class="n">lthis</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHIS32</span><span class="p">()</span> <span class="c1"># we use NDR32</span>
|
||||
<span class="c1"># RPC_E_INVALID_HEADER is NULL</span>
|
||||
<span class="n">lthis</span><span class="o">.</span><span class="n">callTraceActivity</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">GUID</span><span class="o">.</span><span class="n">from_string</span><span class="p">(</span><span class="s2">"42424242-4242-4242-4242-424242424242"</span><span class="p">)</span>
|
||||
<span class="n">lthis</span><span class="o">.</span><span class="n">dwClientThread</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">tid</span>
|
||||
<span class="c1"># Returned correct type with mandatory fields filed</span>
|
||||
<span class="n">lthis</span> <span class="o">=</span> <span class="n">find_correct_localthis_for_version</span><span class="p">()</span>
|
||||
<span class="k">return</span> <span class="n">buffer</span><span class="p">(</span><span class="n">req</span><span class="p">)[:]</span> <span class="o">+</span> <span class="n">buffer</span><span class="p">(</span><span class="n">this</span><span class="p">)[:]</span> <span class="o">+</span> <span class="n">buffer</span><span class="p">(</span><span class="n">lthis</span><span class="p">)[:]</span> <span class="o">+</span> <span class="n">params</span>
|
||||
<span class="k">return</span> <span class="n">buffer</span><span class="p">(</span><span class="n">req</span><span class="p">)[:]</span> <span class="o">+</span> <span class="n">params</span>
|
||||
|
||||
@@ -238,21 +256,154 @@
|
||||
<span class="n">request_type</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">"<I"</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">[:</span><span class="mi">4</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="n">request_type</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">RPC_RESPONSE_TYPE_FAIL</span><span class="p">:</span>
|
||||
<span class="n">error_code</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">"<5I"</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">)[</span><span class="mi">2</span><span class="p">]</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"RPC Response error </span><span class="si">{0}</span><span class="s2"> (</span><span class="si">{1}</span><span class="s2">)"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">error_code</span><span class="p">,</span> <span class="n">KNOWN_RPC_ERROR_CODE</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">error_code</span><span class="p">,</span> <span class="n">error_code</span><span class="p">)))</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"RPC Response error </span><span class="si">{0}</span><span class="s2"> (</span><span class="si">{1!r}</span><span class="s2">)"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">error_code</span><span class="p">,</span> <span class="n">KNOWN_RPC_ERROR_CODE</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">error_code</span><span class="p">,</span> <span class="n">error_code</span><span class="p">)))</span>
|
||||
<span class="k">return</span> <span class="n">request_type</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_get_response_effective_data</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Response is a `AlpcMessage` needed to handle response in message vs response in view"""</span>
|
||||
<span class="n">response_header</span> <span class="o">=</span> <span class="n">ALPC_RPC_RESPONSE</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">response</span><span class="o">.</span><span class="n">view_is_valid</span><span class="p">:</span>
|
||||
<span class="c1"># Reponse directly in PORT_MESSAGE</span>
|
||||
<span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="mh">0x18</span><span class="p">:]</span> <span class="c1"># 4 * 6</span>
|
||||
<span class="c1"># Response in view M extract size from PORT_MESSAGE & read data from view</span>
|
||||
<span class="k">assert</span> <span class="n">response</span><span class="o">.</span><span class="n">port_message</span><span class="o">.</span><span class="n">u1</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">TotalLength</span> <span class="o">>=</span> <span class="mh">0x48</span> <span class="c1"># At least 0x20 of data</span>
|
||||
<span class="n">rpcdatasize</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">"<I"</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="mh">0x18</span><span class="p">:</span><span class="mh">0x1c</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">viewattr</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">view_attribute</span>
|
||||
<span class="k">assert</span> <span class="n">viewattr</span><span class="o">.</span><span class="n">ViewSize</span> <span class="o">>=</span> <span class="n">rpcdatasize</span>
|
||||
<span class="k">return</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">read_memory</span><span class="p">(</span><span class="n">viewattr</span><span class="o">.</span><span class="n">ViewBase</span><span class="p">,</span> <span class="n">rpcdatasize</span><span class="p">)</span></div>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">ALPC_RPC_RESPONSE</span><span class="p">):]</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="c1"># Response in view M extract size from PORT_MESSAGE & read data from view</span>
|
||||
<span class="k">assert</span> <span class="n">response</span><span class="o">.</span><span class="n">port_message</span><span class="o">.</span><span class="n">u1</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">TotalLength</span> <span class="o">>=</span> <span class="mh">0x48</span> <span class="c1"># At least 0x20 of data</span>
|
||||
<span class="n">rpcdatasize</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">"<I"</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="mh">0x18</span><span class="p">:</span><span class="mh">0x1c</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span> <span class="c1"># ctypes.sizeof(ALPC_RPC_RESPONSE)</span>
|
||||
<span class="n">viewattr</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">view_attribute</span>
|
||||
<span class="k">assert</span> <span class="n">viewattr</span><span class="o">.</span><span class="n">ViewSize</span> <span class="o">>=</span> <span class="n">rpcdatasize</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">read_memory</span><span class="p">(</span><span class="n">viewattr</span><span class="o">.</span><span class="n">ViewBase</span><span class="p">,</span> <span class="n">rpcdatasize</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">response_header</span><span class="o">.</span><span class="n">request_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">REQUEST_IDENTIFIER_ORPC</span><span class="p">:</span>
|
||||
<span class="c1"># Parse & remove ORPC headers (orpcthat + LocalThat)</span>
|
||||
<span class="n">orpcthat</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ORPCTHAT32</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">orpcthat</span><span class="p">):]</span>
|
||||
<span class="k">if</span> <span class="n">orpcthat</span><span class="o">.</span><span class="n">extensions</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"Parsing extension !"</span><span class="p">)</span>
|
||||
<span class="c1"># Parse extension : code have not been tested a lot</span>
|
||||
<span class="n">write_array_extend</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">WireExtentArray</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">WireExtentArray</span><span class="p">):]</span>
|
||||
<span class="k">if</span> <span class="n">write_array_extend</span><span class="o">.</span><span class="n">rounded_size</span> <span class="o">!=</span> <span class="mi">2</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"orpcthat.extensions: WireExtentArray.rounded_size != 2"</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">write_array_extend</span><span class="o">.</span><span class="n">unique_flag</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">value</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pass_wire_extend</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="n">localthat_type</span> <span class="o">=</span> <span class="n">find_correct_localthat_for_version</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">localthat_type</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">localthat</span> <span class="o">=</span> <span class="n">localthat_type</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="c1"># Check localthat pointers are empty</span>
|
||||
<span class="k">for</span> <span class="n">field</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">"pAsyncResponseBlock"</span><span class="p">,</span> <span class="s2">"containerErrorInformation"</span><span class="p">,</span> <span class="s2">"containerPassthroughData"</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">localthat</span><span class="p">,</span> <span class="n">field</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"ORPC Response with localthat.</span><span class="si">{0}</span><span class="s2"> != 0"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">field</span><span class="p">))</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">localthat</span><span class="p">):]</span>
|
||||
<span class="k">return</span> <span class="n">data</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_pass_wire_extend</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">):</span>
|
||||
<span class="n">wire_extend</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">WireExtent</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="c1"># We don't care -> jump over the size only</span>
|
||||
<span class="k">return</span> <span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">WireExtent</span><span class="p">)</span> <span class="o">+</span> <span class="n">wire_extend</span><span class="o">.</span><span class="n">rounded_size</span><span class="p">:]</span></div>
|
||||
|
||||
|
||||
<span class="c1"># Based on combase.dll analysis</span>
|
||||
|
||||
<span class="c1"># LOCALTHIS</span>
|
||||
<span class="c1"># Nb fields: 2</span>
|
||||
<span class="c1"># 6.1.7601.17514 -> 6.2.9200.22376</span>
|
||||
<span class="c1"># * 6.1.7601.17514</span>
|
||||
<span class="c1"># * 6.1.7601.17514</span>
|
||||
<span class="c1"># * 6.2.9200.22376</span>
|
||||
<span class="c1"># Nb fields: 4</span>
|
||||
<span class="c1"># 6.3.9600.17031 -> 6.3.9600.20772</span>
|
||||
<span class="c1"># * 6.3.9600.17031</span>
|
||||
<span class="c1"># * 6.3.9600.20772</span>
|
||||
<span class="c1"># Nb fields: 5</span>
|
||||
<span class="c1"># 10.0.10240.16384 -> 10.0.15063.2679</span>
|
||||
<span class="c1"># Nb fields: 7</span>
|
||||
<span class="c1"># 10.0.16299.1 -> 10.0.26100.2454</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">find_correct_localthis_for_version</span><span class="p">():</span>
|
||||
<span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">version</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span><span class="p">)</span> <span class="o"><</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">1</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="kc">None</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span><span class="p">)</span> <span class="ow">in</span> <span class="p">((</span><span class="mi">6</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">2</span><span class="p">)):</span>
|
||||
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHIS32_NT_62</span><span class="p">(</span><span class="n">dwClientThread</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">tid</span><span class="p">)</span>
|
||||
<span class="k">elif</span> <span class="p">(</span><span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span><span class="p">)</span> <span class="o">==</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">3</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHIS32_NT_63</span><span class="p">(</span><span class="n">dwClientThread</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">tid</span><span class="p">)</span>
|
||||
<span class="k">assert</span> <span class="n">vmaj</span> <span class="o">==</span> <span class="mi">10</span>
|
||||
<span class="n">vnumber</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">get_file_version</span><span class="p">(</span><span class="sa">r</span><span class="s2">"C:\windows\system32\combase.dll"</span><span class="p">)</span>
|
||||
<span class="c1"># Extract version number from combase</span>
|
||||
<span class="c1"># as it was used to find the struct per version</span>
|
||||
<span class="n">build_number</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">vnumber</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"."</span><span class="p">)[</span><span class="mi">2</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="n">build_number</span> <span class="o"><=</span> <span class="mi">15063</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHIS32_NT_1607</span><span class="p">(</span><span class="n">dwClientThread</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">tid</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHIS32</span><span class="p">(</span><span class="n">callTraceActivity</span><span class="o">=</span><span class="n">gdef</span><span class="o">.</span><span class="n">GUID</span><span class="o">.</span><span class="n">from_string</span><span class="p">(</span><span class="s2">"42424242-4242-4242-4242-424242424242"</span><span class="p">),</span>
|
||||
<span class="n">dwClientThread</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">tid</span><span class="p">)</span>
|
||||
|
||||
|
||||
<span class="c1"># LOCALTHAT</span>
|
||||
<span class="c1"># Nb fields: 2</span>
|
||||
<span class="c1"># 6.3.9600.17031 -> 6.3.9600.20772</span>
|
||||
<span class="c1"># * 6.3.9600.17031</span>
|
||||
<span class="c1"># * 6.3.9600.17031</span>
|
||||
<span class="c1"># * 6.3.9600.17031</span>
|
||||
<span class="c1"># * 6.3.9600.20772</span>
|
||||
<span class="c1"># Nb fields: 3</span>
|
||||
<span class="c1"># 10.0.18362.900 -> 10.0.18362.1916</span>
|
||||
<span class="c1"># * 10.0.18362.900</span>
|
||||
<span class="c1"># * 10.0.18362.900</span>
|
||||
<span class="c1"># * 10.0.18362.1016</span>
|
||||
<span class="c1"># * 10.0.18362.1916</span>
|
||||
<span class="c1"># Nb fields: 4</span>
|
||||
<span class="c1"># 10.0.10240.16384 -> 10.0.17763.6040</span>
|
||||
<span class="c1"># * 10.0.10240.16384</span>
|
||||
<span class="c1"># * 10.0.10240.16384</span>
|
||||
<span class="c1"># * 10.0.10240.20747</span>
|
||||
<span class="c1"># * 10.0.10586.0</span>
|
||||
<span class="c1"># * 10.0.14393.576</span>
|
||||
<span class="c1"># * 10.0.14393.6451</span>
|
||||
<span class="c1"># * 10.0.14393.7426</span>
|
||||
<span class="c1"># * 10.0.15063.251</span>
|
||||
<span class="c1"># * 10.0.15063.1563</span>
|
||||
<span class="c1"># * 10.0.15063.2500</span>
|
||||
<span class="c1"># * 10.0.15063.2679</span>
|
||||
<span class="c1"># * 10.0.16299.1</span>
|
||||
<span class="c1"># * 10.0.16299.15</span>
|
||||
<span class="c1"># * 10.0.17134.1</span>
|
||||
<span class="c1"># * 10.0.17134.48</span>
|
||||
<span class="c1"># * 10.0.17134.2145</span>
|
||||
<span class="c1"># * 10.0.17134.2145</span>
|
||||
<span class="c1"># * 10.0.17763.1</span>
|
||||
<span class="c1"># * 10.0.17763.2931</span>
|
||||
<span class="c1"># * 10.0.17763.6040</span>
|
||||
<span class="c1"># Nb fields: 5</span>
|
||||
<span class="c1"># 10.0.19039.1 -> 10.0.26100.2454</span>
|
||||
<span class="c1"># * 10.0.19039.1</span>
|
||||
<span class="c1"># * 10.0.19041.84</span>
|
||||
<span class="c1"># * 10.0.19041.4894</span>
|
||||
<span class="c1"># * 10.0.22000.65</span>
|
||||
<span class="c1"># * 10.0.22621.2792</span>
|
||||
<span class="c1"># * 10.0.22621.3958</span>
|
||||
<span class="c1"># * 10.0.22621.4111</span>
|
||||
<span class="c1"># * 10.0.22621.4541</span>
|
||||
<span class="c1"># * 10.0.26100.2454</span>
|
||||
<span class="c1"># * 10.0.26100.2454</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">find_correct_localthat_for_version</span><span class="p">():</span>
|
||||
<span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">version</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span><span class="p">)</span> <span class="o"><</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">3</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="kc">None</span>
|
||||
<span class="k">elif</span> <span class="p">(</span><span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span><span class="p">)</span> <span class="o">==</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">3</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHAT32_NT_63</span>
|
||||
<span class="k">assert</span> <span class="n">vmaj</span> <span class="o">==</span> <span class="mi">10</span>
|
||||
<span class="n">vnumber</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">get_file_version</span><span class="p">(</span><span class="sa">r</span><span class="s2">"C:\windows\system32\combase.dll"</span><span class="p">)</span>
|
||||
<span class="c1"># Extract version number from combase</span>
|
||||
<span class="c1"># as it was used to find the struct per version</span>
|
||||
<span class="n">build_number</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">vnumber</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"."</span><span class="p">)[</span><span class="mi">2</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="n">build_number</span> <span class="o"><=</span> <span class="mi">17763</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHAT32_NT_1607</span>
|
||||
<span class="k">elif</span> <span class="n">build_number</span> <span class="o">==</span> <span class="mi">18362</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHAT32_10_1903</span>
|
||||
<span class="k">elif</span> <span class="n">build_number</span> <span class="o">>=</span> <span class="mi">19039</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LOCALTHAT32</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"Unknown LOCALTHAT32 structure for version </span><span class="si">{0}</span><span class="s2">, please share me your combase.dll file"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">versionstr</span><span class="p">))</span>
|
||||
</pre></div>
|
||||
|
||||
<div class="clearer"></div>
|
||||
@@ -284,7 +435,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.rpc.client</a></li>
|
||||
</ul>
|
||||
|
||||
+4
-4
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.winobject.service — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.winobject.service — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.service</a></li>
|
||||
</ul>
|
||||
@@ -342,7 +342,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.service</a></li>
|
||||
</ul>
|
||||
|
||||
+17
-5
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.winobject.system — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.winobject.system — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.system</a></li>
|
||||
</ul>
|
||||
@@ -506,8 +506,9 @@
|
||||
<span class="n">bufstr</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">bufptr</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">LPWSTR</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">bufstr</span><span class="o">.</span><span class="n">value</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">build_number</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Return the `CurrentBuildNumber`"""</span>
|
||||
<span class="c1"># Will only work on Windows 10 ?</span>
|
||||
<span class="n">build</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">kuser_shared_data</span><span class="o">.</span><span class="n">NtBuildNumber</span>
|
||||
<span class="k">if</span> <span class="n">build</span><span class="p">:</span> <span class="c1"># 0 before windows 10</span>
|
||||
@@ -516,6 +517,17 @@
|
||||
<span class="n">key</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">registry</span><span class="p">(</span><span class="sa">r</span><span class="s2">"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion"</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">key</span><span class="p">[</span><span class="s2">"CurrentBuildNumber"</span><span class="p">]</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">display_version</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Return the `DisplayVersion` (22H2, 23H2, ...) is it exists, else None"""</span>
|
||||
<span class="n">key</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">registry</span><span class="p">(</span><span class="sa">r</span><span class="s2">"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion"</span><span class="p">)</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">key</span><span class="p">[</span><span class="s2">"DisplayVersion"</span><span class="p">]</span><span class="o">.</span><span class="n">value</span>
|
||||
<span class="k">except</span> <span class="ne">WindowsError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">e</span><span class="o">.</span><span class="n">winerror</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ERROR_FILE_NOT_FOUND</span><span class="p">:</span>
|
||||
<span class="k">raise</span>
|
||||
<span class="k">return</span> <span class="kc">None</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">versionstr</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="c1"># Best effort. use get_file_version if registry code fails</span>
|
||||
@@ -651,7 +663,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.system</a></li>
|
||||
</ul>
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
const DOCUMENTATION_OPTIONS = {
|
||||
VERSION: '1.0.2',
|
||||
VERSION: '1.0.3',
|
||||
LANGUAGE: 'en',
|
||||
COLLAPSE_INDEX: false,
|
||||
BUILDER: 'html',
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>12. windows.alpc – Advanced Local Procedure Call — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>12. windows.alpc – Advanced Local Procedure Call — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="crypto.html" title="11. windows.crypto – CryptoAPI"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">12. </span><code class="docutils literal notranslate"><span class="pre">windows.alpc</span></code> – Advanced Local Procedure Call</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -544,7 +544,7 @@ ALPC messages over an ALPC port and the classes representing these messages.</p>
|
||||
<li class="right" >
|
||||
<a href="crypto.html" title="11. windows.crypto – CryptoAPI"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">12. </span><code class="docutils literal notranslate"><span class="pre">windows.alpc</span></code> – Advanced Local Procedure Call</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>10. windows.com - Component Object Model — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>10. windows.com - Component Object Model — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="debug.html" title="9. windows.debug – Debugging"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">10. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.com</span></code> - Component Object Model</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -204,7 +204,7 @@ You can then use the instance to call whatever method you need.</p>
|
||||
<li class="right" >
|
||||
<a href="debug.html" title="9. windows.debug – Debugging"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">10. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.com</span></code> - Component Object Model</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>11. windows.crypto – CryptoAPI — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>11. windows.crypto – CryptoAPI — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="com.html" title="10. windows.com - Component Object Model"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">11. </span><code class="docutils literal notranslate"><span class="pre">windows.crypto</span></code> – CryptoAPI</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -774,7 +774,7 @@ See <a class="reference external" href="https://msdn.microsoft.com/en-us/library
|
||||
<li class="right" >
|
||||
<a href="com.html" title="10. windows.com - Component Object Model"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">11. </span><code class="docutils literal notranslate"><span class="pre">windows.crypto</span></code> – CryptoAPI</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>9. windows.debug – Debugging — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>9. windows.debug – Debugging — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="wintrust.html" title="8. windows.wintrust – Checking signature"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">9. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.debug</span></code> – Debugging</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -1404,7 +1404,7 @@ If the symbol include a displacement, it is not taken into account</p>
|
||||
<li class="right" >
|
||||
<a href="wintrust.html" title="8. windows.wintrust – Checking signature"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">9. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.debug</span></code> – Debugging</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.14. Device Manager — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.14. Device Manager — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="object_manager.html" title="2.13. Object Manager – Kernel objects"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.14. </span>Device Manager</a></li>
|
||||
</ul>
|
||||
@@ -964,7 +964,7 @@ This class is a base class, all resources returned by <a class="reference intern
|
||||
<li class="right" >
|
||||
<a href="object_manager.html" title="2.13. Object Manager – Kernel objects"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.14. </span>Device Manager</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>19. Python, Windows & encoding — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>19. Python, Windows & encoding — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<li class="right" >
|
||||
<a href="sample.html" title="18. Samples of code"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">19. </span>Python, Windows & encoding</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -347,7 +347,7 @@ Unicode object repr: <MyUtf8Object name="お前はもう死んでい-к
|
||||
<li class="right" >
|
||||
<a href="sample.html" title="18. Samples of code"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">19. </span>Python, Windows & encoding</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.17. ETW – Event Tracing for Windows — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.17. ETW – Event Tracing for Windows — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="evtlog.html" title="2.16. Event Log"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.17. </span>ETW – Event Tracing for Windows</a></li>
|
||||
</ul>
|
||||
@@ -376,7 +376,7 @@ This allow for simpler script that stop/start some EtwTrace.</p>
|
||||
<li class="right" >
|
||||
<a href="evtlog.html" title="2.16. Event Log"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.17. </span>ETW – Event Tracing for Windows</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.16. Event Log — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.16. Event Log — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="task_scheduler.html" title="2.15. Task scheduler"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.16. </span>Event Log</a></li>
|
||||
</ul>
|
||||
@@ -1051,7 +1051,7 @@ Retrieved by parsing <a class="reference internal" href="#windows.winobject.even
|
||||
<li class="right" >
|
||||
<a href="task_scheduler.html" title="2.15. Task scheduler"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.16. </span>Event Log</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.5. Exception and Context related structures — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.5. Exception and Context related structures — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="token.html" title="2.4. Token"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.5. </span>Exception and Context related structures</a></li>
|
||||
</ul>
|
||||
@@ -669,7 +669,7 @@ Most of the structures are the Windows structure with a prefix <code class="docu
|
||||
<li class="right" >
|
||||
<a href="token.html" title="2.4. Token"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.5. </span>Exception and Context related structures</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>14. windows.generated_def – generated Windows defines and structures — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>14. windows.generated_def – generated Windows defines and structures — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="rpc.html" title="13. windows.rpc – ALPC-based Windows RPC"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -185,7 +185,7 @@
|
||||
<li class="right" >
|
||||
<a href="rpc.html" title="13. windows.rpc – ALPC-based Windows RPC"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+10
-8
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Index — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>Index — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -3355,8 +3355,6 @@
|
||||
<li><a href="interfaces_generated.html#windows.generated_def.interfaces.ITypeComp.BindType">BindType() (windows.generated_def.interfaces.ITypeComp method)</a>
|
||||
</li>
|
||||
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._SECURITY_ATTRIBUTES.bInheritHandle">bInheritHandle (windows.generated_def.winstructs._SECURITY_ATTRIBUTES attribute)</a>
|
||||
</li>
|
||||
<li><a href="process.html#windows.pe_parse.PEFile.binid">binid (windows.pe_parse.PEFile property)</a>
|
||||
</li>
|
||||
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.tagBITMAPINFOHEADER.biPlanes">biPlanes (windows.generated_def.winstructs.tagBITMAPINFOHEADER attribute)</a>
|
||||
</li>
|
||||
@@ -3578,6 +3576,8 @@
|
||||
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._TRACE_LOGFILE_HEADER.BuffersWritten">(windows.generated_def.winstructs._TRACE_LOGFILE_HEADER attribute)</a>
|
||||
</li>
|
||||
</ul></li>
|
||||
<li><a href="windows.html#windows.winobject.system.System.build_number">build_number (windows.winobject.system.System property)</a>
|
||||
</li>
|
||||
<li><a href="winfuncs_generated.html#windows.generated_def.winfuncs.BuildSecurityDescriptorW">BuildSecurityDescriptorW() (in module windows.generated_def.winfuncs)</a>
|
||||
</li>
|
||||
<li><a href="winstructs_generated.html#windows.generated_def.winstructs._KDHELP64.BuildVersion">BuildVersion (windows.generated_def.winstructs._KDHELP64 attribute)</a>
|
||||
@@ -8321,6 +8321,8 @@
|
||||
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.DISPID">DISPID (in module windows.generated_def.winstructs)</a>
|
||||
</li>
|
||||
<li><a href="debug.html#windows.debug.symbols.SymbolInfoA.displacement">displacement (windows.debug.symbols.SymbolInfoA attribute)</a>
|
||||
</li>
|
||||
<li><a href="windows.html#windows.winobject.system.System.display_version">display_version (windows.winobject.system.System property)</a>
|
||||
</li>
|
||||
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.DISPPARAMS">DISPPARAMS (class in windows.generated_def.winstructs)</a>
|
||||
</li>
|
||||
@@ -8841,11 +8843,11 @@
|
||||
<li><a href="windef_generated.html#windows.generated_def.DNS_QUERY_NO_RECURSION">DNS_QUERY_NO_RECURSION (in module windows.generated_def)</a>
|
||||
</li>
|
||||
<li><a href="windef_generated.html#windows.generated_def.DNS_QUERY_NO_WIRE_QUERY">DNS_QUERY_NO_WIRE_QUERY (in module windows.generated_def)</a>
|
||||
</li>
|
||||
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.DNS_QUERY_REQUEST">DNS_QUERY_REQUEST (class in windows.generated_def.winstructs)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.DNS_QUERY_REQUEST">DNS_QUERY_REQUEST (class in windows.generated_def.winstructs)</a>
|
||||
</li>
|
||||
<li><a href="windef_generated.html#windows.generated_def.DNS_QUERY_RESERVED">DNS_QUERY_RESERVED (in module windows.generated_def)</a>
|
||||
</li>
|
||||
<li><a href="winstructs_generated.html#windows.generated_def.winstructs.DNS_QUERY_RESULT">DNS_QUERY_RESULT (class in windows.generated_def.winstructs)</a>
|
||||
@@ -51025,7 +51027,7 @@
|
||||
<li class="right" >
|
||||
<a href="py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.11. Handle – Processes handles — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.11. Handle – Processes handles — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="wmi.html" title="2.10. WMI – Make request to WMI"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.11. </span>Handle – Processes handles</a></li>
|
||||
</ul>
|
||||
@@ -179,7 +179,7 @@
|
||||
<li class="right" >
|
||||
<a href="wmi.html" title="2.10. WMI – Make request to WMI"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.11. </span>Handle – Processes handles</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>15. IAT hooking — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>15. IAT hooking — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="interfaces_generated.html" title="14.7. Interfaces"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">15. </span>IAT hooking</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -247,7 +247,7 @@
|
||||
<li class="right" >
|
||||
<a href="interfaces_generated.html" title="14.7. Interfaces"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">15. </span>IAT hooking</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>Welcome to PythonForWindows’s documentation! — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>Welcome to PythonForWindows’s documentation! — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<li class="right" >
|
||||
<a href="windows.html" title="1. The windows module"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="#">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="#">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Welcome to PythonForWindows’s documentation!</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -310,7 +310,7 @@ Encoding errors at print time might be awkward for unicode string on python2, se
|
||||
<li class="right" >
|
||||
<a href="windows.html" title="1. The windows module"
|
||||
>next</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="#">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="#">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Welcome to PythonForWindows’s documentation!</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>14.7. Interfaces — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>14.7. Interfaces — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="winerror_generated.html" title="14.6. WinError"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" accesskey="U"><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.7. </span>Interfaces</a></li>
|
||||
</ul>
|
||||
@@ -9499,7 +9499,7 @@
|
||||
<li class="right" >
|
||||
<a href="winerror_generated.html" title="14.6. WinError"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" ><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.7. </span>Interfaces</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>17. Internals — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>17. Internals — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="wip.html" title="16. Early Work In Progress"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">17. </span>Internals</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -277,7 +277,7 @@ With these information we are able to know</p>
|
||||
<li class="right" >
|
||||
<a href="wip.html" title="16. Early Work In Progress"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">17. </span>Internals</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>3. windows.native_exec – Native Code Execution — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>3. windows.native_exec – Native Code Execution — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="etw.html" title="2.17. ETW – Event Tracing for Windows"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">3. </span><code class="docutils literal notranslate"><span class="pre">windows.native_exec</span></code> – Native Code Execution</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -558,7 +558,7 @@ the end of your <code class="xref py py-class docutils literal notranslate"><spa
|
||||
<li class="right" >
|
||||
<a href="etw.html" title="2.17. ETW – Event Tracing for Windows"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">3. </span><code class="docutils literal notranslate"><span class="pre">windows.native_exec</span></code> – Native Code Execution</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.7. Network — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.7. Network — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="registry.html" title="2.6. Registry"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.7. </span>Network</a></li>
|
||||
</ul>
|
||||
@@ -597,7 +597,7 @@ Equals <code class="docutils literal notranslate"><span class="pre">remote_port<
|
||||
<li class="right" >
|
||||
<a href="registry.html" title="2.6. Registry"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.7. </span>Network</a></li>
|
||||
</ul>
|
||||
|
||||
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>14.2. Ntstatus — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>14.2. Ntstatus — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="windef_generated.html" title="14.1. WinDef"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" accesskey="U"><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.2. </span>Ntstatus</a></li>
|
||||
</ul>
|
||||
@@ -10875,7 +10875,7 @@
|
||||
<li class="right" >
|
||||
<a href="windef_generated.html" title="14.1. WinDef"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" ><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.2. </span>Ntstatus</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.13. Object Manager – Kernel objects — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.13. Object Manager – Kernel objects — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="system_module.html" title="2.12. System Module – Loaded kernel modules"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.13. </span>Object Manager – Kernel objects</a></li>
|
||||
</ul>
|
||||
@@ -293,7 +293,7 @@ code <a class="reference internal" href="ntstatus_generated.html#windows.generat
|
||||
<li class="right" >
|
||||
<a href="system_module.html" title="2.12. System Module – Loaded kernel modules"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.13. </span>Object Manager – Kernel objects</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>6. windows.pipe – Inter-Process Communication — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>6. windows.pipe – Inter-Process Communication — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="security.html" title="5. windows.security – Security Descriptor & related"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">6. </span><code class="docutils literal notranslate"><span class="pre">windows.pipe</span></code> – Inter-Process Communication</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -247,7 +247,7 @@
|
||||
<li class="right" >
|
||||
<a href="security.html" title="5. windows.security – Security Descriptor & related"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">6. </span><code class="docutils literal notranslate"><span class="pre">windows.pipe</span></code> – Inter-Process Communication</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-17
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.1. Processes and Threads — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.1. Processes and Threads — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="winobject.html" title="2. The windows objects"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.1. </span>Processes and Threads</a></li>
|
||||
</ul>
|
||||
@@ -1442,18 +1442,6 @@ The behavior should match the non-exported function <code class="docutils litera
|
||||
<dt class="sig sig-object py" id="windows.pe_parse.PEFile">
|
||||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">windows.pe_parse.</span></span><span class="sig-name descname"><span class="pre">PEFile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">target</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">baseaddr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">targetedbitness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">transformers</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/pe_parse.html#PEFile"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.pe_parse.PEFile" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Represent a PE loaded in a process (current or remote)</p>
|
||||
<dl class="py property">
|
||||
<dt class="sig sig-object py" id="windows.pe_parse.PEFile.binid">
|
||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">binid</span></span><a class="headerlink" href="#windows.pe_parse.PEFile.binid" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return the hex-string {TimeStamp}{SizeOfCode} used by PDB to identify a PE.</p>
|
||||
<p>I do not know the official name of this value…</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Type<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py property">
|
||||
<dt class="sig sig-object py" id="windows.pe_parse.PEFile.export_name">
|
||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">export_name</span></span><a class="headerlink" href="#windows.pe_parse.PEFile.export_name" title="Link to this definition">¶</a></dt>
|
||||
@@ -1776,7 +1764,6 @@ You MUST keep a reference to the hook while the hook is enabled.</p>
|
||||
<li><a class="reference internal" href="#windows.pe_parse.GetPEFile"><code class="docutils literal notranslate"><span class="pre">GetPEFile()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#pefile">2.3.1.1. PEFile</a><ul>
|
||||
<li><a class="reference internal" href="#windows.pe_parse.PEFile"><code class="docutils literal notranslate"><span class="pre">PEFile</span></code></a><ul>
|
||||
<li><a class="reference internal" href="#windows.pe_parse.PEFile.binid"><code class="docutils literal notranslate"><span class="pre">binid</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.pe_parse.PEFile.export_name"><code class="docutils literal notranslate"><span class="pre">export_name</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.pe_parse.PEFile.exports"><code class="docutils literal notranslate"><span class="pre">exports</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.pe_parse.PEFile.imports"><code class="docutils literal notranslate"><span class="pre">imports</span></code></a></li>
|
||||
@@ -1849,7 +1836,7 @@ You MUST keep a reference to the hook while the hook is enabled.</p>
|
||||
<li class="right" >
|
||||
<a href="winobject.html" title="2. The windows objects"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.1. </span>Processes and Threads</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Python Module Index — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>Python Module Index — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<li class="right" >
|
||||
<a href="#" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Python Module Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -297,7 +297,7 @@
|
||||
<li class="right" >
|
||||
<a href="#" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Python Module Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.6. Registry — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.6. Registry — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="exception.html" title="2.5. Exception and Context related structures"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.6. </span>Registry</a></li>
|
||||
</ul>
|
||||
@@ -333,7 +333,7 @@
|
||||
<li class="right" >
|
||||
<a href="exception.html" title="2.5. Exception and Context related structures"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.6. </span>Registry</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+8
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>13. windows.rpc – ALPC-based Windows RPC — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>13. windows.rpc – ALPC-based Windows RPC — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="alpc.html" title="12. windows.alpc – Advanced Local Procedure Call"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">13. </span><code class="docutils literal notranslate"><span class="pre">windows.rpc</span></code> – ALPC-based Windows RPC</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -112,6 +112,10 @@ Handle <a class="reference external" href="https://learn.microsoft.com/en-us/ope
|
||||
</dd>
|
||||
</dl>
|
||||
</div></blockquote>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>Since <cite>1.0.3</cite> if the call is an ORPC call, the <cite>ORPCTHAT</cite> & <cite>LOCALTHAT</cite> present in the response are parsed and striped from the result.</p>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
@@ -603,7 +607,7 @@ an attribute <code class="docutils literal notranslate"><span class="pre">MEMBER
|
||||
<li class="right" >
|
||||
<a href="alpc.html" title="12. windows.alpc – Advanced Local Procedure Call"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">13. </span><code class="docutils literal notranslate"><span class="pre">windows.rpc</span></code> – ALPC-based Windows RPC</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>18. Samples of code — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>18. Samples of code — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="internals.html" title="17. Internals"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">18. </span>Samples of code</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -4697,7 +4697,7 @@ BYE
|
||||
<li class="right" >
|
||||
<a href="internals.html" title="17. Internals"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">18. </span>Samples of code</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -4,13 +4,13 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Search — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>Search — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<li class="right" >
|
||||
<a href="py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Search</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -89,7 +89,7 @@
|
||||
<li class="right" >
|
||||
<a href="py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Search</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>5. windows.security – Security Descriptor & related — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>5. windows.security – Security Descriptor & related — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="winproxy.html" title="4. windows.winproxy – Windows API"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">5. </span><code class="docutils literal notranslate"><span class="pre">windows.security</span></code> – Security Descriptor & related</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -2014,7 +2014,7 @@ You should not need to instanciate/use them directly.</p>
|
||||
<li class="right" >
|
||||
<a href="winproxy.html" title="4. windows.winproxy – Windows API"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">5. </span><code class="docutils literal notranslate"><span class="pre">windows.security</span></code> – Security Descriptor & related</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.8. Service — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.8. Service — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="network.html" title="2.7. Network"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.8. </span>Service</a></li>
|
||||
</ul>
|
||||
@@ -325,7 +325,7 @@
|
||||
<li class="right" >
|
||||
<a href="network.html" title="2.7. Network"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.8. </span>Service</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.12. System Module – Loaded kernel modules — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.12. System Module – Loaded kernel modules — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="handle.html" title="2.11. Handle – Processes handles"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.12. </span>System Module – Loaded kernel modules</a></li>
|
||||
</ul>
|
||||
@@ -314,7 +314,7 @@
|
||||
<li class="right" >
|
||||
<a href="handle.html" title="2.11. Handle – Processes handles"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.12. </span>System Module – Loaded kernel modules</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.15. Task scheduler — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.15. Task scheduler — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="device_manager.html" title="2.14. Device Manager"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.15. </span>Task scheduler</a></li>
|
||||
</ul>
|
||||
@@ -1171,7 +1171,7 @@ and the security descriptor of the task.</p>
|
||||
<li class="right" >
|
||||
<a href="device_manager.html" title="2.14. Device Manager"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.15. </span>Task scheduler</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.4. Token — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.4. Token — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="process.html" title="2.1. Processes and Threads"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.4. </span>Token</a></li>
|
||||
</ul>
|
||||
@@ -1073,7 +1073,7 @@ There can be many tokens representing a single logon session.</p>
|
||||
<li class="right" >
|
||||
<a href="process.html" title="2.1. Processes and Threads"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.4. </span>Token</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>7. windows.utils – Windows Utilities — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>7. windows.utils – Windows Utilities — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="pipe.html" title="6. windows.pipe – Inter-Process Communication"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">7. </span><code class="docutils literal notranslate"><span class="pre">windows.utils</span></code> – Windows Utilities</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -288,7 +288,7 @@ Useful in injection of GUI process</p>
|
||||
<li class="right" >
|
||||
<a href="pipe.html" title="6. windows.pipe – Inter-Process Communication"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">7. </span><code class="docutils literal notranslate"><span class="pre">windows.utils</span></code> – Windows Utilities</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.9. Volume – The logical drives — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.9. Volume – The logical drives — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="service.html" title="2.8. Service"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.9. </span>Volume – The logical drives</a></li>
|
||||
</ul>
|
||||
@@ -194,7 +194,7 @@
|
||||
<li class="right" >
|
||||
<a href="service.html" title="2.8. Service"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.9. </span>Volume – The logical drives</a></li>
|
||||
</ul>
|
||||
|
||||
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>14.1. WinDef — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>14.1. WinDef — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="generated.html" title="14. windows.generated_def – generated Windows defines and structures"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" accesskey="U"><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.1. </span>WinDef</a></li>
|
||||
</ul>
|
||||
@@ -20679,7 +20679,7 @@ Base 0 means to interpret the base from the string as an integer literal.
|
||||
<li class="right" >
|
||||
<a href="generated.html" title="14. windows.generated_def – generated Windows defines and structures"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" ><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.1. </span>WinDef</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+18
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>1. The windows module — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>1. The windows module — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="index.html" title="Welcome to PythonForWindows’s documentation!"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">1. </span>The <code class="docutils literal notranslate"><span class="pre">windows</span></code> module</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -94,6 +94,12 @@ It also offers some submodules aimed to help the interfacing with <code class="d
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py property">
|
||||
<dt class="sig sig-object py" id="windows.winobject.system.System.build_number">
|
||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">build_number</span></span><a class="headerlink" href="#windows.winobject.system.System.build_number" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return the <cite>CurrentBuildNumber</cite></p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py property">
|
||||
<dt class="sig sig-object py" id="windows.winobject.system.System.computer_name">
|
||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">computer_name</span></span><a class="headerlink" href="#windows.winobject.system.System.computer_name" title="Link to this definition">¶</a></dt>
|
||||
@@ -116,6 +122,12 @@ It also offers some submodules aimed to help the interfacing with <code class="d
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py property">
|
||||
<dt class="sig sig-object py" id="windows.winobject.system.System.display_version">
|
||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">display_version</span></span><a class="headerlink" href="#windows.winobject.system.System.display_version" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return the <cite>DisplayVersion</cite> (22H2, 23H2, …) is it exists, else None</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py property">
|
||||
<dt class="sig sig-object py" id="windows.winobject.system.System.environ">
|
||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">environ</span></span><a class="headerlink" href="#windows.winobject.system.System.environ" title="Link to this definition">¶</a></dt>
|
||||
@@ -342,8 +354,10 @@ Custom dict built on GetEnvironmentStringsW() on py2</p>
|
||||
<li><a class="reference internal" href="#the-system-object">1.1. The <code class="docutils literal notranslate"><span class="pre">system</span></code> object</a><ul>
|
||||
<li><a class="reference internal" href="#windows.winobject.system.System"><code class="docutils literal notranslate"><span class="pre">System</span></code></a><ul>
|
||||
<li><a class="reference internal" href="#windows.winobject.system.System.bitness"><code class="docutils literal notranslate"><span class="pre">bitness</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.winobject.system.System.build_number"><code class="docutils literal notranslate"><span class="pre">build_number</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.winobject.system.System.computer_name"><code class="docutils literal notranslate"><span class="pre">computer_name</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.winobject.system.System.device_manager"><code class="docutils literal notranslate"><span class="pre">device_manager</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.winobject.system.System.display_version"><code class="docutils literal notranslate"><span class="pre">display_version</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.winobject.system.System.environ"><code class="docutils literal notranslate"><span class="pre">environ</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.winobject.system.System.etw"><code class="docutils literal notranslate"><span class="pre">etw</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.winobject.system.System.event_log"><code class="docutils literal notranslate"><span class="pre">event_log</span></code></a></li>
|
||||
@@ -416,7 +430,7 @@ Custom dict built on GetEnvironmentStringsW() on py2</p>
|
||||
<li class="right" >
|
||||
<a href="index.html" title="Welcome to PythonForWindows’s documentation!"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">1. </span>The <code class="docutils literal notranslate"><span class="pre">windows</span></code> module</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>14.6. WinError — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>14.6. WinError — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="winfuncs_generated.html" title="14.5. Functions"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" accesskey="U"><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.6. </span>WinError</a></li>
|
||||
</ul>
|
||||
@@ -41451,7 +41451,7 @@
|
||||
<li class="right" >
|
||||
<a href="winfuncs_generated.html" title="14.5. Functions"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" ><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.6. </span>WinError</a></li>
|
||||
</ul>
|
||||
|
||||
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>14.5. Functions — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>14.5. Functions — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="winstructs_generated.html" title="14.3. Winstructs"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" accesskey="U"><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.5. </span>Functions</a></li>
|
||||
</ul>
|
||||
@@ -5217,7 +5217,7 @@
|
||||
<li class="right" >
|
||||
<a href="winstructs_generated.html" title="14.3. Winstructs"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" ><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.5. </span>Functions</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2. The windows objects — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2. The windows objects — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="windows.html" title="1. The windows module"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -434,7 +434,7 @@ parts are accessible.</p>
|
||||
<li class="right" >
|
||||
<a href="windows.html" title="1. The windows module"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>4. windows.winproxy – Windows API — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>4. windows.winproxy – Windows API — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="native_exec.html" title="3. windows.native_exec – Native Code Execution"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">4. </span><code class="docutils literal notranslate"><span class="pre">windows.winproxy</span></code> – Windows API</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -286,7 +286,7 @@ set self.__traceback__ to tb and return self.</p>
|
||||
<li class="right" >
|
||||
<a href="native_exec.html" title="3. windows.native_exec – Native Code Execution"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">4. </span><code class="docutils literal notranslate"><span class="pre">windows.winproxy</span></code> – Windows API</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>14.3. Winstructs — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>14.3. Winstructs — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="ntstatus_generated.html" title="14.2. Ntstatus"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" accesskey="U"><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.3. </span>Winstructs</a></li>
|
||||
</ul>
|
||||
@@ -61835,7 +61835,7 @@
|
||||
<li class="right" >
|
||||
<a href="ntstatus_generated.html" title="14.2. Ntstatus"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" ><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.3. </span>Winstructs</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>8. windows.wintrust – Checking signature — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>8. windows.wintrust – Checking signature — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="utils.html" title="7. windows.utils – Windows Utilities"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">8. </span><code class="docutils literal notranslate"><span class="pre">windows.wintrust</span></code> – Checking signature</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -227,7 +227,7 @@ It allows to check the signature of a file.</p>
|
||||
<li class="right" >
|
||||
<a href="utils.html" title="7. windows.utils – Windows Utilities"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">8. </span><code class="docutils literal notranslate"><span class="pre">windows.wintrust</span></code> – Checking signature</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>16. Early Work In Progress — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>16. Early Work In Progress — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="iat_hook.html" title="15. IAT hooking"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">16. </span>Early Work In Progress</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -103,7 +103,7 @@
|
||||
<li class="right" >
|
||||
<a href="iat_hook.html" title="15. IAT hooking"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">16. </span>Early Work In Progress</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.10. WMI – Make request to WMI — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>2.10. WMI – Make request to WMI — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="volume.html" title="2.9. Volume – The logical drives"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.10. </span>WMI – Make request to WMI</a></li>
|
||||
</ul>
|
||||
@@ -661,7 +661,7 @@ If <code class="docutils literal notranslate"><span class="pre">system_propertie
|
||||
<li class="right" >
|
||||
<a href="volume.html" title="2.9. Volume – The logical drives"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.10. </span>WMI – Make request to WMI</a></li>
|
||||
</ul>
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ copyright = u'2015-2020, Clement Rouault'
|
||||
# The short X.Y version.
|
||||
version = '1.0'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '1.0.2'
|
||||
release = '1.0.3'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
||||
@@ -156,4 +156,14 @@ def test_psid_from_to_string():
|
||||
initial_str = "S-1-5-12345"
|
||||
sid = gdef.PSID.from_string(initial_str)
|
||||
assert str(sid) == initial_str
|
||||
assert gdef.PSID.from_string(str(sid)) == sid
|
||||
assert gdef.PSID.from_string(str(sid)) == sid
|
||||
|
||||
def test_MIDL_XmitDefs_0001_NT_1607():
|
||||
# First definition was broken
|
||||
# 0:000> dt combase_32!__MIDL_XmitDefs_0001
|
||||
# +0x000 asyncOperationId : _GUID
|
||||
# +0x010 oxidClientProcessNA : Uint8B
|
||||
# +0x018 originalClientLogicalThreadId : _GUID
|
||||
# +0x028 uClientCausalityTraceId : Uint8B
|
||||
assert gdef.MIDL_XmitDefs_0001_NT_1607.originalClientLogicalThreadId.offset == 0x018
|
||||
assert gdef.MIDL_XmitDefs_0001_NT_1607.uClientCausalityTraceId.offset == 0x028
|
||||
@@ -0,0 +1,51 @@
|
||||
import sys
|
||||
import pytest
|
||||
import os.path
|
||||
import time
|
||||
|
||||
import windows.rpc.stubborn
|
||||
import windows.rpc as rpc
|
||||
from windows.rpc import ndr
|
||||
import windows.generated_def as gdef
|
||||
|
||||
from .pfwtest import *
|
||||
|
||||
# Test ORPC capabilities by manually connecting to a DCOM Object and querying a simple method
|
||||
# The server choosen is 0002DF01-0000-0000-C000-000000000046 (Internet Explorer)
|
||||
# Target is IWebBrowser2->get_FullName which should return a path to iexplorer
|
||||
# A second check about in parameters can be done with put_Left / get_Left or put_Visible
|
||||
def test_orpc_iexplore():
|
||||
iid = gdef.IWebBrowser2.IID
|
||||
client, ipid = windows.rpc.stubborn.stubborn_create_instance("0002DF01-0000-0000-C000-000000000046", iid)
|
||||
|
||||
# get_FullName
|
||||
addrep = client.call(iid, 38, b"", ipid=ipid)
|
||||
assert addrep.startswith(b"User") # NdrUserMarshalMarshall setup 'User' as first DWORD
|
||||
fullname = addrep[4 * 4:].decode("utf-16-le").rstrip("\x00") # User | Size | Flags | Size of NDR BSTR
|
||||
assert fullname.lower().endswith("iexplore.exe")
|
||||
|
||||
# put_Visible
|
||||
# addrep = client.call(iid, 41, b"\x01\x00\x00\x00", ipid=ipid)
|
||||
|
||||
# put_Left
|
||||
addrep = client.call(iid, 22, b"\x42\x00\x00\x00", ipid=ipid)
|
||||
|
||||
# get_Left
|
||||
addrep = client.call(iid, 21, b"0", ipid=ipid)
|
||||
# py2/py3
|
||||
assert addrep[0] in (b"B", 66) # Check that put_Left worked and this LOCALTHIS is correct of send
|
||||
|
||||
# Quit
|
||||
client.call(iid, 32, b"", ipid=ipid)
|
||||
|
||||
# Test ORPC capabilities by manually connecting to a DCOM Object and querying a simple method
|
||||
# The server choosen is A47979D2-C419-11D9-A5B4-001185AD2B89 (Service C:\Windows\System32\netprofmsvc.dll)
|
||||
# Target is INetWorkListManager->GetConnectivity (17) which should return a simple byte about network state
|
||||
# IsConnectedToInternet(15) / IsConnected(16) should works too
|
||||
def test_orpc_network_manager():
|
||||
"""ORPC: Testing ORPCTHAT size using a method that takes no arguments and returns a single bytes"""
|
||||
iid = gdef.GUID.from_string("D0074FFD-570F-4A9B-8D69-199FDBA5723B")
|
||||
client, ipid = windows.rpc.stubborn.stubborn_create_instance("A47979D2-C419-11D9-A5B4-001185AD2B89", iid)
|
||||
response = client.call(iid, 17, b"", ipid=ipid)
|
||||
assert response[0] not in (b"\x00", 0)
|
||||
|
||||
@@ -10,6 +10,7 @@ Exported:
|
||||
|
||||
current_thread : :class:`windows.winobject.CurrentThread`
|
||||
"""
|
||||
__version__ = "1.0.3"
|
||||
|
||||
# check we are on windows
|
||||
import sys
|
||||
|
||||
@@ -437,6 +437,8 @@ class AlpcClient(AlpcTransportBase):
|
||||
def disconnect(self):
|
||||
if self.handle:
|
||||
self._close_port(self.handle)
|
||||
self.handle = None
|
||||
|
||||
|
||||
def __del__(self):
|
||||
if sys.path is not None:
|
||||
@@ -531,8 +533,10 @@ class AlpcServer(AlpcTransportBase):
|
||||
def disconnect(self):
|
||||
if self.handle:
|
||||
self._close_port(self.handle)
|
||||
self.handle = None
|
||||
for com_port_handle in self.communication_port_list:
|
||||
self._close_port(com_port_handle)
|
||||
del self.communication_port_list[:]
|
||||
|
||||
# TODO: add an API to close a communication port ?
|
||||
|
||||
|
||||
@@ -943,6 +943,7 @@ windef = {'ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'DUPLICATE_SAME_ACCESS',
|
||||
'DWORDLONG_MAX',
|
||||
'DWORD_MAX',
|
||||
'ENTRYHDRSIG',
|
||||
'ERROR_AUTHENTICODE_DISALLOWED',
|
||||
'ERROR_AUTHENTICODE_PUBLISHER_NOT_TRUSTED',
|
||||
'ERROR_AUTHENTICODE_TRUSTED_PUBLISHER',
|
||||
@@ -1868,6 +1869,7 @@ windef = {'ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'LPC_REQUEST',
|
||||
'MAILSLOT_NO_MESSAGE',
|
||||
'MAILSLOT_WAIT_FOREVER',
|
||||
'MAINHDRSIG',
|
||||
'MAXIMUM_ALLOWED',
|
||||
'MAXIMUM_XSTATE_FEATURES',
|
||||
'MAXLEN_IFDESCR',
|
||||
@@ -3164,6 +3166,7 @@ windef = {'ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'TXFS_MINIVERSION_COMMITTED_VIEW',
|
||||
'TXFS_MINIVERSION_DEFAULT_VIEW',
|
||||
'TXFS_MINIVERSION_DIRTY_VIEW',
|
||||
'UNIQUE_FLAG_PADDING',
|
||||
'UNLOAD_DLL_DEBUG_EVENT',
|
||||
'UNPROTECTED_DACL_SECURITY_INFORMATION',
|
||||
'UNPROTECTED_SACL_SECURITY_INFORMATION',
|
||||
@@ -12544,8 +12547,14 @@ structs = {'ACCESS_ALLOWED_ACE',
|
||||
'LOCALGROUP_MEMBERS_INFO_3',
|
||||
'LOCALTHAT',
|
||||
'LOCALTHAT32',
|
||||
'LOCALTHAT32_10_1903',
|
||||
'LOCALTHAT32_NT_1607',
|
||||
'LOCALTHAT32_NT_63',
|
||||
'LOCALTHIS',
|
||||
'LOCALTHIS32',
|
||||
'LOCALTHIS32_NT_1607',
|
||||
'LOCALTHIS32_NT_62',
|
||||
'LOCALTHIS32_NT_63',
|
||||
'LPADDRESS',
|
||||
'LPADDRESS64',
|
||||
'LPBINDPTR',
|
||||
@@ -12689,9 +12698,15 @@ structs = {'ACCESS_ALLOWED_ACE',
|
||||
'MIB_UDPTABLE_OWNER_PID',
|
||||
'MIDL_ILocalObjectExporter_0007',
|
||||
'MIDL_XmitDefs_0001',
|
||||
'MIDL_XmitDefs_0001_NT_1607',
|
||||
'MIDL_XmitDefs_0005',
|
||||
'MIDL_XmitDefs_0007',
|
||||
'MIDL_XmitDefs_0008',
|
||||
'MIDL_XmitDefs_0010',
|
||||
'MInterfacePointer',
|
||||
'MODLOAD_DATA',
|
||||
'MULTI_QI',
|
||||
'MainHeader',
|
||||
'Mem_Des_s',
|
||||
'Mem_Large_Des_s',
|
||||
'Mem_Large_Range_s',
|
||||
@@ -13537,6 +13552,8 @@ structs = {'ACCESS_ALLOWED_ACE',
|
||||
'WSAPROTOCOLCHAIN',
|
||||
'WSAPROTOCOL_INFOA',
|
||||
'WSAPROTOCOL_INFOW',
|
||||
'WireExtent',
|
||||
'WireExtentArray',
|
||||
'XSAVE_FORMAT_32',
|
||||
'XSAVE_FORMAT_64',
|
||||
'XSTATE_CONFIGURATION',
|
||||
@@ -13845,8 +13862,10 @@ structs = {'ACCESS_ALLOWED_ACE',
|
||||
'_LOCALGROUP_MEMBERS_INFO_3',
|
||||
'_LOCALTHAT',
|
||||
'_LOCALTHAT32',
|
||||
'_LOCALTHAT32_10_1903',
|
||||
'_LOCALTHIS',
|
||||
'_LOCALTHIS32',
|
||||
'_LOCALTHIS32_NT_1607',
|
||||
'_LSA_OBJECT_ATTRIBUTES',
|
||||
'_LSA_REFERENCED_DOMAIN_LIST',
|
||||
'_LSA_TRANSLATED_NAME',
|
||||
@@ -14086,6 +14105,13 @@ structs = {'ACCESS_ALLOWED_ACE',
|
||||
'_XSTATE_FEATURE',
|
||||
'__MIDL_IBackgroundCopyJob2_0003',
|
||||
'__MIDL_IBackgroundCopyJob2_0004',
|
||||
'__MIDL_XmitDefs_0001_NT_1607',
|
||||
'__MIDL_XmitDefs_0001_NT_63',
|
||||
'__MIDL_XmitDefs_0002_NT_1607',
|
||||
'__MIDL_XmitDefs_0005',
|
||||
'__MIDL_XmitDefs_0007',
|
||||
'__MIDL_XmitDefs_0008',
|
||||
'__MIDL_XmitDefs_0010',
|
||||
'__PUBLIC_OBJECT_TYPE_INFORMATION',
|
||||
'__tagBRECORD',
|
||||
'__tagVARIANT',
|
||||
@@ -14123,6 +14149,7 @@ structs = {'ACCESS_ALLOWED_ACE',
|
||||
'tagIDLDESC',
|
||||
'tagMInterfacePointer',
|
||||
'tagMULTI_QI',
|
||||
'tagMainHeader',
|
||||
'tagOBJREF',
|
||||
'tagOBJREFDATA',
|
||||
'tagORPCTHAT',
|
||||
|
||||
@@ -169,6 +169,9 @@ SORF_OXRES7 = make_flag("SORF_OXRES7", ( 0x400 ))
|
||||
SORF_OXRES8 = make_flag("SORF_OXRES8", ( 0x800 ))
|
||||
SORF_NULL = make_flag("SORF_NULL", ( 0 ))
|
||||
SORF_NOPING = make_flag("SORF_NOPING", ( 0x1000 ))
|
||||
UNIQUE_FLAG_PADDING = make_flag("UNIQUE_FLAG_PADDING", 2)
|
||||
MAINHDRSIG = make_flag("MAINHDRSIG", 0x414E554B)
|
||||
ENTRYHDRSIG = make_flag("ENTRYHDRSIG", 0x494E414E)
|
||||
CWCSTORAGENAME = make_flag("CWCSTORAGENAME", 32)
|
||||
STGM_DIRECT = make_flag("STGM_DIRECT", 0x00000000)
|
||||
STGM_TRANSACTED = make_flag("STGM_TRANSACTED", 0x00010000)
|
||||
|
||||
@@ -1478,18 +1478,6 @@ class _LOCALTHIS(Structure):
|
||||
]
|
||||
LOCALTHIS = _LOCALTHIS
|
||||
|
||||
class _LOCALTHIS32(Structure):
|
||||
_fields_ = [
|
||||
("dwFlags", DWORD),
|
||||
("dwClientThread", DWORD),
|
||||
("passthroughTraceActivity", GUID),
|
||||
("callTraceActivity", GUID),
|
||||
("asyncRequestBlock", MIDL_XmitDefs_0001),
|
||||
("reserved", DWORD),
|
||||
("pTouchedAstaArray", PVOID32),
|
||||
]
|
||||
LOCALTHIS32 = _LOCALTHIS32
|
||||
|
||||
class _MIDL_XmitDefs_0007(Structure):
|
||||
_fields_ = [
|
||||
("pointOfFailure", INT),
|
||||
@@ -1561,16 +1549,6 @@ class _LOCALTHAT(Structure):
|
||||
]
|
||||
LOCALTHAT = _LOCALTHAT
|
||||
|
||||
class _LOCALTHAT32(Structure):
|
||||
_fields_ = [
|
||||
("marshalingSetId", UINT64),
|
||||
("reserved", ULONG),
|
||||
("pAsyncResponseBlock", PVOID32),
|
||||
("containerErrorInformation", PVOID32),
|
||||
("containerPassthroughData", PVOID32),
|
||||
]
|
||||
LOCALTHAT32 = _LOCALTHAT32
|
||||
|
||||
class tagORPCTHAT(Structure):
|
||||
_fields_ = [
|
||||
("flags", ULONG),
|
||||
@@ -1585,6 +1563,170 @@ class ORPCTHAT32(Structure):
|
||||
]
|
||||
|
||||
|
||||
class WireExtentArray(Structure):
|
||||
_fields_ = [
|
||||
("size", ULONG),
|
||||
("reserved", ULONG),
|
||||
("unique", ULONG),
|
||||
("rounded_size", ULONG),
|
||||
("unique_flag", ULONG * (UNIQUE_FLAG_PADDING)),
|
||||
]
|
||||
|
||||
|
||||
class WireExtent(Structure):
|
||||
_fields_ = [
|
||||
("rounded_size", ULONG),
|
||||
("id", GUID),
|
||||
("size", ULONG),
|
||||
]
|
||||
|
||||
|
||||
class tagMainHeader(Structure):
|
||||
_fields_ = [
|
||||
("Signature", ULONG),
|
||||
("Version", ULONG),
|
||||
("cPolicies", ULONG),
|
||||
("cbBuffer", ULONG),
|
||||
("cbSize", ULONG),
|
||||
("hr", LONG),
|
||||
("hrServer", LONG),
|
||||
("reserved", LONG),
|
||||
]
|
||||
MainHeader = tagMainHeader
|
||||
|
||||
class LOCALTHIS32_NT_62(Structure):
|
||||
_fields_ = [
|
||||
("dwFlags", ULONG),
|
||||
("dwClientThread", ULONG),
|
||||
]
|
||||
|
||||
|
||||
class __MIDL_XmitDefs_0001_NT_63(Structure):
|
||||
_fields_ = [
|
||||
("size", ULONG),
|
||||
("reserved", ULONG),
|
||||
("pAstaOxids", POINTER(UINT64)),
|
||||
]
|
||||
|
||||
|
||||
class LOCALTHIS32_NT_63(Structure):
|
||||
_fields_ = [
|
||||
("dwFlags", ULONG),
|
||||
("dwClientThread", ULONG),
|
||||
("reserved", ULONG),
|
||||
("pTouchedAstaArray", PVOID32),
|
||||
]
|
||||
|
||||
|
||||
class LOCALTHAT32_NT_63(Structure):
|
||||
_fields_ = [
|
||||
("marshalingSetAcknowledgmentOxid", UINT64),
|
||||
("marshalingSetId", UINT64),
|
||||
]
|
||||
|
||||
|
||||
class __MIDL_XmitDefs_0002_NT_1607(Structure):
|
||||
_fields_ = [
|
||||
("size", ULONG),
|
||||
("reserved", ULONG),
|
||||
("pAstaOxids", PVOID32),
|
||||
]
|
||||
|
||||
|
||||
class __MIDL_XmitDefs_0001_NT_1607(Structure):
|
||||
_fields_ = [
|
||||
("asyncOperationId", _GUID),
|
||||
("oxidClientProcessNA", UINT64),
|
||||
("originalClientLogicalThreadId", _GUID),
|
||||
("uClientCausalityTraceId", UINT64),
|
||||
]
|
||||
MIDL_XmitDefs_0001_NT_1607 = __MIDL_XmitDefs_0001_NT_1607
|
||||
|
||||
class _LOCALTHIS32_NT_1607(Structure):
|
||||
_fields_ = [
|
||||
("dwFlags", ULONG),
|
||||
("dwClientThread", ULONG),
|
||||
("asyncRequestBlock", MIDL_XmitDefs_0001_NT_1607),
|
||||
("reserved", ULONG),
|
||||
("pTouchedAstaArray", PVOID32),
|
||||
]
|
||||
LOCALTHIS32_NT_1607 = _LOCALTHIS32_NT_1607
|
||||
|
||||
class __MIDL_XmitDefs_0007(Structure):
|
||||
_fields_ = [
|
||||
("pointOfFailure", INT),
|
||||
("hrFailure", HRESULT),
|
||||
("sizeOfMarshaledErrorInfo", ULONG),
|
||||
("reserved", ULONG),
|
||||
("pMarshaledErrorInfo", POINTER(BYTE)),
|
||||
]
|
||||
MIDL_XmitDefs_0007 = __MIDL_XmitDefs_0007
|
||||
|
||||
class __MIDL_XmitDefs_0005(Structure):
|
||||
_fields_ = [
|
||||
("sizeOfMarshaledResults", ULONG),
|
||||
("reserved", ULONG),
|
||||
("pMarshaledResults", POINTER(BYTE)),
|
||||
]
|
||||
MIDL_XmitDefs_0005 = __MIDL_XmitDefs_0005
|
||||
|
||||
class __MIDL_XmitDefs_0008(Structure):
|
||||
_fields_ = [
|
||||
("outcome", INT),
|
||||
("successDetails", MIDL_XmitDefs_0005),
|
||||
("failureDetails", MIDL_XmitDefs_0007),
|
||||
]
|
||||
MIDL_XmitDefs_0008 = __MIDL_XmitDefs_0008
|
||||
|
||||
class __MIDL_XmitDefs_0010(Structure):
|
||||
_fields_ = [
|
||||
("asyncStatus", ULONG),
|
||||
("reserved1", ULONG),
|
||||
("uServerCausalityTraceId", UINT64),
|
||||
("reserved2", ULONG),
|
||||
("pOutcomeDetails", POINTER(PVOID32)),
|
||||
]
|
||||
MIDL_XmitDefs_0010 = __MIDL_XmitDefs_0010
|
||||
|
||||
class LOCALTHAT32_NT_1607(Structure):
|
||||
_fields_ = [
|
||||
("marshalingSetAcknowledgmentOxid", UINT64),
|
||||
("marshalingSetId", UINT64),
|
||||
("reserved", ULONG),
|
||||
("pAsyncResponseBlock", PVOID32),
|
||||
]
|
||||
|
||||
|
||||
class _LOCALTHAT32_10_1903(Structure):
|
||||
_fields_ = [
|
||||
("marshalingSetId", UINT64),
|
||||
("pAsyncResponseBlock", PVOID32),
|
||||
("containerPassthroughData", PVOID32),
|
||||
]
|
||||
LOCALTHAT32_10_1903 = _LOCALTHAT32_10_1903
|
||||
|
||||
class _LOCALTHIS32(Structure):
|
||||
_fields_ = [
|
||||
("dwFlags", DWORD),
|
||||
("dwClientThread", DWORD),
|
||||
("passthroughTraceActivity", GUID),
|
||||
("callTraceActivity", GUID),
|
||||
("asyncRequestBlock", MIDL_XmitDefs_0001),
|
||||
("reserved", DWORD),
|
||||
("pTouchedAstaArray", PVOID32),
|
||||
]
|
||||
LOCALTHIS32 = _LOCALTHIS32
|
||||
|
||||
class _LOCALTHAT32(Structure):
|
||||
_fields_ = [
|
||||
("marshalingSetId", UINT64),
|
||||
("reserved", ULONG),
|
||||
("pAsyncResponseBlock", PVOID32),
|
||||
("containerErrorInformation", PVOID32),
|
||||
("containerPassthroughData", PVOID32),
|
||||
]
|
||||
LOCALTHAT32 = _LOCALTHAT32
|
||||
|
||||
VIRTUAL_DISK_ACCESS_NONE = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_NONE", 0x0)
|
||||
VIRTUAL_DISK_ACCESS_ATTACH_RO = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_ATTACH_RO", 0x1)
|
||||
VIRTUAL_DISK_ACCESS_ATTACH_RW = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_ATTACH_RW", 0x2)
|
||||
|
||||
+169
-15
@@ -62,9 +62,26 @@ class ALPC_RPC_CALL(ctypes.Structure):
|
||||
("orpc_ipid", gdef.GUID)
|
||||
]
|
||||
|
||||
# Was an array of 6 DWORD, new class inspired by :
|
||||
# https://github.com/googleprojectzero/sandbox-attacksurface-analysis-tools/blob/main/NtCoreLib/Win32/Rpc/Transport/Alpc/LRPC_IMMEDIATE_RESPONSE_MESSAGE.cs#L22
|
||||
|
||||
class ALPC_RPC_RESPONSE(ctypes.Structure):
|
||||
_pack_ = 1
|
||||
_fields_ = [
|
||||
("request_type", gdef.DWORD),
|
||||
("UNK1", gdef.DWORD),
|
||||
("flags",gdef.DWORD),
|
||||
("request_id", gdef.DWORD),
|
||||
("UNK2", gdef.DWORD),
|
||||
("UNK3", gdef.DWORD),
|
||||
]
|
||||
|
||||
class RPCClient(object):
|
||||
"""A client for RPC-over-ALPC able to bind to interface and perform calls using NDR32 marshalling"""
|
||||
REQUEST_IDENTIFIER = 0x11223344
|
||||
REQUEST_IDENTIFIER = 0x42424242
|
||||
# Used to recognize ORPC call we made
|
||||
# thus we know the response contains a orpcthat & localthat
|
||||
REQUEST_IDENTIFIER_ORPC = 0x43434343
|
||||
|
||||
def __init__(self, port):
|
||||
self.alpc_client = alpc.AlpcClient(port) #: The :class:`windows.alpc.AlpcClient` used to communicate with the server
|
||||
@@ -111,6 +128,10 @@ class RPCClient(object):
|
||||
:param str params: The mashalled parameters (NDR32)
|
||||
:param GUID ipid: The IPID for `ORPC calls <https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dcom/db1d5ce1-a783-4f3d-854c-dc44308e78fb>`_
|
||||
:returns: :class:`str`
|
||||
|
||||
.. note::
|
||||
|
||||
Since `1.0.3` if the call is an ORPC call, the `ORPCTHAT` & `LOCALTHAT` present in the response are parsed and striped from the result.
|
||||
"""
|
||||
request = self.forge_alpc_request(IID, method_offset, params, ipid=ipid)
|
||||
response = self._send_request(request)
|
||||
@@ -138,17 +159,14 @@ class RPCClient(object):
|
||||
req.if_nb = interface_nb
|
||||
req.method_offset = method_offset
|
||||
if ipid:
|
||||
req.request_id = self.REQUEST_IDENTIFIER_ORPC
|
||||
req.flags = 1 # We have a IPID
|
||||
req.orpc_ipid = ipid
|
||||
this = gdef.ORPCTHIS32() # we use NDR32
|
||||
this.version = (5,7)
|
||||
this.flags = gdef.ORPCF_LOCAL
|
||||
# Not mandatory
|
||||
# this.cid = gdef.GUID.from_string("42424242-4242-4242-4242-424242424242")
|
||||
lthis = gdef.LOCALTHIS32() # we use NDR32
|
||||
# RPC_E_INVALID_HEADER is NULL
|
||||
lthis.callTraceActivity = gdef.GUID.from_string("42424242-4242-4242-4242-424242424242")
|
||||
lthis.dwClientThread = windows.current_thread.tid
|
||||
# Returned correct type with mandatory fields filed
|
||||
lthis = fill_correct_localthis_for_version()
|
||||
return buffer(req)[:] + buffer(this)[:] + buffer(lthis)[:] + params
|
||||
return buffer(req)[:] + params
|
||||
|
||||
@@ -188,17 +206,153 @@ class RPCClient(object):
|
||||
request_type = struct.unpack("<I", response.data[:4])[0]
|
||||
if request_type == gdef.RPC_RESPONSE_TYPE_FAIL:
|
||||
error_code = struct.unpack("<5I", response.data)[2]
|
||||
raise ValueError("RPC Response error {0} ({1})".format(error_code, KNOWN_RPC_ERROR_CODE.get(error_code, error_code)))
|
||||
raise ValueError("RPC Response error {0} ({1!r})".format(error_code, KNOWN_RPC_ERROR_CODE.get(error_code, error_code)))
|
||||
return request_type
|
||||
|
||||
def _get_response_effective_data(self, response):
|
||||
"""Response is a `AlpcMessage` needed to handle response in message vs response in view"""
|
||||
response_header = ALPC_RPC_RESPONSE.from_buffer_copy(response.data)
|
||||
if not response.view_is_valid:
|
||||
# Reponse directly in PORT_MESSAGE
|
||||
return response.data[0x18:] # 4 * 6
|
||||
# Response in view M extract size from PORT_MESSAGE & read data from view
|
||||
assert response.port_message.u1.s1.TotalLength >= 0x48 # At least 0x20 of data
|
||||
rpcdatasize = struct.unpack("<I", response.data[0x18:0x1c])[0]
|
||||
viewattr = response.view_attribute
|
||||
assert viewattr.ViewSize >= rpcdatasize
|
||||
return windows.current_process.read_memory(viewattr.ViewBase, rpcdatasize)
|
||||
data = response.data[ctypes.sizeof(ALPC_RPC_RESPONSE):]
|
||||
else:
|
||||
# Response in view M extract size from PORT_MESSAGE & read data from view
|
||||
assert response.port_message.u1.s1.TotalLength >= 0x48 # At least 0x20 of data
|
||||
rpcdatasize = struct.unpack("<I", response.data[0x18:0x1c])[0] # ctypes.sizeof(ALPC_RPC_RESPONSE)
|
||||
viewattr = response.view_attribute
|
||||
assert viewattr.ViewSize >= rpcdatasize
|
||||
data = windows.current_process.read_memory(viewattr.ViewBase, rpcdatasize)
|
||||
if response_header.request_id == self.REQUEST_IDENTIFIER_ORPC:
|
||||
# Parse & remove ORPC headers (orpcthat + LocalThat)
|
||||
data = self._pass_orpc_response_structures(data)
|
||||
return data
|
||||
|
||||
def _pass_orpc_response_structures(self, data):
|
||||
orpcthat = gdef.ORPCTHAT32.from_buffer_copy(data)
|
||||
data = data[ctypes.sizeof(orpcthat):]
|
||||
if orpcthat.extensions != 0:
|
||||
# Parse extension : code have not been tested a lot
|
||||
write_array_extend = gdef.WireExtentArray.from_buffer_copy(data)
|
||||
data = data[ctypes.sizeof(gdef.WireExtentArray):]
|
||||
if write_array_extend.rounded_size != 2:
|
||||
raise NotImplementedError("orpcthat.extensions: WireExtentArray.rounded_size != 2")
|
||||
for value in write_array_extend.unique_flag:
|
||||
if value != 0:
|
||||
data = self._pass_wire_extend(data)
|
||||
localthat_type = find_correct_localthat_for_version()
|
||||
if localthat_type is not None:
|
||||
localthat = localthat_type.from_buffer_copy(data)
|
||||
# Check localthat pointers are empty
|
||||
for field in ("pAsyncResponseBlock", "containerErrorInformation", "containerPassthroughData"):
|
||||
if getattr(localthat, field, 0) != 0:
|
||||
raise NotImplementedError("ORPC Response with localthat.{0} != 0".format(field))
|
||||
data = data[ctypes.sizeof(localthat):]
|
||||
return data
|
||||
|
||||
def _pass_wire_extend(self, data):
|
||||
wire_extend = gdef.WireExtent.from_buffer_copy(data)
|
||||
# We don't care -> jump over the size only
|
||||
return data[ctypes.sizeof(gdef.WireExtent) + wire_extend.rounded_size:]
|
||||
|
||||
# Based on combase.dll analysis
|
||||
|
||||
# LOCALTHIS
|
||||
# Nb fields: 2
|
||||
# 6.1.7601.17514 -> 6.2.9200.22376
|
||||
# * 6.1.7601.17514
|
||||
# * 6.1.7601.17514
|
||||
# * 6.2.9200.22376
|
||||
# Nb fields: 4
|
||||
# 6.3.9600.17031 -> 6.3.9600.20772
|
||||
# * 6.3.9600.17031
|
||||
# * 6.3.9600.20772
|
||||
# Nb fields: 5
|
||||
# 10.0.10240.16384 -> 10.0.15063.2679
|
||||
# Nb fields: 7
|
||||
# 10.0.16299.1 -> 10.0.26100.2454
|
||||
|
||||
def fill_correct_localthis_for_version():
|
||||
vmaj, vmin = windows.system.version
|
||||
if (vmaj, vmin) < (6, 1):
|
||||
return None
|
||||
if (vmaj, vmin) in ((6, 1), (6, 2)):
|
||||
return gdef.LOCALTHIS32_NT_62(dwClientThread = windows.current_thread.tid)
|
||||
elif (vmaj, vmin) == (6,3):
|
||||
return gdef.LOCALTHIS32_NT_63(dwClientThread = windows.current_thread.tid)
|
||||
assert vmaj == 10
|
||||
vnumber = windows.system.get_file_version(r"C:\windows\system32\combase.dll")
|
||||
# Extract version number from combase
|
||||
# as it was used to find the struct per version
|
||||
build_number = int(vnumber.split(".")[2])
|
||||
if build_number <= 15063:
|
||||
return gdef.LOCALTHIS32_NT_1607(dwClientThread = windows.current_thread.tid)
|
||||
return gdef.LOCALTHIS32(callTraceActivity=gdef.GUID.from_string("42424242-4242-4242-4242-424242424242"),
|
||||
dwClientThread = windows.current_thread.tid)
|
||||
|
||||
|
||||
# LOCALTHAT
|
||||
# Nb fields: 2
|
||||
# 6.3.9600.17031 -> 6.3.9600.20772
|
||||
# * 6.3.9600.17031
|
||||
# * 6.3.9600.17031
|
||||
# * 6.3.9600.17031
|
||||
# * 6.3.9600.20772
|
||||
# Nb fields: 3
|
||||
# 10.0.18362.900 -> 10.0.18362.1916
|
||||
# * 10.0.18362.900
|
||||
# * 10.0.18362.900
|
||||
# * 10.0.18362.1016
|
||||
# * 10.0.18362.1916
|
||||
# Nb fields: 4
|
||||
# 10.0.10240.16384 -> 10.0.17763.6040
|
||||
# * 10.0.10240.16384
|
||||
# * 10.0.10240.16384
|
||||
# * 10.0.10240.20747
|
||||
# * 10.0.10586.0
|
||||
# * 10.0.14393.576
|
||||
# * 10.0.14393.6451
|
||||
# * 10.0.14393.7426
|
||||
# * 10.0.15063.251
|
||||
# * 10.0.15063.1563
|
||||
# * 10.0.15063.2500
|
||||
# * 10.0.15063.2679
|
||||
# * 10.0.16299.1
|
||||
# * 10.0.16299.15
|
||||
# * 10.0.17134.1
|
||||
# * 10.0.17134.48
|
||||
# * 10.0.17134.2145
|
||||
# * 10.0.17134.2145
|
||||
# * 10.0.17763.1
|
||||
# * 10.0.17763.2931
|
||||
# * 10.0.17763.6040
|
||||
# Nb fields: 5
|
||||
# 10.0.19039.1 -> 10.0.26100.2454
|
||||
# * 10.0.19039.1
|
||||
# * 10.0.19041.84
|
||||
# * 10.0.19041.4894
|
||||
# * 10.0.22000.65
|
||||
# * 10.0.22621.2792
|
||||
# * 10.0.22621.3958
|
||||
# * 10.0.22621.4111
|
||||
# * 10.0.22621.4541
|
||||
# * 10.0.26100.2454
|
||||
# * 10.0.26100.2454
|
||||
|
||||
def find_correct_localthat_for_version():
|
||||
vmaj, vmin = windows.system.version
|
||||
if (vmaj, vmin) < (6, 3):
|
||||
return None
|
||||
elif (vmaj, vmin) == (6,3):
|
||||
return gdef.LOCALTHAT32_NT_63
|
||||
assert vmaj == 10
|
||||
vnumber = windows.system.get_file_version(r"C:\windows\system32\combase.dll")
|
||||
# Extract version number from combase
|
||||
# as it was used to find the struct per version
|
||||
build_number = int(vnumber.split(".")[2])
|
||||
if build_number <= 17763:
|
||||
return gdef.LOCALTHAT32_NT_1607
|
||||
elif build_number == 18362:
|
||||
return gdef.LOCALTHAT32_10_1903
|
||||
elif build_number >= 19039:
|
||||
return gdef.LOCALTHAT32
|
||||
raise NotImplementedError("Unknown LOCALTHAT32 structure for version {0}, please share me your combase.dll file".format(windows.system.versionstr))
|
||||
@@ -0,0 +1,92 @@
|
||||
# An implementation of stubborn:
|
||||
# https://blog.exatrack.com/STUBborn/
|
||||
# https://github.com/ExaTrack/COM_IExaDemo/blob/master/stubborn_client.py
|
||||
## Allows to retrieve a raw RPCClient on a DCOM object
|
||||
|
||||
import ctypes
|
||||
|
||||
import windows.rpc
|
||||
import windows.generated_def as gdef
|
||||
|
||||
# Should be in windows.com ?
|
||||
def stubborn_create_instance(clsid, iid):
|
||||
"""Require windows.com.init()"""
|
||||
if isinstance(clsid, str):
|
||||
clsid = gdef.GUID.from_string(clsid)
|
||||
if isinstance(iid, str):
|
||||
iid = gdef.GUID.from_string(iid)
|
||||
|
||||
windows.com.init()
|
||||
|
||||
# Retrieve the COM Catalog to get a IComClassInfo
|
||||
comcatalog = gdef.IComCatalog()
|
||||
windows.com.create_instance("00000346-0000-0000-c000-000000000046", comcatalog)
|
||||
|
||||
# Retrieve the IComClassInfo on CLSID_TARGET
|
||||
comclassinfo = gdef.IComClassInfo()
|
||||
comcatalog.GetClassInfo(clsid, gdef.IComClassInfo.IID, comclassinfo)
|
||||
|
||||
# Create an ActivationPropertiesIn
|
||||
propin = gdef.IActivationPropertiesIn()
|
||||
windows.com.create_instance("00000338-0000-0000-c000-000000000046", propin)
|
||||
|
||||
# Query the interfaces we need to fill the ActivationPropertiesIn
|
||||
propin_init = propin.query(gdef.IInitActivationPropertiesIn)
|
||||
propin_as_priv = propin.query(gdef.IPrivActivationPropertiesIn)
|
||||
propin_as_stage = propin.query(gdef.IActivationStageInfo)
|
||||
|
||||
# Fill the ActivationPropertiesIn
|
||||
# Simple example : We directly ask for a pointer to an gdef.ITaskService.IID
|
||||
# We could ask for a IUnknown and then use RemQueryInterface
|
||||
propin.AddRequestedIIDs(1, iid)
|
||||
propin_init.SetClassInfo(ctypes.cast(comclassinfo, gdef.IUnknown))
|
||||
propin_init.SetClsctx(gdef.CLSCTX_LOCAL_SERVER)
|
||||
propin_as_stage.SetStageAndIndex(gdef.CLIENT_CONTEXT_STAGE, 0) # We are a Client activator
|
||||
|
||||
# Make the actual CreateInstance
|
||||
propout = gdef.IActivationPropertiesOut()
|
||||
remiunknown = gdef.IUnknown()
|
||||
propin_as_priv.DelegateCreateInstance(remiunknown, propout)
|
||||
|
||||
# Query the interfaces we need to from the ActivationPropertiesOut
|
||||
propout_as_priv = propout.query(gdef.IPrivActivationPropertiesOut)
|
||||
propout_as_scmreply = propout.query(gdef.IScmReplyInfo)
|
||||
|
||||
# TODO: a real analysis of which combase version change this structure ?
|
||||
# 6.1.7601.17514 -> 10.0.19041.4894 -> PPRIV_RESOLVER_INFO_LEGACY
|
||||
# 10.0.22000.65 -> 10.0.26100.2454 -> PPRIV_RESOLVER_INFO (Windows 11 & +)
|
||||
rpiv_infoptr = gdef.PPRIV_RESOLVER_INFO() # Structure may change on older windows and be PPRIV_RESOLVER_INFO_LEGACY
|
||||
propout_as_scmreply.GetResolverInfo(rpiv_infoptr)
|
||||
|
||||
resolver_info = rpiv_infoptr[0]
|
||||
# resolver_info.OxidInfo.containerVersion.version is part of OxidInfo.ipidRemUnknown on PPRIV_RESOLVER_INFO_LEGACY
|
||||
# And this part of ipidRemUnknown is a PID
|
||||
# So a good value to check for > 3 :)
|
||||
if resolver_info.OxidInfo.containerVersion.version > 3:
|
||||
# print("resolver_info.OxidInfo.containerVersion.version == {0}".format(resolver_info.OxidInfo.containerVersion.version))
|
||||
# print("Probable bad structure ! -> cast to legacy !")
|
||||
resolver_info = ctypes.cast(rpiv_infoptr, gdef.PPRIV_RESOLVER_INFO_LEGACY)[0]
|
||||
|
||||
# print("")
|
||||
psa = resolver_info.OxidInfo.psa[0] # Retrieve the bidings to our COM server
|
||||
# print("psa.bidings: {0}".format(psa.bidings))
|
||||
# ipidRemUnknown = resolver_info.OxidInfo.ipidRemUnknown # Useful for IRemQueryInterface
|
||||
|
||||
# Retrieve info about the IPID from GetMarshalledResults
|
||||
nb_interface = gdef.DWORD()
|
||||
iids = gdef.LPGUID()
|
||||
results = ctypes.POINTER(gdef.HRESULT)()
|
||||
interfaces = ctypes.pointer(gdef.PMInterfacePointer())
|
||||
propout_as_priv.GetMarshalledResults(nb_interface, iids, results, interfaces)
|
||||
|
||||
objref = interfaces[0][0].objref
|
||||
|
||||
# Parse the RPC biding and connect to the related ALPC Port
|
||||
target_alpc_endpoint = psa.bidings[0]
|
||||
assert target_alpc_endpoint.startswith("ncalrpc:[")
|
||||
target_alpc_server = "\\RPC Control\\" + target_alpc_endpoint[len("ncalrpc:["):-1]
|
||||
client = windows.rpc.RPCClient(target_alpc_server)
|
||||
|
||||
# RPC: Bind to the IID on ou server
|
||||
iid = client.bind(iid, (0, 0))
|
||||
return client, objref.std.ipid
|
||||
@@ -465,8 +465,9 @@ class System(object):
|
||||
bufstr = ctypes.cast(bufptr, gdef.LPWSTR)
|
||||
return bufstr.value
|
||||
|
||||
@utils.fixedpropety
|
||||
@utils.fixedproperty
|
||||
def build_number(self):
|
||||
"""Return the `CurrentBuildNumber`"""
|
||||
# Will only work on Windows 10 ?
|
||||
build = self.kuser_shared_data.NtBuildNumber
|
||||
if build: # 0 before windows 10
|
||||
@@ -475,6 +476,17 @@ class System(object):
|
||||
key = windows.system.registry(r"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion")
|
||||
return int(key["CurrentBuildNumber"].value)
|
||||
|
||||
@utils.fixedproperty
|
||||
def display_version(self):
|
||||
"""Return the `DisplayVersion` (22H2, 23H2, ...) is it exists, else None"""
|
||||
key = windows.system.registry(r"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion")
|
||||
try:
|
||||
return key["DisplayVersion"].value
|
||||
except WindowsError as e:
|
||||
if not e.winerror == gdef.ERROR_FILE_NOT_FOUND:
|
||||
raise
|
||||
return None
|
||||
|
||||
@utils.fixedproperty
|
||||
def versionstr(self):
|
||||
# Best effort. use get_file_version if registry code fails
|
||||
|
||||
Reference in New Issue
Block a user