次の方法で共有


WDF_DEVICE_PNP_CAPABILITIES 構造体 (wdfdevice.h)

[KMDF と UMDF に適用]

WDF_DEVICE_PNP_CAPABILITIES構造では、デバイスのプラグ アンド プレイ機能について説明します。

構文

typedef struct _WDF_DEVICE_PNP_CAPABILITIES {
  ULONG         Size;
  WDF_TRI_STATE LockSupported;
  WDF_TRI_STATE EjectSupported;
  WDF_TRI_STATE Removable;
  WDF_TRI_STATE DockDevice;
  WDF_TRI_STATE UniqueID;
  WDF_TRI_STATE SilentInstall;
  WDF_TRI_STATE SurpriseRemovalOK;
  WDF_TRI_STATE HardwareDisabled;
  WDF_TRI_STATE NoDisplayInUI;
  ULONG         Address;
  ULONG         UINumber;
} WDF_DEVICE_PNP_CAPABILITIES, *PWDF_DEVICE_PNP_CAPABILITIES;

メンバー

Size

この構造体のサイズ (バイト単位)。

LockSupported

WdfTrue に設定されている場合、デバイスをスロットにロックして排出を防ぐことを示す、WDF_TRI_STATE型指定の値。 (この機能により、デバイスからメディアを取り出すのではなく、スロットからデバイスを取り出す機能が無効になります)。WDF_TRI_STATE型指定された値の詳細については、次の「解説」セクションを参照してください。

EjectSupported

WdfTrue に設定されている場合、デバイスをスロットから取り出すことができることを示す、WDF_TRI_STATE型指定の値。 (この機能により、デバイスからメディアを取り出すのではなく、スロットからデバイスを取り出すことができます)。

Removable

WdfTrue に設定されている場合、システムの実行中にデバイスを削除できることを示す、WDF_TRI_STATE型指定された値。 [リムーバブル]WdfTrue に設定され、SurpriseRemovalOKWdfFalse に設定されている場合、ユーザーはシステムの [ハードウェアの取り外しまたは取り出し] プログラムを使用する必要があります。

DockDevice

WdfTrue に設定されている場合、デバイスがドッキング ステーションであることを示す、WDF_TRI_STATE型指定された値。

UniqueID

WdfTrue に設定されている場合、デバイスのインスタンス ID がシステム全体に一意であることを示す、WDF_TRI_STATE型指定された値。 UniqueIDWdfFalse に設定されている場合、インスタンス ID はデバイスのバスに対してのみ一意です。 インスタンス ID の詳細については、「 デバイス識別文字列」を参照してください。

SilentInstall

WdfTrue に設定されている場合、そのデバイス マネージャーデバイスのインストール中にダイアログ ボックスを表示しないことを示す、WDF_TRI_STATE型指定された値。

SurpriseRemovalOK

WdfTrue に設定されている場合 (および RemovableWdfTrueに設定されている場合)、ユーザーがシステムの [ハードウェアの取り外しまたは取り出し] プログラムを使用せずにデバイスを削除できることを示す、WDF_TRI_STATE型指定の値。

HardwareDisabled

WdfTrue に設定されている場合、デバイスが無効であることを示す、WDF_TRI_STATE型指定された値。

NoDisplayInUI

WdfTrue に設定されている場合、そのデバイス マネージャーデバイスを表示しないことを示す、WDF_TRI_STATE型指定された値。

Address

デバイスがバス上のどこにあるかを示すアドレス。

この番号の解釈はバス固有です。 アドレスが不明な場合、またはバス ドライバーがアドレスをサポートしていない場合、バス ドライバーは Address メンバーを既定値の 0xFFFFFFFF (-1) のままにします。

次の一覧では、特定のバス ドライバーが子デバイスの Address メンバーに格納する情報について説明します。

バス型 説明
1394 アドレスは揮発性であるため、アドレスを指定しません。 既定値は 0xFFFFFFFF です。
Eisa スロット番号 (0 から F)。
IDE IDE デバイスの場合、アドレスにはターゲット ID と LUN が含まれます。 IDE チャネルの場合、アドレスは 0 または 1 (0 = プライマリ チャネル、1 = セカンダリ チャネル) です。
ISApnp アドレスを指定しません。 既定値は 0xFFFFFFFF です。
PC カード (PCMCIA) ソケット番号 (通常は0x00または0x40)。
PCI 高い単語のデバイス番号と低い単語の関数番号。
SCSI ターゲット ID。
USB ポート番号。

UINumber

デバイスに関連付けられている数値で、ユーザー インターフェイスに表示できます。 この数値は通常、ユーザーが認識するスロット番号です。たとえば、ボード上のスロットの横に印刷される番号や、ユーザーがデバイスを見つけるのに役立つその他の番号などです。 UINumber が不明な場合、または数値を指定してもユーザーがデバイスの場所を識別するのに役立たない場合、ドライバーはこの値を -1 に設定します。

注釈

複数のメンバーが WDF_TRI_STATE 型を使用します。 これらのメンバーの場合、 値 WdfTrue は デバイスが機能をサポートしていることを示し、 値 WdfFalse は サポートされていないことを示します。 WdfUseDefault の値は、フレームワークが指定されたスタックの下位のドライバーの値を使用することを示します。 たとえば、バス ドライバーが LockSupportedWdfTrue を指定し、デバイスの関数ドライバーで WdfUseDefault を指定した場合、フレームワークは機能に WdfTrue を格納します。

WDF_DEVICE_PNP_CAPABILITIES構造体は、 WdfDeviceSetPnpCapabilities への入力として使用されます。

WDF_DEVICE_PNP_CAPABILITIES構造体を初期化するには、ドライバーが WDF_DEVICE_PNP_CAPABILITIES_INIT を呼び出す必要があります。

要件

要件
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfdevice.h (Wdf.h を含む)

こちらもご覧ください

WdfDeviceSetPowerCapabilities

WdfPdoInitAssignRawDevice