Data Fields |
| PDEVICE_EXTENSION | DeviceExtension |
| NDIS_HANDLE | AdapterHandle |
| | NDIS idetifier of the adapter used by this instance.
|
| UINT | Medium |
| NDIS_HANDLE | PacketPool |
| | Pool of NDIS_PACKET structures used to transfer the packets from and to the NIC driver.
|
| KSPIN_LOCK | RequestSpinLock |
| | SpinLock used to synchronize the OID requests.
|
| LIST_ENTRY | RequestList |
| | List of pending OID requests.
|
| LIST_ENTRY | ResetIrpList |
| | List of pending adapter reset requests.
|
| INTERNAL_REQUEST | Requests [MAX_REQUESTS] |
| | Array of structures that wrap every single OID request.
|
| PMDL | BufferMdl |
| | Pointer to a Memory descriptor list (MDL) that maps the circular buffer's memory.
|
| PKEVENT | ReadEvent |
| | Pointer to the event on which the read calls on this instance must wait.
|
| PUCHAR | bpfprogram |
| UINT | MinToCopy |
| LARGE_INTEGER | TimeOut |
| int | mode |
| | Working mode of the driver. See PacketSetMode() for details.
|
| LARGE_INTEGER | Nbytes |
| | Amount of bytes accepted by the filter when this instance is in statistical mode.
|
| LARGE_INTEGER | Npackets |
| | Number of packets accepted by the filter when this instance is in statistical mode.
|
| NDIS_SPIN_LOCK | CountersLock |
| | SpinLock that protects the statistical mode counters.
|
| UINT | Nwrites |
| ULONG | Multiple_Write_Counter |
| | Counts the number of times a single write has already physically repeated.
|
| NDIS_EVENT | WriteEvent |
| | Event used to synchronize the multiple write process.
|
| BOOLEAN | WriteInProgress |
| NDIS_SPIN_LOCK | WriteLock |
| | SpinLock that protects the WriteInProgress variable.
|
| NDIS_EVENT | NdisRequestEvent |
| | Event used to synchronize I/O requests with the callback structure of NDIS.
|
| BOOLEAN | SkipSentPackets |
| | True if this instance should not capture back the packets that it transmits.
|
| NDIS_STATUS | IOStatus |
| | Maintains the status of and OID request call, that will be passed to the application.
|
| HANDLE | DumpFileHandle |
| | Handle of the file used in dump mode.
|
| PFILE_OBJECT | DumpFileObject |
| | Pointer to the object of the file used in dump mode.
|
| PKTHREAD | DumpThreadObject |
| | Pointer to the object of the thread used in dump mode.
|
| HANDLE | DumpThreadHandle |
| | Handle of the thread created by dump mode to asynchronously move the buffer to disk.
|
| NDIS_EVENT | DumpEvent |
| | Event used to synchronize the dump thread with the tap when the instance is in dump mode.
|
| LARGE_INTEGER | DumpOffset |
| | Current offset in the dump file.
|
| UNICODE_STRING | DumpFileName |
| | String containing the name of the dump file.
|
| UINT | MaxDumpBytes |
| UINT | MaxDumpPacks |
| BOOLEAN | DumpLimitReached |
| NDIS_SPIN_LOCK | MachineLock |
| | SpinLock that protects the BPF filter and the TME engine, if in use.
|
| UINT | MaxFrameSize |
| CpuPrivateData | CpuData [sizeof(KAFFINITY)*8] |
| | Pool of kernel buffer structures, one for each CPU.
|
| ULONG | ReaderSN |
| | Sequence number of the next packet to be read from the pool of kernel buffers.
|
| ULONG | WriterSN |
| ULONG | Size |
| | Size of each kernel buffer contained in the CpuData field.
|
| ULONG | AdapterHandleUsageCounter |
| NDIS_SPIN_LOCK | AdapterHandleLock |
| ULONG | AdapterBindingStatus |
| | Specifies if NPF is still bound to the adapter used by this instance, it's unbinding or it's not bound.
|
| NDIS_EVENT | NdisOpenCloseCompleteEvent |
| NDIS_EVENT | NdisWriteCompleteEvent |
| | Event that is signalled when all the packets have been successfully sent by NdisSend (and corresponfing sendComplete has been called).
|
| NTSTATUS | OpenCloseStatus |
| ULONG | TransmitPendingPackets |
| | Specifies the number of packets that are pending to be transmitted, i.e. have been submitted to NdisSendXXX but the SendComplete has not been called yet.
|
| ULONG | NumPendingIrps |
| BOOLEAN | ClosePending |
| NDIS_SPIN_LOCK | OpenInUseLock |
Contains the state of a running instance of the NPF driver.
This is the most important structure of NPF: it is used by almost all the functions of the driver. An _OPEN_INSTANCE structure is associated with every user-level session, allowing concurrent access to the driver.