NDIS_DEVICE_OBJECT_ATTRIBUTES Struktur (ndis.h)
Die NDIS_DEVICE_OBJECT_ATTRIBUTES-Struktur definiert die Attribute eines Geräts, das ein NDIS-Filter- oder Miniporttreiber an die NdisRegisterDeviceEx--Funktion übergeben kann.
Syntax
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;
Angehörige
Header
Die NDIS_OBJECT_HEADER Struktur für die NDIS_DEVICE_OBJECT_ATTRIBUTES Struktur. Legen Sie das element Type der Struktur fest, das Header- angibt, NDIS_OBJECT_TYPE_DEVICE_OBJECT_ATTRIBUTES, das Revisions element auf NDIS_DEVICE_OBJECT_ATTRIBUTES_REVISION_1 und das Size Member auf NDIS_SIZEOF_DEVICE_OBJECT_ATTRIBUTES_REVISION_1.
DeviceName
Ein Zeiger auf eine Variable vom Typ NDIS_STRING, die eine mit Null beendete Unicode-Zeichenfolge enthält, die das Geräteobjekt benennt. Die Zeichenfolge muss ein vollständiger Pfadname sein, z. B. \Device\DeviceName. Für Microsoft Windows 2000 und höher definiert NDIS den NDIS_STRING Typ als UNICODE_STRING Typ.
SymbolicName
Ein Zeiger auf eine Variable vom Typ NDIS_STRING, die eine Unicode-Zeichenfolge enthält, die den Win32-sichtbaren Namen des registrierten Geräts darstellt. In der Regel weist SymbolicName das folgende Format auf: \DosDevices\SymbolicName.
MajorFunctions
Ein Zeiger auf ein Array eines oder mehrerer Einstiegspunkte für die Verteilerroutine des Gerätetreibers. Ein Treiber muss die gleiche Anzahl separater Verteilereinstiegspunkte festlegen wie die Anzahl der IRP_MJ_XXX- Codes, die der Treiber für das Geräteobjekt verarbeitet. Jede Verteilerroutine wird wie folgt deklariert:
NTSTATUS
(*PDRIVER_DISPATCH) (
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
Die Verteilerroutine weist die folgenden Parameter auf:
DeviceObject
Das Geräteobjekt für die Verteilerroutine.
Irp
Das IRP für die Versandroutine.
Ein Treiber darf keine Einstiegspunkte für PnP- oder Power Management-Handler bereitstellen, da das erstellte Geräteobjekt nicht für ein physisches Gerät bestimmt ist und daher keine PnP- oder Power Management-IRPs empfängt.
ExtensionSize
Die vom Treiber festgelegte Anzahl der Bytes, die für die Geräteerweiterung des Geräteobjekts zugewiesen werden sollen. Die interne Struktur der Geräteerweiterung ist treiberdefiniert.
DefaultSDDLString
Eine Zeichenfolgendarstellung für die Standardsicherheitseinstellungen des Geräteobjekts. Die Sicherheit, die auf das Geräteobjekt angewendet wird, wird von dieser Zeichenfolge abgeleitet.
Die Sicherheitseinstellung wird in einer Teilmenge der Sicherheitsbeschreibungsdefinitionssprache (Security Descriptor Definition Language, SDDL) angegeben. Es wird auch eine Reihe vordefinierter Konstanten (SDDL_DEVOBJ_XXX) bereitgestellt. Weitere Informationen finden Sie unter Sichern von Geräteobjekten.
DeviceClassGuid
Reserviert für NDIS. Legen Sie dieses Element auf NULL-fest.
Bemerkungen
Ein NDIS-Filter- oder Miniporttreiber kann die NdisRegisterDeviceEx--Funktion aufrufen, um ein Gerät zu registrieren. Um die Geräteattribute anzugeben, weist der Treiber eine NDIS_DEVICE_OBJECT_ATTRIBUTES Struktur zu und initialisiert sie und übergibt die Struktur an den DeviceObjectAttributes Parameter von NdisRegisterDeviceEx.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.0 und höher. |
Header- | ndis.h (include Ndis.h) |