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) |