NdisIMGetDeviceContext function
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
NdisIMGetDeviceContext allows an NDIS intermediate driver's MiniportInitialize function to access the device context area allocated by its ProtocolBindAdapter function.
Syntax
NDIS_HANDLE NdisIMGetDeviceContext(
_In_ NDIS_HANDLE MiniportAdapterHandle
);
Parameters
- MiniportAdapterHandle [in]
Specifies the handle input to MiniportInitialize.
Return value
NdisIMGetDeviceContext returns access to the device context area for the virtual NIC identified by MiniportAdapterHandle, or it returns NULL if the driver's ProtocolBindAdapter function did not allocate such a device context area.
Remarks
An NDIS intermediate driver's MiniportInitialize function calls NdisIMGetDeviceContext to access the device context area for the virtual NIC it is initializing. Usually, the memory for such an area is provided by the intermediate driver's ProtocolBindAdapter function, which calls NdisIMInitializeDeviceInstanceEx with a pointer to this area, thereby causing the driver's MiniportInitialize function to be called. However, an intermediate driver is not required to have such a context area.
On return from NdisIMGetDeviceContext, MiniportInitialize sets up the driver-defined state for the virtual NIC with whatever information the intermediate driver writer intends to be useful to still higher level protocols that bind themselves subsequently to its virtual NIC.
Still higher level NDIS protocols bound to the same virtual NIC subsequently can access this device context area by calling NdisIMGetBindingContext from their ProtocolBindAdapter functions.
Callers of NdisIMGetDeviceContext must be running at IRQL <= DISPATCH_LEVEL. Typically, NDIS calls MiniportInitialize functions at IRQL = PASSIVE_LEVEL.
Requirements
Target platform |
Universal |
Version |
Not supported for NDIS 6.0 drivers in Windows Vista. Supported for NDIS 5.1 drivers in Windows Vista and Windows XP. |
Header |
Ndis.h (include Ndis.h) |
Library |
Ndis.lib |
IRQL |
<= DISPATCH_LEVEL (See Remarks section) |
See also
NdisIMInitializeDeviceInstanceEx