OID_GEN_CO_SUPPORTED_GUIDS

L’OID OID_GEN_CO_SUPPORTED_GUIDS demande au pilote miniport de retourner un tableau de structures du type NDIS_GUID. Chaque structure du tableau spécifie le mappage d’un GUID personnalisé (identificateur globalement unique) à un OID personnalisé ou à un NDIS_STATUS que le pilote miniport envoie via NdisMCoIndicateStatusEx.

La structure NDIS_GUID est définie comme suit :

typedef struct _NDIS_GUID {
    GUID    Guid;
    union {
        NDIS_OID    Oid;
        NDIS_STATUS Status;
    };
    ULONG   Size;
    ULONG   Flags;
} NDIS_GUID, *PNDIS_GUID;

Les membres de cette structure contiennent les informations suivantes :

Guid
GUID personnalisé défini pour le pilote miniport.

Oid
OID personnalisé auquel guid est mappé.

État
NDIS_STATUS auquel guid est mappé.

Taille
Lorsque l’indicateur fNDIS_GUID_ARRAY est défini, Size spécifie la taille en octets de chaque élément de données du tableau retourné par le pilote miniport. Si l’indicateur fNDIS_GUID_ANSI_STRING ou fNDIS_GUID_NDIS_STRING est défini, size a la valeur -1. Sinon, Size spécifie la taille en octets de l’élément de données que le GUID représente.

Indicateurs
Les indicateurs suivants peuvent être regroupés en ORed pour indiquer si le GUID est mappé à un OID ou à une chaîne de NDIS_STATUS et pour indiquer le type de données fourni pour le GUID :

fNDIS_GUID_TO_OID
Lorsqu’elle est définie, indique que la structure NDIS_GUID mappe un GUID à un OID.

fNDIS_GUID_TO_STATUS
Lorsqu’elle est définie, indique que la structure NDIS_GUID mappe un GUID à une chaîne de NDIS_STATUS.

fNDIS_GUID_ANSI_STRING
Lorsqu’elle est définie, indique qu’une chaîne ANSI terminée par null est fournie pour le GUID.

fNDIS_GUID_UNICODE_STRING
Lorsqu’elle est définie, indique qu’une chaîne Unicode est fournie pour le GUID.

fNDIS_GUID_ARRAY
Lorsqu’elle est définie, indique qu’un tableau d’éléments de données est fourni pour le GUID. La taille spécifiée indique la longueur de chaque élément de données dans le tableau.

fNDIS_GUID_ALLOW_READ
Lorsqu’elle est définie, indique que tous les utilisateurs sont autorisés à interroger ce GUID.

fNDIS_GUID_ALLOW_WRITE
Lorsqu’il est défini, indique que tous les utilisateurs sont autorisés à définir ce GUID.

Notes

Notes

Par défaut, les GUID WMI personnalisés fournis par un pilote miniport sont uniquement accessibles aux utilisateurs disposant de privilèges d’administrateur. Un utilisateur disposant de privilèges d’administrateur peut toujours lire ou écrire dans un GUID personnalisé si le pilote miniport prend en charge l’opération de lecture ou d’écriture pour ce GUID. Définissez les indicateurs fNDIS_GUID_ALLOW_READ et fNDIS_GUID_ALLOW_WRITE pour permettre à tous les utilisateurs d’accéder à un GUID personnalisé.

Notez que tous les GUID personnalisés inscrits par un pilote miniport doivent définir fNDIS_GUID_TO_OID ou fNDIS_GUID_TO_STATUS (jamais les deux). Tous les autres indicateurs peuvent être combinés à l’aide de l’opérateur OR, le cas échéant.

Dans l’exemple suivant, une structure de NDIS_GUID mappe un GUID à OID_GEN_CO_RCV_PDUS_NO_BUFFER :

NDIS_GUID NdisGuid =  {{0x0a214809, 0xe35f, 0x11d0, 0x96, 0x92, 0x00,
 0xc0, 0x4f, 0xc3, 0x35, 0x8c},
 GUID_NDIS_GEN_CO_RCV_PDUS_NO_BUFFER,
 OID_GEN_CO_RCV_PDUS_NO_BUFFER,
 4,
 fNDIS_GUID_TO_OID};

Un GUID est un identificateur utilisé par Windows Management Instrumentation (WMI) pour obtenir ou définir des informations. NDIS intercepte un GUID envoyé par WMI à un pilote NDIS, mappe le GUID à un OID et envoie l’OID au pilote. Le pilote retourne le ou les éléments de données à NDIS, qui retourne ensuite les données à WMI.

NDIS traduit également les modifications apportées aux status de cartes réseau en GUID reconnus par WMI. Lorsqu’un pilote miniport signale une modification de la carte réseau status avec NdisMCoIndicateStatusEx, NDIS traduit le NDIS_STATUS indiqué par le pilote miniport en GUID que NDIS envoie à WMI.

Si un pilote miniport orienté connexion prend en charge les GUID des douanes, il doit prendre en charge OID_GEN_CO_SUPPORTED_GUIDS, qui retourne à NDIS le mappage de GUID personnalisés à des OID personnalisés ou NDIS_STATUS chaînes. Après avoir interrogé le pilote miniport avec OID_GEN_CO_SUPPORTED_GUIDS, NDIS inscrit les GUID personnalisés du pilote miniport auprès de WMI.

Spécifications

Version : Windows Vista et versions ultérieures En-tête : Ntddndis.h (inclure Ndis.h)