📄 packet_8h.html
字号:
<tr><td class="mdescLeft"> </td><td class="mdescRight">Tells the driver to drop the packets sent by itself. This is usefult when building applications like bridges. <a href="group__NPF__include.html#g7ccc8974741059b5ae25231a56dbed09"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#g4a60d1f215d5b2af2b3b86a0f2a90ae2">NPF_ENABLE_LOOPBACK</a> 2</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Tells the driver to capture the packets sent by itself. <a href="group__NPF__include.html#g4a60d1f215d5b2af2b3b86a0f2a90ae2"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#g7300b6880da1b61717e7ff815d579bf6">C_ASSERT</a>(a)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#g048ba8dfabc6ac16c602a1ca6fe994fc">RESERVED</a>(_p) ((<a class="el" href="struct__PACKET__RESERVED.html">PPACKET_RESERVED</a>)((_p)->ProtocolReserved))</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Macro to obtain a NDIS_PACKET from a PACKET_RESERVED. <a href="group__NPF__include.html#g048ba8dfabc6ac16c602a1ca6fe994fc"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#g652e6173ee1441712652d74a5533e042">TRANSMIT_PACKETS</a> 256</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">of packets that can be transmitted at the same time or with a single call to NdisSendPackets. <a href="group__NPF__include.html#g652e6173ee1441712652d74a5533e042"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gcabf25322566f3bcd1e564e4939f5821">EXIT_SUCCESS</a>(quantity)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Macro used in the I/O routines to return the control to user-mode with a success status. <a href="group__NPF__include.html#gcabf25322566f3bcd1e564e4939f5821"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gd6d1f5522a147ddeb7d9b11916acd50a">EXIT_FAILURE</a>(quantity)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Macro used in the I/O routines to return the control to user-mode with a failure status. <a href="group__NPF__include.html#gd6d1f5522a147ddeb7d9b11916acd50a"></a><br></td></tr><tr><td colspan="2"><br><h2>Typedefs</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="struct__PACKET__OID__DATA.html">_PACKET_OID_DATA</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#g0c7b0f53860e1de014069aad53987bc6">PACKET_OID_DATA</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Structure containing an OID request. <a href="group__NPF__include.html#g0c7b0f53860e1de014069aad53987bc6"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="struct__PACKET__OID__DATA.html">_PACKET_OID_DATA</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gdf678e4006b707eb64a691e611975b22">PPACKET_OID_DATA</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="struct__INTERNAL__REQUEST.html">_INTERNAL_REQUEST</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#g0bee4ca4dc129822e19478f88d991a31">INTERNAL_REQUEST</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Stores an OID request. <a href="group__NPF__include.html#g0bee4ca4dc129822e19478f88d991a31"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="struct__INTERNAL__REQUEST.html">_INTERNAL_REQUEST</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#g55591a7d14855359ed1e3995f7f025c3">PINTERNAL_REQUEST</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="struct__PACKET__RESERVED.html">_PACKET_RESERVED</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#g2225b3cfa793593a1849aa0652846a5c">PACKET_RESERVED</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Contains a NDIS packet. <a href="group__NPF__include.html#g2225b3cfa793593a1849aa0652846a5c"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="struct__PACKET__RESERVED.html">_PACKET_RESERVED</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#g375d9973bbbe748c9722e8f546beb10c">PPACKET_RESERVED</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="struct__DEVICE__EXTENSION.html">_DEVICE_EXTENSION</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#g5091b7a273db5d38a71df5293eb52ccf">DEVICE_EXTENSION</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Port device extension. <a href="group__NPF__include.html#g5091b7a273db5d38a71df5293eb52ccf"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="struct__DEVICE__EXTENSION.html">_DEVICE_EXTENSION</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gc8ad25578be589c8352fc4e1a8a99be3">PDEVICE_EXTENSION</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="struct____CPU__Private__Data.html">__CPU_Private_Data</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#g321d8c7f608d41e095ec3508cff10764">CpuPrivateData</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Kernel buffer of each CPU. <a href="group__NPF__include.html#g321d8c7f608d41e095ec3508cff10764"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="struct__OPEN__INSTANCE.html">_OPEN_INSTANCE</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gfeddf3a08e141d369532061f3f8cd939">OPEN_INSTANCE</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Contains the state of a running instance of the NPF driver. <a href="group__NPF__include.html#gfeddf3a08e141d369532061f3f8cd939"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="struct__OPEN__INSTANCE.html">_OPEN_INSTANCE</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#gd3b7ff25cfe0e8fd50666782f85e76cb">POPEN_INSTANCE</a></td></tr><tr><td colspan="2"><br><h2>Enumerations</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#ga80226df1c5ee18b01580d23ed4f31cb">ADAPTER_BINDING_STATUS</a> { <a class="el" href="group__NPF__include.html#gga80226df1c5ee18b01580d23ed4f31cb6e4cdf9f09abf447cffdfd5058357822">ADAPTER_UNBOUND</a>, <a class="el" href="group__NPF__include.html#gga80226df1c5ee18b01580d23ed4f31cb3e0c0f314d2e9dc41c205ab44bf087bc">ADAPTER_BOUND</a>, <a class="el" href="group__NPF__include.html#gga80226df1c5ee18b01580d23ed4f31cbdc92e852ef35fac0f033487a3be66a93">ADAPTER_UNBINDING</a> }</td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__include.html#g6259f706c0907d31a1476960233222c6">C_ASSERT</a> (sizeof(<a class="el" href="struct__PACKET__OID__DATA.html">PACKET_OID_DATA</a>)==12)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g6502d781bd20234a06710b92d540baba">DriverEntry</a> (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The initialization routine of the driver. <a href="group__NPF__code.html#g6502d781bd20234a06710b92d540baba"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">PWCHAR </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gfc395636686df00f554efbd2010f73cb">getAdaptersList</a> (VOID)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the list of the MACs available on the system. <a href="group__NPF__code.html#gfc395636686df00f554efbd2010f73cb"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">PKEY_VALUE_PARTIAL_INFORMATION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gcf0e32b371eb9283e5cf1de0dfb15629">getTcpBindings</a> (VOID)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the MACs that bind to TCP/IP. <a href="group__NPF__code.html#gcf0e32b371eb9283e5cf1de0dfb15629"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">BOOLEAN </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g5d152d59c86209c5128ac788a7ae61b3">NPF_CreateDevice</a> (IN OUT PDRIVER_OBJECT adriverObjectP, IN PUNICODE_STRING amacNameP)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a device for a given MAC. <a href="group__NPF__code.html#g5d152d59c86209c5128ac788a7ae61b3"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g82e557625e52fe4395bbe2e494fe8c4a">NPF_Open</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Opens a new instance of the driver. <a href="group__NPF__code.html#g82e557625e52fe4395bbe2e494fe8c4a"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g155ae51be29c6d36f8109781b8f6e7b2">NPF_OpenAdapterComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status, IN NDIS_STATUS OpenErrorStatus)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Ends the opening of an adapter. <a href="group__NPF__code.html#g155ae51be29c6d36f8109781b8f6e7b2"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gfae94a0e7fda8de180cff6e596cc2803">NPF_Cleanup</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Closes an instance of the driver. <a href="group__NPF__code.html#gfae94a0e7fda8de180cff6e596cc2803"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gf8b70be389645c912cf09f1e9ea4b975">NPF_Close</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g300118a9a6cc28c2c880f6bb39d86b53">NPF_CloseAdapterComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Ends the closing of an adapter. <a href="group__NPF__code.html#g300118a9a6cc28c2c880f6bb39d86b53"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NDIS_STATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g92f84ced372baf09f1c00a6b252a0564">NPF_tap</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_HANDLE MacReceiveContext, IN PVOID HeaderBuffer, IN UINT HeaderBufferSize, IN PVOID LookAheadBuffer, IN UINT LookaheadBufferSize, IN UINT PacketSize)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Callback invoked by NDIS when a packet arrives from the network. <a href="group__NPF__code.html#g92f84ced372baf09f1c00a6b252a0564"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g0c34f931d6718be202c7c62406f279fd">NPF_TransferDataComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_PACKET Packet, IN NDIS_STATUS Status, IN UINT BytesTransferred)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Ends the transfer of a packet. <a href="group__NPF__code.html#g0c34f931d6718be202c7c62406f279fd"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ge7863db01a628ed11324c49953195855">NPF_ReceiveComplete</a> (IN NDIS_HANDLE ProtocolBindingContext)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Callback function that signals the end of a packet reception. <a href="group__NPF__code.html#ge7863db01a628ed11324c49953195855"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gd8b208720b6e5149dabcd7fb058b16f7">NPF_IoControl</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -