OID_GEN_CO_SUPPORTED_GUIDS

OID_GEN_CO_SUPPORTED_GUIDS OID は、ミニポート ドライバーに NDIS_GUID 型の構造体の配列を返すように要求します。 配列内の各構造体は、ミニポート ドライバーが NdisMCoIndicateStatusEx を介して送信する カスタム OID または 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。

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

フラグ
次のフラグは、GUID が OID または NDIS_STATUS 文字列のどちらにマップされるかを示し、GUID に指定されたデータの種類を示すために、一緒に ORed にすることができます。

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
設定されている場合、GUID に Unicode 文字列が指定されることを示します。

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

fNDIS_GUID_ALLOW_READ
設定されている場合、すべてのユーザーがこの GUID に対してクエリを実行することを許可されることを示します。

fNDIS_GUID_ALLOW_WRITE
設定されている場合、すべてのユーザーがこの GUID を設定することを許可されることを示します。

解説

Note

既定では、ミニポート ドライバーによって提供されるカスタム 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_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};

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

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

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

要件

バージョン: Windows Vista 以降の ヘッダー: Ntddndis.h (Ndis.h を含む)