Contains the state of a running instance of the NPF driver.
|
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.
|
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.