NDIS_DEVICE_OBJECT_ATTRIBUTES構造体 (ndis.h)

NDIS_DEVICE_OBJECT_ATTRIBUTES構造体は、NDIS フィルターまたはミニポート ドライバーが NdisRegisterDeviceEx 関数に渡すことができるデバイスの属性を定義します。

構文

typedef struct _NDIS_DEVICE_OBJECT_ATTRIBUTES {
  NDIS_OBJECT_HEADER Header;
  PNDIS_STRING       DeviceName;
  PNDIS_STRING       SymbolicName;
  PDRIVER_DISPATCH   *MajorFunctions;
  ULONG              ExtensionSize;
  PCUNICODE_STRING   DefaultSDDLString;
  LPCGUID            DeviceClassGuid;
} NDIS_DEVICE_OBJECT_ATTRIBUTES, *PNDIS_DEVICE_OBJECT_ATTRIBUTES;

メンバー

Header

NDIS_DEVICE_OBJECT_ATTRIBUTES構造体のNDIS_OBJECT_HEADER構造体。 Header が指定する構造体の Type メンバーをNDIS_OBJECT_TYPE_DEVICE_OBJECT_ATTRIBUTESに設定し、Revision メンバーを NDIS_DEVICE_OBJECT_ATTRIBUTES_REVISION_1、Size メンバーをNDIS_SIZEOF_DEVICE_OBJECT_ATTRIBUTES_REVISION_1に設定します。

DeviceName

デバイス オブジェクトの名前を示す null で終わる Unicode 文字列を含むNDIS_STRING型の変数へのポインター。 文字列は、完全なパス名である必要があります 。たとえば、\Device\DeviceName です。 Microsoft Windows 2000 以降の場合、NDIS はNDIS_STRING型を UNICODE_STRING 型として定義します。

SymbolicName

登録されているデバイスの Win32 表示名である Unicode 文字列を含む NDIS_STRING 型の変数へのポインター。 通常、 SymbolicName の形式は \DosDevices\SymbolicName です

MajorFunctions

デバイス ドライバーのディスパッチ ルーチンの 1 つ以上のエントリ ポイントの配列へのポインター。 ドライバーは、ドライバーがデバイス オブジェクトに対して処理するIRP_MJ_XXX コードの数と同じ数の個別のディスパッチ エントリ ポイントを設定する必要があります。 各ディスパッチ ルーチンは、次のように宣言されます。

NTSTATUS
  (*PDRIVER_DISPATCH) (
    IN PDEVICE_OBJECT  DeviceObject,
    IN PIRP  Irp
);

ディスパッチ ルーチンには、次のパラメーターがあります。

DeviceObject

ディスパッチ ルーチンのデバイス オブジェクト。

Irp

ディスパッチ ルーチンの IRP。

作成されたデバイス オブジェクトは物理デバイス用ではなく、PnP または電源管理 IRP を受け取らないので、ドライバーは PnP または Power Management ハンドラーのエントリ ポイントを指定する必要があります。

ExtensionSize

デバイス オブジェクトのデバイス拡張機能に割り当てられるドライバーによって決定されたバイト数。 デバイス拡張機能の内部構造はドライバー定義です。

DefaultSDDLString

デバイス オブジェクトの既定のセキュリティ設定の文字列表現。 デバイス オブジェクトに適用されるセキュリティは、この文字列から派生します。

セキュリティ設定は、セキュリティ記述子定義言語 (SDDL) のサブセットで指定されます。 定義済みの定数 (SDDL_DEVOBJ_XXX) のセットも用意されています。 詳細については、「 デバイス オブジェクトのセキュリティ保護」を参照してください。

DeviceClassGuid

NDIS 用に予約されています。 このメンバーを NULL に設定 します

注釈

NDIS フィルターまたはミニポート ドライバーは、デバイスを登録する NdisRegisterDeviceEx 関数を呼び出すことができます。 デバイス属性を指定するために、ドライバーは、NDIS_DEVICE_OBJECT_ATTRIBUTES構造体を割り当てて初期化し、NdisRegisterDeviceExDeviceObjectAttributes パラメーターに構造体を渡します。

要件

要件
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
Header ndis.h (Ndis.h を含む)

こちらもご覧ください

NDIS_OBJECT_HEADER

NdisRegisterDeviceEx

UNICODE_STRING