Condividi tramite


struttura NDIS_DEVICE_OBJECT_ATTRIBUTES (ndis.h)

La struttura NDIS_DEVICE_OBJECT_ATTRIBUTES definisce gli attributi di un dispositivo che un driver di filtro NDIS o miniport può passare alla funzione NdisRegisterDeviceEx .

Sintassi

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;

Members

Header

Struttura NDIS_OBJECT_HEADER per la struttura NDIS_DEVICE_OBJECT_ATTRIBUTES. Impostare il membro Type della struttura specificata da Header su NDIS_OBJECT_TYPE_DEVICE_OBJECT_ATTRIBUTES, il membro Revision su NDIS_DEVICE_OBJECT_ATTRIBUTES_REVISION_1 e il membro Size su NDIS_SIZEOF_DEVICE_OBJECT_ATTRIBUTES_REVISION_1.

DeviceName

Puntatore a una variabile di tipo NDIS_STRING che contiene una stringa Unicode con terminazione Null che assegna un nome all'oggetto dispositivo. La stringa deve essere un nome di percorso completo, ad esempio \Device\DeviceName. Per Microsoft Windows 2000 e versioni successive, NDIS definisce il tipo di NDIS_STRING come tipo di UNICODE_STRING .

SymbolicName

Puntatore a una variabile di tipo NDIS_STRING che contiene una stringa Unicode che rappresenta il nome visibile Win32 del dispositivo registrato. In genere, SymbolicName ha il formato seguente: \DosDevices\SymbolicName.

MajorFunctions

Puntatore a una matrice di uno o più punti di ingresso per le routine di invio del driver di dispositivo. Un driver deve impostare lo stesso numero di punti di ingresso dispatch separati del numero di codici IRP_MJ_XXX gestiti dal driver per l'oggetto dispositivo. Ogni routine dispatch viene dichiarata come segue:

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

La routine dispatch ha i parametri seguenti:

DeviceObject

Oggetto dispositivo per la routine dispatch.

Irp

IRP per la routine dispatch.

Un driver non deve fornire punti di ingresso per i gestori di risparmio energia o PnP, perché l'oggetto dispositivo creato non è per un dispositivo fisico e pertanto non riceve PnP o power management IRP.

ExtensionSize

Numero di byte determinato dal driver da allocare per l'estensione del dispositivo dell'oggetto dispositivo. La struttura interna dell'estensione del dispositivo è definita dal driver.

DefaultSDDLString

Rappresentazione di stringa per le impostazioni di sicurezza predefinite dell'oggetto dispositivo. La sicurezza applicata all'oggetto dispositivo deriva da questa stringa.

L'impostazione di sicurezza viene specificata in un sottoinsieme di SDDL (Security Descriptor Definition Language). Viene fornito anche un set di costanti predefinite (SDDL_DEVOBJ_XXX). Per altre informazioni, vedere Protezione degli oggetti dispositivo.

DeviceClassGuid

Riservato per NDIS. Impostare questo membro su NULL.

Commenti

Un filtro NDIS o un driver miniport può chiamare la funzione NdisRegisterDeviceEx per registrare un dispositivo. Per specificare gli attributi del dispositivo, il driver alloca e inizializza una struttura NDIS_DEVICE_OBJECT_ATTRIBUTES e passa la struttura al parametro DeviceObjectAttributes di NdisRegisterDeviceEx.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Intestazione ndis.h (include Ndis.h)

Vedi anche

NDIS_OBJECT_HEADER

NdisRegisterDeviceEx

UNICODE_STRING