structure NDIS_DEVICE_OBJECT_ATTRIBUTES (ndis.h)
La structure NDIS_DEVICE_OBJECT_ATTRIBUTES définit les attributs d’un appareil qu’un pilote NDIS filtre ou miniport peut passer à la fonction NdisRegisterDeviceEx.
Syntaxe
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;
Membres
Header
Structure NDIS_OBJECT_HEADER pour la structure NDIS_DEVICE_OBJECT_ATTRIBUTES. Définissez le membre type de la structure spécifiée par -en-tête sur NDIS_OBJECT_TYPE_DEVICE_OBJECT_ATTRIBUTES, le membre Revision sur NDIS_DEVICE_OBJECT_ATTRIBUTES_REVISION_1 et le membre Size sur NDIS_SIZEOF_DEVICE_OBJECT_ATTRIBUTES_REVISION_1.
DeviceName
Pointeur vers une variable de type NDIS_STRING qui contient une chaîne Unicode terminée par null qui nomme l’objet de l’appareil. La chaîne doit être un nom de chemin d’accès complet( par exemple, \Device\DeviceName. Pour Microsoft Windows 2000 et versions ultérieures, NDIS définit le type NDIS_STRING en tant que type UNICODE_STRING.
SymbolicName
Pointeur vers une variable de type NDIS_STRING qui contient une chaîne Unicode qui est le nom visible win32 de l’appareil inscrit. En règle générale, SymbolName a le format suivant : \DosDevices\SymbolName.
MajorFunctions
Pointeur vers un tableau d’un ou plusieurs points d’entrée pour les routines de répartition du pilote de périphérique. Un pilote doit définir le même nombre de points d’entrée de répartition distincts que le nombre de codes de IRP_MJ_XXX gérés par le pilote pour l’objet de périphérique. Chaque routine de distribution est déclarée comme suit :
NTSTATUS
(*PDRIVER_DISPATCH) (
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
La routine de répartition a les paramètres suivants :
DeviceObject
Objet d’appareil pour la routine de répartition.
Irp
IRP pour la routine de distribution.
Un pilote ne doit pas fournir de points d’entrée pour les gestionnaires PnP ou Power Management, car l’objet d’appareil créé n’est pas destiné à un appareil physique et ne reçoit donc pas d’irps PnP ou Power Management.
ExtensionSize
Nombre déterminé par le pilote d’octets à allouer pour l’extension de périphérique de l’objet d’appareil. La structure interne de l’extension de périphérique est définie par le pilote.
DefaultSDDLString
Représentation sous forme de chaîne pour les paramètres de sécurité par défaut de l’objet d’appareil. La sécurité appliquée à l’objet d’appareil est dérivée de cette chaîne.
Le paramètre de sécurité est spécifié dans un sous-ensemble du langage de définition du descripteur de sécurité (SDDL). Un ensemble de constantes prédéfinies (SDDL_DEVOBJ_XXX) est également fourni. Pour plus d’informations, consultez sécurisation des objets d’appareil.
DeviceClassGuid
Réservé à NDIS. Définissez ce membre sur NULL.
Remarques
Un filtre NDIS ou un pilote miniport peut appeler la fonction NdisRegisterDeviceEx pour inscrire un appareil. Pour spécifier les attributs de l’appareil, le pilote alloue et initialise une structure NDIS_DEVICE_OBJECT_ATTRIBUTES et transmet la structure au paramètre DeviceObjectAttributes de NdisRegisterDeviceEx.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Prise en charge dans NDIS 6.0 et versions ultérieures. |
d’en-tête | ndis.h (include Ndis.h) |