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 を含む)