OID_GEN_SUPPORTED_GUIDS

OID_GEN_SUPPORTED_GUIDS OID は、クエリとして、ミニポート ドライバーに NDIS_GUID 型の構造体の配列を返すように要求します。

バージョン情報

Windows Vista 以降のバージョンの Windows
サポート対象。

NDIS 6.0 以降のミニポート ドライバー
省略可能。

NDIS 5.1 ミニポート ドライバー
省略可能。

Windows XP
サポート対象。

NDIS 5.1 ミニポート ドライバー
省略可能。

解説

配列内の各構造体は、カスタム OID、またはミニポート ドライバーが NdisMIndicateStatusEx 関数を介して送信する NDIS_STATUS へのカスタム GUID (グローバル一意識別子) のマッピングを指定します。

NDIS_GUID 構造体は次のように定義されます。

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

この構造体のメンバーには、次の情報が含まれています。

GUID
ミニポート ドライバーに定義されるカスタム GUID を指定します。

Oid
Guid がマップされるカスタム OID を指定します。

Status
Guid がマップされる NDIS_STATUS を指定します。

Size
ミニポート ドライバーによって返される配列内の各データ項目のサイズ (バイト単位) を指定します。 fNDIS_GUID_ANSI_STRING または fNDIS_GUID_NDIS_STRING フラグが設定されている場合は、Size が -1 に設定されます。 それ以外の場合は、Size によって GUID が表すデータ項目のサイズがバイト単位で指定されます。 このメンバーは、fNDIS_GUID_ARRAY フラグが設定されている場合にのみ指定されます。

フラグ
次のフラグを OR 演算子で組み合わせて、GUID が OID または NDIS_STATUS 文字列にマップされているかどうかを示し、GUID に指定されたデータの種類を示すことができます。

fNDIS_GUID_TO_OID
NDIS_GUID 構造体では GUID が OID にマップされていることを示します。

fNDIS_GUID_TO_STATUS
NDIS_GUID 構造体では GUID が NDIS_STATUS 文字列にマップされていることを示します。

fNDIS_GUID_ANSI_STRING
NULL で終わる ANSI 文字列が GUID に指定されていることを示します。

fNDIS_GUID_UNICODE_STRING
Unicode 文字列が GUID に指定されていることを示します。

fNDIS_GUID_ARRAY
データ項目の配列が GUID に指定されていることを示します。 指定した Size は、配列内の各データ項目の長さを示します。

fNDIS_GUID_ALLOW_READ
設定されている場合、すべてのユーザーがこの GUID を使用して情報を取得できることを示します。

fNDIS_GUID_ALLOW_WRITE
設定されている場合、すべてのユーザーがこの GUID を使用して情報を設定できることを示します。

既定では、ミニポート ドライバーによって提供されるカスタム WMI GUID には、管理者特権を持つユーザーのみがアクセスできます。 ミニポート ドライバーがその GUID の読み取りまたは書き込み操作をサポートしている場合、管理者特権を持つユーザーは、常にカスタム GUID の読み取りまたは書き込みを行うことができます。 fNDIS_GUID_ALLOW_READ および fNDIS_GUID_ALLOW_WRITE フラグを設定して、すべてのユーザーがカスタム GUID にアクセスできるようにします。

ミニポート ドライバーによって登録されているすべてのカスタム GUID は、fNDIS_GUID_TO_OID または fNDIS_GUID_TO_STATUS のいずれかを設定する必要があることに注意してください (両方は設定しません)。 その他のフラグはすべて、該当する OR 演算子を使用して組み合わせることができます。

次の例では、NDIS_GUID 構造体で GUID が OID_802_3_MULTICAST_LIST にマップされます。

NDIS_GUID    NdisGuid = {{0x44795701, 0xa61b, 0x11d0, 0x8d, 0xd4,
                          0x00, 0xc0, 0x4f, 0xc3,
                          0x35, 0x8c},
                          OID_802_3_MULTICAST_LIST,
                          6,
                          fNDIS_GUID_TO_OID | fNDIS_GUID_ARRAY};

GUID は、情報を取得または設定するために Windows Management Instrumentation (WMI) によって使用される識別子です。 NDIS は、WMI によって NDIS ドライバーに送信された GUID をインターセプトし、GUID を OID にマップして、OID をドライバーに送信します。 ドライバーは NDIS にデータ項目を返し、データは WMI に返されます。

また、NDIS は、WMI によって認識される GUID に NIC の状態の変更を変換します。 ミニポート ドライバーが NdisMIndicateStatusEx 関数を使用して NIC の状態の変更を報告すると、NDIS は、ミニポート ドライバーによって示された NDIS_STATUS を、NDIS が WMI に送信する GUID に変換します。

ミニポート ドライバーがカスタム GUID をサポートしている場合、OID_GEN_SUPPORTED_GUIDS をサポートする必要があります。 この OID は、カスタム OID または NDIS_STATUS 文字列へのカスタム GUID のマッピングを NDIS に返します。 OID_GEN_SUPPORTED_GUIDS を使用してミニポート ドライバーに対してクエリを実行すると、NDIS はミニポート ドライバーのカスタム GUID を WMI に登録します。

要件

ヘッダー

Ntddndis.h (Ndis.h を含む)

関連項目

NdisMIndicateStatusEx