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