mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
556 lines
58 KiB
HTML
556 lines
58 KiB
HTML
<!DOCTYPE html>
|
||
|
||
<html lang="en" data-content_root="./">
|
||
<head>
|
||
<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.4 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=71272d9f"></script>
|
||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||
|
||
<link rel="index" title="Index" href="genindex.html" />
|
||
<link rel="search" title="Search" href="search.html" />
|
||
<link rel="next" title="13. windows.rpc – ALPC-based Windows RPC" href="rpc.html" />
|
||
<link rel="prev" title="11. windows.crypto – CryptoAPI" href="crypto.html" />
|
||
</head><body>
|
||
<div class="related" role="navigation" aria-label="related navigation">
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="genindex.html" title="General Index"
|
||
accesskey="I">index</a></li>
|
||
<li class="right" >
|
||
<a href="py-modindex.html" title="Python Module Index"
|
||
>modules</a> |</li>
|
||
<li class="right" >
|
||
<a href="rpc.html" title="13. windows.rpc – ALPC-based Windows RPC"
|
||
accesskey="N">next</a> |</li>
|
||
<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.4 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>
|
||
|
||
<div class="document">
|
||
<div class="documentwrapper">
|
||
<div class="bodywrapper">
|
||
<div class="body" role="main">
|
||
|
||
<section id="module-windows.alpc">
|
||
<span id="windows-alpc-advanced-local-procedure-call"></span><h1><span class="section-number">12. </span><code class="docutils literal notranslate"><span class="pre">windows.alpc</span></code> – Advanced Local Procedure Call<a class="headerlink" href="#module-windows.alpc" title="Link to this heading">¶</a></h1>
|
||
<p>The <a class="reference internal" href="#module-windows.alpc" title="windows.alpc"><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.alpc</span></code></a> module regroups the classes that permits to send and receive
|
||
ALPC messages over an ALPC port and the classes representing these messages.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>See samples:</p>
|
||
<blockquote>
|
||
<div><ul class="simple">
|
||
<li><p><a class="reference internal" href="sample.html#sample-alpc"><span class="std std-ref">simple alpc communication</span></a></p></li>
|
||
<li><p><a class="reference internal" href="sample.html#sample-advanced-alpc"><span class="std std-ref">advanced alpc communication</span></a></p></li>
|
||
</ul>
|
||
</div></blockquote>
|
||
</div>
|
||
<section id="alpc-message">
|
||
<h2><span class="section-number">12.1. </span>ALPC Message<a class="headerlink" href="#alpc-message" title="Link to this heading">¶</a></h2>
|
||
<dl class="py class">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessage">
|
||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">windows.alpc.</span></span><span class="sig-name descname"><span class="pre">AlpcMessage</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">msg_or_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4096</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">attributes</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/alpc.html#AlpcMessage"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.alpc.AlpcMessage" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Represent a full ALPC Message: a <a class="reference internal" href="#windows.alpc.AlpcMessagePort" title="windows.alpc.AlpcMessagePort"><code class="xref py py-class docutils literal notranslate"><span class="pre">AlpcMessagePort</span></code></a> and a <a class="reference internal" href="#windows.alpc.MessageAttribute" title="windows.alpc.MessageAttribute"><code class="xref py py-class docutils literal notranslate"><span class="pre">MessageAttribute</span></code></a></p>
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessage.allocated_attributes">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">allocated_attributes</span></span><a class="headerlink" href="#windows.alpc.AlpcMessage.allocated_attributes" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The list of allocated attributes</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Type<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p>[<a class="reference internal" href="generated.html#windows.generated_def.Flag" title="windows.generated_def.Flag"><code class="xref py py-class docutils literal notranslate"><span class="pre">Flag</span></code></a>]</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessage.context_attribute">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">context_attribute</span></span><a class="headerlink" href="#windows.alpc.AlpcMessage.context_attribute" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The <a class="reference internal" href="windef_generated.html#windows.generated_def.ALPC_MESSAGE_CONTEXT_ATTRIBUTE" title="windows.generated_def.ALPC_MESSAGE_CONTEXT_ATTRIBUTE"><code class="xref py py-data docutils literal notranslate"><span class="pre">ALPC_MESSAGE_CONTEXT_ATTRIBUTE</span></code></a> of the message:</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">ALPC_CONTEXT_ATTR</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessage.context_is_valid">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">context_is_valid</span></span><a class="headerlink" href="#windows.alpc.AlpcMessage.context_is_valid" title="Link to this definition">¶</a></dt>
|
||
<dd><p>True if <a class="reference internal" href="windef_generated.html#windows.generated_def.ALPC_MESSAGE_CONTEXT_ATTRIBUTE" title="windows.generated_def.ALPC_MESSAGE_CONTEXT_ATTRIBUTE"><code class="xref py py-data docutils literal notranslate"><span class="pre">ALPC_MESSAGE_CONTEXT_ATTRIBUTE</span></code></a> is a ValidAttributes</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessage.data">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">data</span></span><a class="headerlink" href="#windows.alpc.AlpcMessage.data" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The data of the message (located after the PORT_MESSAGE header)</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessage.handle_attribute">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_attribute</span></span><a class="headerlink" href="#windows.alpc.AlpcMessage.handle_attribute" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The <a class="reference internal" href="windef_generated.html#windows.generated_def.ALPC_MESSAGE_HANDLE_ATTRIBUTE" title="windows.generated_def.ALPC_MESSAGE_HANDLE_ATTRIBUTE"><code class="xref py py-data docutils literal notranslate"><span class="pre">ALPC_MESSAGE_HANDLE_ATTRIBUTE</span></code></a> of the message:</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">ALPC_HANDLE_ATTR</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessage.handle_is_valid">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_is_valid</span></span><a class="headerlink" href="#windows.alpc.AlpcMessage.handle_is_valid" title="Link to this definition">¶</a></dt>
|
||
<dd><p>True if <a class="reference internal" href="windef_generated.html#windows.generated_def.ALPC_MESSAGE_HANDLE_ATTRIBUTE" title="windows.generated_def.ALPC_MESSAGE_HANDLE_ATTRIBUTE"><code class="xref py py-data docutils literal notranslate"><span class="pre">ALPC_MESSAGE_HANDLE_ATTRIBUTE</span></code></a> is a ValidAttributes</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessage.security_attribute">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">security_attribute</span></span><a class="headerlink" href="#windows.alpc.AlpcMessage.security_attribute" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The <a class="reference internal" href="windef_generated.html#windows.generated_def.ALPC_MESSAGE_SECURITY_ATTRIBUTE" title="windows.generated_def.ALPC_MESSAGE_SECURITY_ATTRIBUTE"><code class="xref py py-data docutils literal notranslate"><span class="pre">ALPC_MESSAGE_SECURITY_ATTRIBUTE</span></code></a> of the message</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">ALPC_SECURITY_ATTR</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessage.security_is_valid">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">security_is_valid</span></span><a class="headerlink" href="#windows.alpc.AlpcMessage.security_is_valid" title="Link to this definition">¶</a></dt>
|
||
<dd><p>True if <a class="reference internal" href="windef_generated.html#windows.generated_def.ALPC_MESSAGE_SECURITY_ATTRIBUTE" title="windows.generated_def.ALPC_MESSAGE_SECURITY_ATTRIBUTE"><code class="xref py py-data docutils literal notranslate"><span class="pre">ALPC_MESSAGE_SECURITY_ATTRIBUTE</span></code></a> is a ValidAttributes</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessage.type">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">type</span></span><a class="headerlink" href="#windows.alpc.AlpcMessage.type" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The type of the message (<code class="docutils literal notranslate"><span class="pre">PORT_MESSAGE.u2.s2.Type</span></code>)</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessage.valid_attributes">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">valid_attributes</span></span><a class="headerlink" href="#windows.alpc.AlpcMessage.valid_attributes" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The list of valid attributes</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Type<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p>[<a class="reference internal" href="generated.html#windows.generated_def.Flag" title="windows.generated_def.Flag"><code class="xref py py-class docutils literal notranslate"><span class="pre">Flag</span></code></a>]</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessage.view_attribute">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">view_attribute</span></span><a class="headerlink" href="#windows.alpc.AlpcMessage.view_attribute" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The <a class="reference internal" href="windef_generated.html#windows.generated_def.ALPC_MESSAGE_VIEW_ATTRIBUTE" title="windows.generated_def.ALPC_MESSAGE_VIEW_ATTRIBUTE"><code class="xref py py-data docutils literal notranslate"><span class="pre">ALPC_MESSAGE_VIEW_ATTRIBUTE</span></code></a> of the message:</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">ALPC_DATA_VIEW_ATTR</span></code></p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessage.view_is_valid">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">view_is_valid</span></span><a class="headerlink" href="#windows.alpc.AlpcMessage.view_is_valid" title="Link to this definition">¶</a></dt>
|
||
<dd><p>True if <a class="reference internal" href="windef_generated.html#windows.generated_def.ALPC_MESSAGE_VIEW_ATTRIBUTE" title="windows.generated_def.ALPC_MESSAGE_VIEW_ATTRIBUTE"><code class="xref py py-data docutils literal notranslate"><span class="pre">ALPC_MESSAGE_VIEW_ATTRIBUTE</span></code></a> is a ValidAttributes</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="py class">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessagePort">
|
||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">windows.alpc.</span></span><span class="sig-name descname"><span class="pre">AlpcMessagePort</span></span><a class="reference internal" href="_modules/windows/alpc.html#AlpcMessagePort"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.alpc.AlpcMessagePort" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The effective ALPC Message composed of a <code class="docutils literal notranslate"><span class="pre">PORT_MESSAGE</span></code> structure followed by the data</p>
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessagePort.data">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">data</span></span><a class="headerlink" href="#windows.alpc.AlpcMessagePort.data" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The data of the message (located after the header)</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessagePort.datalen">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">datalen</span></span><a class="headerlink" href="#windows.alpc.AlpcMessagePort.datalen" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The length of the data</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcMessagePort.from_buffer">
|
||
<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">from_buffer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">object</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">C</span> <span class="pre">instance</span></span></span><a class="reference internal" href="_modules/windows/alpc.html#AlpcMessagePort.from_buffer"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.alpc.AlpcMessagePort.from_buffer" title="Link to this definition">¶</a></dt>
|
||
<dd><p>create a C instance from a writeable buffer</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="py class">
|
||
<dt class="sig sig-object py" id="windows.alpc.MessageAttribute">
|
||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">windows.alpc.</span></span><span class="sig-name descname"><span class="pre">MessageAttribute</span></span><a class="reference internal" href="_modules/windows/alpc.html#MessageAttribute"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.alpc.MessageAttribute" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The attributes of an ALPC message</p>
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.MessageAttribute.allocated_list">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">allocated_list</span></span><a class="headerlink" href="#windows.alpc.MessageAttribute.allocated_list" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The list of allocated attributes</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Type<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p>[<a class="reference internal" href="generated.html#windows.generated_def.Flag" title="windows.generated_def.Flag"><code class="xref py py-class docutils literal notranslate"><span class="pre">Flag</span></code></a>]</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="windows.alpc.MessageAttribute.is_allocated">
|
||
<span class="sig-name descname"><span class="pre">is_allocated</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">attribute</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/alpc.html#MessageAttribute.is_allocated"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.alpc.MessageAttribute.is_allocated" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Return <code class="docutils literal notranslate"><span class="pre">True</span></code> if <code class="docutils literal notranslate"><span class="pre">attribute</span></code> is allocated</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="windows.alpc.MessageAttribute.is_valid">
|
||
<span class="sig-name descname"><span class="pre">is_valid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">attribute</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/alpc.html#MessageAttribute.is_valid"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.alpc.MessageAttribute.is_valid" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Return <code class="docutils literal notranslate"><span class="pre">True</span></code> if <code class="docutils literal notranslate"><span class="pre">attribute</span></code> is valid</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py property">
|
||
<dt class="sig sig-object py" id="windows.alpc.MessageAttribute.valid_list">
|
||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">valid_list</span></span><a class="headerlink" href="#windows.alpc.MessageAttribute.valid_list" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The list of valid attributes</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Type<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p>[<a class="reference internal" href="generated.html#windows.generated_def.Flag" title="windows.generated_def.Flag"><code class="xref py py-class docutils literal notranslate"><span class="pre">Flag</span></code></a>]</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="windows.alpc.MessageAttribute.with_all_attributes">
|
||
<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">with_all_attributes</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/alpc.html#MessageAttribute.with_all_attributes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.alpc.MessageAttribute.with_all_attributes" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Create a new <a class="reference internal" href="#windows.alpc.MessageAttribute" title="windows.alpc.MessageAttribute"><code class="xref py py-class docutils literal notranslate"><span class="pre">MessageAttribute</span></code></a> with the following attributes allocated:</p>
|
||
<ul class="simple">
|
||
<li><p><code class="xref py py-class docutils literal notranslate"><span class="pre">ALPC_MESSAGE_SECURITY_ATTRIBUTE</span></code></p></li>
|
||
<li><p><code class="xref py py-class docutils literal notranslate"><span class="pre">ALPC_MESSAGE_VIEW_ATTRIBUTE</span></code></p></li>
|
||
<li><p><code class="xref py py-class docutils literal notranslate"><span class="pre">ALPC_MESSAGE_CONTEXT_ATTRIBUTE</span></code></p></li>
|
||
<li><p><code class="xref py py-class docutils literal notranslate"><span class="pre">ALPC_MESSAGE_HANDLE_ATTRIBUTE</span></code></p></li>
|
||
<li><p><code class="xref py py-class docutils literal notranslate"><span class="pre">ALPC_MESSAGE_TOKEN_ATTRIBUTE</span></code></p></li>
|
||
<li><p><code class="xref py py-class docutils literal notranslate"><span class="pre">ALPC_MESSAGE_DIRECT_ATTRIBUTE</span></code></p></li>
|
||
<li><p><code class="xref py py-class docutils literal notranslate"><span class="pre">ALPC_MESSAGE_WORK_ON_BEHALF_ATTRIBUTE</span></code></p></li>
|
||
</ul>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><a class="reference internal" href="#windows.alpc.MessageAttribute" title="windows.alpc.MessageAttribute"><code class="xref py py-class docutils literal notranslate"><span class="pre">MessageAttribute</span></code></a></p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="windows.alpc.MessageAttribute.with_attributes">
|
||
<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">with_attributes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">attributes</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/alpc.html#MessageAttribute.with_attributes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.alpc.MessageAttribute.with_attributes" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Create a new <a class="reference internal" href="#windows.alpc.MessageAttribute" title="windows.alpc.MessageAttribute"><code class="xref py py-class docutils literal notranslate"><span class="pre">MessageAttribute</span></code></a> with <code class="docutils literal notranslate"><span class="pre">attributes</span></code> allocated</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><p><a class="reference internal" href="#windows.alpc.MessageAttribute" title="windows.alpc.MessageAttribute"><code class="xref py py-class docutils literal notranslate"><span class="pre">MessageAttribute</span></code></a></p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</section>
|
||
<section id="alpc-client">
|
||
<h2><span class="section-number">12.2. </span>ALPC client<a class="headerlink" href="#alpc-client" title="Link to this heading">¶</a></h2>
|
||
<dl class="py class">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcClient">
|
||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">windows.alpc.</span></span><span class="sig-name descname"><span class="pre">AlpcClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">port_name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/alpc.html#AlpcClient"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.alpc.AlpcClient" title="Link to this definition">¶</a></dt>
|
||
<dd><p>An ALPC client able to connect to a port and send/receive messages</p>
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcClient.connect_to_port">
|
||
<span class="sig-name descname"><span class="pre">connect_to_port</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">port_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">connect_message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_attr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_attr_flags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">65536</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">obj_attr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">ALPC_MSGFLG_SYNC_REQUEST(0x20000)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/alpc.html#AlpcClient.connect_to_port"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.alpc.AlpcClient.connect_to_port" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Connect to the ALPC port <code class="docutils literal notranslate"><span class="pre">port_name</span></code>. Most of the parameters have defauls value is <code class="docutils literal notranslate"><span class="pre">None</span></code> is passed.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>connect_message</strong> (<a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><em>AlpcMessage</em></a>) – The message send with the connection request, if not <code class="docutils literal notranslate"><span class="pre">None</span></code> the function will return an <a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><code class="xref py py-class docutils literal notranslate"><span class="pre">AlpcMessage</span></code></a></p></li>
|
||
<li><p><strong>port_attr</strong> (<em>ALPC_PORT_ATTRIBUTES</em>) – The port attributes, one with default value will be used if this parameter is <code class="docutils literal notranslate"><span class="pre">None</span></code></p></li>
|
||
<li><p><strong>port_attr_flags</strong> (<em>int</em>) – <code class="docutils literal notranslate"><span class="pre">ALPC_PORT_ATTRIBUTES.Flags</span></code> used if <code class="docutils literal notranslate"><span class="pre">port_attr</span></code> is <code class="docutils literal notranslate"><span class="pre">None</span></code> (MUTUALY EXCLUSINVE WITH <code class="docutils literal notranslate"><span class="pre">port_attr</span></code>)</p></li>
|
||
<li><p><strong>obj_attr</strong> (<a class="reference internal" href="winstructs_generated.html#windows.generated_def.winstructs.OBJECT_ATTRIBUTES" title="windows.generated_def.winstructs.OBJECT_ATTRIBUTES"><em>OBJECT_ATTRIBUTES</em></a>) – The attributes of the port (can be None)</p></li>
|
||
<li><p><strong>flags</strong> (<em>int</em>) – The flags for <code class="xref py py-func docutils literal notranslate"><span class="pre">NtAlpcConnectPort()</span></code></p></li>
|
||
<li><p><strong>timeout</strong> (<em>int</em>) – The timeout of the request</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcClient.port_name">
|
||
<span class="sig-name descname"><span class="pre">port_name</span></span><a class="headerlink" href="#windows.alpc.AlpcClient.port_name" title="Link to this definition">¶</a></dt>
|
||
<dd><p>The name of the ALPC port the client is connect to.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcClient.recv">
|
||
<span class="sig-name descname"><span class="pre">recv</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">receive_msg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.alpc.AlpcClient.recv" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Receive a message into <code class="docutils literal notranslate"><span class="pre">alpc_message</span></code> with <code class="docutils literal notranslate"><span class="pre">flags</span></code>.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>receive_msg</strong> (<a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><em>AlpcMessage</em></a><em> or </em><em>None</em>) – The message to send. If <code class="docutils literal notranslate"><span class="pre">receive_msg</span></code> is a <code class="docutils literal notranslate"><span class="pre">None</span></code> it create and return a simple <a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><code class="xref py py-class docutils literal notranslate"><span class="pre">AlpcMessage</span></code></a></p></li>
|
||
<li><p><strong>flags</strong> (<em>int</em>) – The flags for <code class="xref py py-func docutils literal notranslate"><span class="pre">NtAlpcSendWaitReceivePort()</span></code></p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcClient.send">
|
||
<span class="sig-name descname"><span class="pre">send</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">alpc_message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.alpc.AlpcClient.send" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Send the <code class="docutils literal notranslate"><span class="pre">alpc_message</span></code> with <code class="docutils literal notranslate"><span class="pre">flags</span></code></p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>alpc_message</strong> (<a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><em>AlpcMessage</em></a><em> or </em><em>str</em>) – The message to send. If <code class="docutils literal notranslate"><span class="pre">alpc_message</span></code> is a <code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code> it build an AlpcMessage with the message as data.</p></li>
|
||
<li><p><strong>flags</strong> (<em>int</em>) – The flags for <code class="xref py py-func docutils literal notranslate"><span class="pre">NtAlpcSendWaitReceivePort()</span></code></p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcClient.send_receive">
|
||
<span class="sig-name descname"><span class="pre">send_receive</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">alpc_message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">receive_msg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">ALPC_MSGFLG_SYNC_REQUEST(0x20000)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.alpc.AlpcClient.send_receive" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Send and receive a message with <code class="docutils literal notranslate"><span class="pre">flags</span></code>.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>alpc_message</strong> (<a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><em>AlpcMessage</em></a><em> or </em><em>str</em>) – The message to send. If <code class="docutils literal notranslate"><span class="pre">alpc_message</span></code> is a <code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code> it build an AlpcMessage with the message as data.</p></li>
|
||
<li><p><strong>receive_msg</strong> (<a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><em>AlpcMessage</em></a><em> or </em><em>None</em>) – The message to send. If <code class="docutils literal notranslate"><span class="pre">receive_msg</span></code> is a <code class="docutils literal notranslate"><span class="pre">None</span></code> it create and return a simple <a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><code class="xref py py-class docutils literal notranslate"><span class="pre">AlpcMessage</span></code></a></p></li>
|
||
<li><p><strong>flags</strong> (<em>int</em>) – The flags for <code class="xref py py-func docutils literal notranslate"><span class="pre">NtAlpcSendWaitReceivePort()</span></code></p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</section>
|
||
<section id="alpc-server">
|
||
<h2><span class="section-number">12.3. </span>ALPC Server<a class="headerlink" href="#alpc-server" title="Link to this heading">¶</a></h2>
|
||
<dl class="py class">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcServer">
|
||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">windows.alpc.</span></span><span class="sig-name descname"><span class="pre">AlpcServer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">port_name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/alpc.html#AlpcServer"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.alpc.AlpcServer" title="Link to this definition">¶</a></dt>
|
||
<dd><p>An ALPC server able to create a port, accept connections and send/receive messages</p>
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcServer.accept_connection">
|
||
<span class="sig-name descname"><span class="pre">accept_connection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">msg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_attr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_context</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/alpc.html#AlpcServer.accept_connection"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.alpc.AlpcServer.accept_connection" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Accept the connection for a <code class="docutils literal notranslate"><span class="pre">LPC_CONNECTION_REQUEST</span></code> message.
|
||
<code class="docutils literal notranslate"><span class="pre">msg.MessageId</span></code> must be the same as the connection requesting message.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>msg</strong> (<a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><em>AlpcMessage</em></a>) – The response message.</p></li>
|
||
<li><p><strong>port_attr</strong> (<em>ALPC_PORT_ATTRIBUTES</em>) – The attributes of the port, one with default value will be used if this parameter is <code class="docutils literal notranslate"><span class="pre">None</span></code></p></li>
|
||
<li><p><strong>port_context</strong> (<em>PVOID</em>) – A value that will be copied in <code class="docutils literal notranslate"><span class="pre">ALPC_CONTEXT_ATTR.PortContext</span></code> of every message on this connection.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcServer.create_port">
|
||
<span class="sig-name descname"><span class="pre">create_port</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">port_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">msglen</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_attr_flags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">obj_attr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port_attr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/alpc.html#AlpcServer.create_port"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.alpc.AlpcServer.create_port" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Create the ALPC port <code class="docutils literal notranslate"><span class="pre">port_name</span></code>. Most of the parameters have defauls value is <code class="docutils literal notranslate"><span class="pre">None</span></code> is passed.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>port_name</strong> (<em>str</em>) – The port’s name to create.</p></li>
|
||
<li><p><strong>msglen</strong> (<em>int</em>) – <code class="docutils literal notranslate"><span class="pre">ALPC_PORT_ATTRIBUTES.MaxMessageLength</span></code> used if <code class="docutils literal notranslate"><span class="pre">port_attr</span></code> is <code class="docutils literal notranslate"><span class="pre">None</span></code> (MUTUALY EXCLUSINVE WITH <code class="docutils literal notranslate"><span class="pre">port_attr</span></code>)</p></li>
|
||
<li><p><strong>port_attr_flags</strong> (<em>int</em>) – <code class="docutils literal notranslate"><span class="pre">ALPC_PORT_ATTRIBUTES.Flags</span></code> used if <code class="docutils literal notranslate"><span class="pre">port_attr</span></code> is <code class="docutils literal notranslate"><span class="pre">None</span></code> (MUTUALY EXCLUSINVE WITH <code class="docutils literal notranslate"><span class="pre">port_attr</span></code>)</p></li>
|
||
<li><p><strong>obj_attr</strong> (<a class="reference internal" href="winstructs_generated.html#windows.generated_def.winstructs.OBJECT_ATTRIBUTES" title="windows.generated_def.winstructs.OBJECT_ATTRIBUTES"><em>OBJECT_ATTRIBUTES</em></a>) – The attributes of the port, one with default value will be used if this parameter is <code class="docutils literal notranslate"><span class="pre">None</span></code></p></li>
|
||
<li><p><strong>port_attr</strong> (<em>ALPC_PORT_ATTRIBUTES</em>) – The port attributes, one with default value will be used if this parameter is <code class="docutils literal notranslate"><span class="pre">None</span></code></p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcServer.recv">
|
||
<span class="sig-name descname"><span class="pre">recv</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">receive_msg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.alpc.AlpcServer.recv" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Receive a message into <code class="docutils literal notranslate"><span class="pre">alpc_message</span></code> with <code class="docutils literal notranslate"><span class="pre">flags</span></code>.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>receive_msg</strong> (<a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><em>AlpcMessage</em></a><em> or </em><em>None</em>) – The message to send. If <code class="docutils literal notranslate"><span class="pre">receive_msg</span></code> is a <code class="docutils literal notranslate"><span class="pre">None</span></code> it create and return a simple <a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><code class="xref py py-class docutils literal notranslate"><span class="pre">AlpcMessage</span></code></a></p></li>
|
||
<li><p><strong>flags</strong> (<em>int</em>) – The flags for <code class="xref py py-func docutils literal notranslate"><span class="pre">NtAlpcSendWaitReceivePort()</span></code></p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcServer.send">
|
||
<span class="sig-name descname"><span class="pre">send</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">alpc_message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.alpc.AlpcServer.send" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Send the <code class="docutils literal notranslate"><span class="pre">alpc_message</span></code> with <code class="docutils literal notranslate"><span class="pre">flags</span></code></p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>alpc_message</strong> (<a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><em>AlpcMessage</em></a><em> or </em><em>str</em>) – The message to send. If <code class="docutils literal notranslate"><span class="pre">alpc_message</span></code> is a <code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code> it build an AlpcMessage with the message as data.</p></li>
|
||
<li><p><strong>flags</strong> (<em>int</em>) – The flags for <code class="xref py py-func docutils literal notranslate"><span class="pre">NtAlpcSendWaitReceivePort()</span></code></p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt class="sig sig-object py" id="windows.alpc.AlpcServer.send_receive">
|
||
<span class="sig-name descname"><span class="pre">send_receive</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">alpc_message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">receive_msg</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">ALPC_MSGFLG_SYNC_REQUEST(0x20000)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.alpc.AlpcServer.send_receive" title="Link to this definition">¶</a></dt>
|
||
<dd><p>Send and receive a message with <code class="docutils literal notranslate"><span class="pre">flags</span></code>.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>alpc_message</strong> (<a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><em>AlpcMessage</em></a><em> or </em><em>str</em>) – The message to send. If <code class="docutils literal notranslate"><span class="pre">alpc_message</span></code> is a <code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code> it build an AlpcMessage with the message as data.</p></li>
|
||
<li><p><strong>receive_msg</strong> (<a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><em>AlpcMessage</em></a><em> or </em><em>None</em>) – The message to send. If <code class="docutils literal notranslate"><span class="pre">receive_msg</span></code> is a <code class="docutils literal notranslate"><span class="pre">None</span></code> it create and return a simple <a class="reference internal" href="#windows.alpc.AlpcMessage" title="windows.alpc.AlpcMessage"><code class="xref py py-class docutils literal notranslate"><span class="pre">AlpcMessage</span></code></a></p></li>
|
||
<li><p><strong>flags</strong> (<em>int</em>) – The flags for <code class="xref py py-func docutils literal notranslate"><span class="pre">NtAlpcSendWaitReceivePort()</span></code></p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</section>
|
||
</section>
|
||
|
||
|
||
<div class="clearer"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||
<div class="sphinxsidebarwrapper">
|
||
<div>
|
||
<h3><a href="index.html">Table of Contents</a></h3>
|
||
<ul>
|
||
<li><a class="reference internal" href="#">12. <code class="docutils literal notranslate"><span class="pre">windows.alpc</span></code> – Advanced Local Procedure Call</a><ul>
|
||
<li><a class="reference internal" href="#alpc-message">12.1. ALPC Message</a><ul>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessage"><code class="docutils literal notranslate"><span class="pre">AlpcMessage</span></code></a><ul>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessage.allocated_attributes"><code class="docutils literal notranslate"><span class="pre">allocated_attributes</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessage.context_attribute"><code class="docutils literal notranslate"><span class="pre">context_attribute</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessage.context_is_valid"><code class="docutils literal notranslate"><span class="pre">context_is_valid</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessage.data"><code class="docutils literal notranslate"><span class="pre">data</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessage.handle_attribute"><code class="docutils literal notranslate"><span class="pre">handle_attribute</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessage.handle_is_valid"><code class="docutils literal notranslate"><span class="pre">handle_is_valid</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessage.security_attribute"><code class="docutils literal notranslate"><span class="pre">security_attribute</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessage.security_is_valid"><code class="docutils literal notranslate"><span class="pre">security_is_valid</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessage.type"><code class="docutils literal notranslate"><span class="pre">type</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessage.valid_attributes"><code class="docutils literal notranslate"><span class="pre">valid_attributes</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessage.view_attribute"><code class="docutils literal notranslate"><span class="pre">view_attribute</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessage.view_is_valid"><code class="docutils literal notranslate"><span class="pre">view_is_valid</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessagePort"><code class="docutils literal notranslate"><span class="pre">AlpcMessagePort</span></code></a><ul>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessagePort.data"><code class="docutils literal notranslate"><span class="pre">data</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessagePort.datalen"><code class="docutils literal notranslate"><span class="pre">datalen</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcMessagePort.from_buffer"><code class="docutils literal notranslate"><span class="pre">from_buffer()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#windows.alpc.MessageAttribute"><code class="docutils literal notranslate"><span class="pre">MessageAttribute</span></code></a><ul>
|
||
<li><a class="reference internal" href="#windows.alpc.MessageAttribute.allocated_list"><code class="docutils literal notranslate"><span class="pre">allocated_list</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.MessageAttribute.is_allocated"><code class="docutils literal notranslate"><span class="pre">is_allocated()</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.MessageAttribute.is_valid"><code class="docutils literal notranslate"><span class="pre">is_valid()</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.MessageAttribute.valid_list"><code class="docutils literal notranslate"><span class="pre">valid_list</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.MessageAttribute.with_all_attributes"><code class="docutils literal notranslate"><span class="pre">with_all_attributes()</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.MessageAttribute.with_attributes"><code class="docutils literal notranslate"><span class="pre">with_attributes()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#alpc-client">12.2. ALPC client</a><ul>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcClient"><code class="docutils literal notranslate"><span class="pre">AlpcClient</span></code></a><ul>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcClient.connect_to_port"><code class="docutils literal notranslate"><span class="pre">connect_to_port()</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcClient.port_name"><code class="docutils literal notranslate"><span class="pre">port_name</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcClient.recv"><code class="docutils literal notranslate"><span class="pre">recv()</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcClient.send"><code class="docutils literal notranslate"><span class="pre">send()</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcClient.send_receive"><code class="docutils literal notranslate"><span class="pre">send_receive()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#alpc-server">12.3. ALPC Server</a><ul>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcServer"><code class="docutils literal notranslate"><span class="pre">AlpcServer</span></code></a><ul>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcServer.accept_connection"><code class="docutils literal notranslate"><span class="pre">accept_connection()</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcServer.create_port"><code class="docutils literal notranslate"><span class="pre">create_port()</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcServer.recv"><code class="docutils literal notranslate"><span class="pre">recv()</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcServer.send"><code class="docutils literal notranslate"><span class="pre">send()</span></code></a></li>
|
||
<li><a class="reference internal" href="#windows.alpc.AlpcServer.send_receive"><code class="docutils literal notranslate"><span class="pre">send_receive()</span></code></a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
|
||
</div>
|
||
<div>
|
||
<h4>Previous topic</h4>
|
||
<p class="topless"><a href="crypto.html"
|
||
title="previous chapter"><span class="section-number">11. </span><code class="docutils literal notranslate"><span class="pre">windows.crypto</span></code> – CryptoAPI</a></p>
|
||
</div>
|
||
<div>
|
||
<h4>Next topic</h4>
|
||
<p class="topless"><a href="rpc.html"
|
||
title="next chapter"><span class="section-number">13. </span><code class="docutils literal notranslate"><span class="pre">windows.rpc</span></code> – ALPC-based Windows RPC</a></p>
|
||
</div>
|
||
<div role="note" aria-label="source link">
|
||
<h3>This Page</h3>
|
||
<ul class="this-page-menu">
|
||
<li><a href="_sources/alpc.rst.txt"
|
||
rel="nofollow">Show Source</a></li>
|
||
</ul>
|
||
</div>
|
||
<search id="searchbox" style="display: none" role="search">
|
||
<h3 id="searchlabel">Quick search</h3>
|
||
<div class="searchformwrapper">
|
||
<form class="search" action="search.html" method="get">
|
||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
||
<input type="submit" value="Go" />
|
||
</form>
|
||
</div>
|
||
</search>
|
||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
||
</div>
|
||
</div>
|
||
<div class="clearer"></div>
|
||
</div>
|
||
<div class="related" role="navigation" aria-label="related navigation">
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="genindex.html" title="General Index"
|
||
>index</a></li>
|
||
<li class="right" >
|
||
<a href="py-modindex.html" title="Python Module Index"
|
||
>modules</a> |</li>
|
||
<li class="right" >
|
||
<a href="rpc.html" title="13. windows.rpc – ALPC-based Windows RPC"
|
||
>next</a> |</li>
|
||
<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.4 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>
|
||
<div class="footer" role="contentinfo">
|
||
© Copyright 2015-2020, Clement Rouault.
|
||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 7.3.7.
|
||
</div>
|
||
</body>
|
||
</html> |