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.