OpenNet
Adapter_WDF.h
Go to the documentation of this file.
1 
2 // Product OpenNet
3 
8 
9 #pragma once
10 
11 // Includes
13 
14 // ===== Includes/OpenNetK ==================================================
15 #include <OpenNetK/OSDep.h>
16 #include <OpenNetK/SpinLock.h>
17 
18 namespace OpenNetK
19 {
20  class Adapter ;
21  class Hardware_WDF;
22 
23  // Class
25 
37  {
38 
39  public:
40 
53  void Init(Adapter * aAdapter, WDFDEVICE aDevice, Hardware_WDF * aHardware_WDF);
54 
63  void FileCleanup(WDFFILEOBJECT aFileObject);
64 
81  void IoDeviceControl(WDFREQUEST aRequest, size_t aOutSize_byte, size_t aInSize_byte, ULONG aCode);
82 
91  void IoInCallerContext(WDFREQUEST aRequest);
92 
93  // internal:
94 
95  void Event_Process();
96 
97  void SharedMemory_Release();
98 
99  private:
100 
101  NTSTATUS Connect(void * aIn);
102 
103  void ProcessIoCtlResult(int aIoCtlResult, WDFREQUEST aRequest);
104 
105  NTSTATUS SharedMemory_ProbeAndLock();
106  NTSTATUS SharedMemory_Translate (void ** aSharedMemory);
107 
108  NTSTATUS ResultToStatus(WDFREQUEST aRequest, int aIoCtlResult);
109 
110  Adapter * mAdapter ;
111  WDFDEVICE mDevice ;
112  Hardware_WDF * mHardware_WDF ;
113  OpenNetK_OSDep mOSDep ;
114  MDL * mSharedMemory_MDL;
115  WDFQUEUE mWaiting ;
116 
117  // ===== Zone 0 =====================================================
118  SpinLock mZone0;
119 
120  };
121 
122 }
This structure contains pointer to OS dependant functions.
Definition: OSDep.h:178
void Init(Adapter *aAdapter, WDFDEVICE aDevice, Hardware_WDF *aHardware_WDF)
Initialize the instance.
The Hardware_WDF class (DDK, Windows only)
Definition: Hardware_WDF.h:35
OpenNetK_OSDep.
void IoInCallerContext(WDFREQUEST aRequest)
Process the request in the caller context.
OpenNetK::SpinLock.
SpinLock interface.
Definition: SpinLock.h:36
void IoDeviceControl(WDFREQUEST aRequest, size_t aOutSize_byte, size_t aInSize_byte, ULONG aCode)
Process an IoCtl request.
Definition: Adapter.h:26
void FileCleanup(WDFFILEOBJECT aFileObject)
Cleanup file.
This class maintains information about an adapter on the OpenNet internal network.
Definition: Adapter.h:51
The Adapter_WDF class (DDK, Windows only)
Definition: Adapter_WDF.h:36