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 に設定され、SurpriseRemovalOK が WdfFalse に設定されている場合、ユーザーはシステムの [ハードウェアの取り外しまたは取り出し] プログラムを使用する必要があります。
DockDevice
WdfTrue に設定されている場合、デバイスがドッキング ステーションであることを示す、WDF_TRI_STATE型指定された値。
UniqueID
WdfTrue に設定されている場合、デバイスのインスタンス ID がシステム全体に一意であることを示す、WDF_TRI_STATE型指定された値。 UniqueID が WdfFalse に設定されている場合、インスタンス ID はデバイスのバスに対してのみ一意です。 インスタンス ID の詳細については、「 デバイス識別文字列」を参照してください。
SilentInstall
WdfTrue に設定されている場合、そのデバイス マネージャーデバイスのインストール中にダイアログ ボックスを表示しないことを示す、WDF_TRI_STATE型指定された値。
SurpriseRemovalOK
WdfTrue に設定されている場合 (および Removable も WdfTrueに設定されている場合)、ユーザーがシステムの [ハードウェアの取り外しまたは取り出し] プログラムを使用せずにデバイスを削除できることを示す、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 の値は、フレームワークが指定されたスタックの下位のドライバーの値を使用することを示します。 たとえば、バス ドライバーが LockSupported に WdfTrue を指定し、デバイスの関数ドライバーで 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 を含む) |