Compartir a través de


estructura NDIS_DEVICE_OBJECT_ATTRIBUTES (ndis.h)

La estructura NDIS_DEVICE_OBJECT_ATTRIBUTES define los atributos de un dispositivo que un controlador de miniporte o filtro NDIS puede pasar a la función NdisRegisterDeviceEx .

Sintaxis

typedef struct _NDIS_DEVICE_OBJECT_ATTRIBUTES {
  NDIS_OBJECT_HEADER Header;
  PNDIS_STRING       DeviceName;
  PNDIS_STRING       SymbolicName;
  PDRIVER_DISPATCH   *MajorFunctions;
  ULONG              ExtensionSize;
  PCUNICODE_STRING   DefaultSDDLString;
  LPCGUID            DeviceClassGuid;
} NDIS_DEVICE_OBJECT_ATTRIBUTES, *PNDIS_DEVICE_OBJECT_ATTRIBUTES;

Miembros

Header

Estructura NDIS_OBJECT_HEADER de la estructura NDIS_DEVICE_OBJECT_ATTRIBUTES. Establezca el miembro Type de la estructura que Header especifica para NDIS_OBJECT_TYPE_DEVICE_OBJECT_ATTRIBUTES, el miembro Revision en NDIS_DEVICE_OBJECT_ATTRIBUTES_REVISION_1 y el miembro Size en NDIS_SIZEOF_DEVICE_OBJECT_ATTRIBUTES_REVISION_1.

DeviceName

Puntero a una variable de tipo NDIS_STRING que contiene una cadena Unicode terminada en null que asigna un nombre al objeto de dispositivo. La cadena debe ser un nombre de ruta de acceso completo, por ejemplo, \Device\DeviceName. Para Microsoft Windows 2000 y versiones posteriores, NDIS define el tipo de NDIS_STRING como un tipo de UNICODE_STRING .

SymbolicName

Puntero a una variable de tipo NDIS_STRING que contiene una cadena Unicode que es el nombre visible de Win32 del dispositivo que se está registrando. Normalmente, SymbolicName tiene el formato siguiente: \DosDevices\SymbolicName.

MajorFunctions

Puntero a una matriz de uno o varios puntos de entrada para las rutinas de envío del controlador del dispositivo. Un controlador debe establecer el mismo número de puntos de entrada de envío independientes que el número de códigos IRP_MJ_XXX que controla el controlador para el objeto de dispositivo. Cada rutina de envío se declara de la siguiente manera:

NTSTATUS
  (*PDRIVER_DISPATCH) (
    IN PDEVICE_OBJECT  DeviceObject,
    IN PIRP  Irp
);

La rutina de distribución tiene los parámetros siguientes:

DeviceObject

Objeto de dispositivo para la rutina de envío.

Irp

IrP para la rutina de envío.

Un controlador no debe proporcionar puntos de entrada para los controladores PnP o Power Management, ya que el objeto de dispositivo creado no es para un dispositivo físico y, por lo tanto, no recibe IRP ni PnP de administración de energía.

ExtensionSize

Número determinado por el controlador de bytes que se asignará para la extensión de dispositivo del objeto de dispositivo. La estructura interna de la extensión de dispositivo está definida por el controlador.

DefaultSDDLString

Representación de cadena para la configuración de seguridad predeterminada del objeto de dispositivo. La seguridad que se aplica al objeto de dispositivo se deriva de esta cadena.

La configuración de seguridad se especifica en un subconjunto del lenguaje de definición de descriptores de seguridad (SDDL). También se proporciona un conjunto de constantes predefinidas (SDDL_DEVOBJ_XXX). Para obtener más información, consulte Protección de objetos de dispositivo.

DeviceClassGuid

Reservado para NDIS. Establezca este miembro en NULL.

Comentarios

Un controlador de miniport o filtro NDIS puede llamar a la función NdisRegisterDeviceEx para registrar un dispositivo. Para especificar los atributos de dispositivo, el controlador asigna e inicializa una estructura de NDIS_DEVICE_OBJECT_ATTRIBUTES y pasa la estructura al parámetro DeviceObjectAttributes de NdisRegisterDeviceEx.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.0 y versiones posteriores.
Encabezado ndis.h (incluya Ndis.h)

Consulte también

NDIS_OBJECT_HEADER

NdisRegisterDeviceEx

UNICODE_STRING