Freigeben über


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)

Siehe auch

NDIS_OBJECT_HEADER

NdisRegisterDeviceEx-

UNICODE_STRING