// ndis.h
typedef struct _NDIS_GENERIC_OBJECT {
NDIS_OBJECT_HEADER Header;
PVOID Caller;
PVOID CallersCaller;
PDRIVER_OBJECT DriverObject;
} NDIS_GENERIC_OBJECT, *PNDIS_GENERIC_OBJECT;
View the official Windows Driver Kit DDI referenceNo description available.
The NDIS_GENERIC_OBJECT structure defines a generic object which a software component can use to obtain an NDIS handle.
HeaderThe NDIS_OBJECT_HEADER structure for the generic object structure (NDIS_GENERIC_OBJECT). NDIS sets the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_GENERIC_OBJECT, the Revision member to NDIS_GENERIC_OBJECT_REVISION_1, and the Size member to sizeof(NDIS_GENERIC_OBJECT).
CallerReserved for NDIS.
CallersCallerReserved for NDIS.
DriverObjectThe driver object that is associated with the generic object. If there is no driver object, this member is NULL. This is the value passed at the DriverObject parameter of the NdisAllocateGenericObject function.
Software components that do not already have an NDIS handle call NdisAllocateGenericObject to create a generic object. Such components use the handle obtained from NdisAllocateGenericObject to allocate NDIS resources.
The Size parameter of NdisAllocateGenericObject specifies an amount of memory, in bytes, to reserve for the caller. NdisAllocateGenericObject adds the additional memory after the NDIS_OBJECT_STRUCTURE members.
Most NDIS drivers do not require a generic object to get a handle. NDIS protocol, intermediate, and miniport drivers obtain a handle during initialization.
Use the NdisFreeGenericObject function to free a generic object that was created with NdisAllocateGenericObject.