OID_GEN_SUPPORTED_GUIDS
OID_GEN_SUPPORTED_GUIDS OID は、クエリとして、ミニポート ドライバーに NDIS_GUID 型の構造体の配列を返すように要求します。
バージョン情報
Windows Vista 以降のバージョンの Windows
サポート対象。
解説
配列内の各構造体は、カスタム 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 を含む) |