Share via


NDIS_GENERIC_OBJECT (Compact 2013)

3/26/2014

This structure defines a generic object which a software component can use to obtain an NDIS handle.

Syntax

typedef struct _NDIS_GENERIC_OBJECT {
  NDIS_OBJECT_HEADER  Header;
  PVOID  Caller;
  PVOID  CallersCaller;
  PDRIVER_OBJECT  DriverObject;
} NDIS_GENERIC_OBJECT, *PNDIS_GENERIC_OBJECT;

Members

  • Header
    The 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).
  • Caller
    Reserved for NDIS.
  • CallersCaller
    Reserved for NDIS.
  • DriverObject
    The driver object that is associated with the generic object. If there is no driver object, this member is NULL. This is the value that is passed at the DriverObject parameter of the NdisAllocateGenericObject function.

Remarks

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 obtain 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 by using NdisAllocateGenericObject.

Requirements

Header

ndis.h

See Also

Reference

NDIS Object Interface
NDIS_OBJECT_HEADER
NdisAllocateGenericObject
NdisFreeGenericObject