SW_DEVICE_CREATE_INFO構造体 (swdevicedef.h)
PnP がソフトウェア デバイスの作成に使用する情報について説明します。
構文
typedef struct _SW_DEVICE_CREATE_INFO {
ULONG cbSize;
PCWSTR pszInstanceId;
PCZZWSTR pszzHardwareIds;
PCZZWSTR pszzCompatibleIds;
const GUID *pContainerId;
ULONG CapabilityFlags;
PCWSTR pszDeviceDescription;
PCWSTR pszDeviceLocation;
const SECURITY_DESCRIPTOR *pSecurityDescriptor;
} SW_DEVICE_CREATE_INFO, *PSW_DEVICE_CREATE_INFO;
メンバーズ
cbSize
この構造体のサイズ (バイト単位)。 バージョン フィールドとして使用します。 sizeof(SW_DEVICE_CREATE_INFO) に初期化します。
pszInstanceId
デバイス インスタンス IDの インスタンス ID 部分を表す文字列。 この値は、IRP_MN_QUERY_IDBusQueryInstanceIDに使用されます。 すべてのソフトウェア デバイスは "UniqueId" デバイスと見なされるため、この文字列は、このソフトウェア デバイス列挙子上のすべてのデバイスの一意の名前である必要があります。
pszzHardwareIds
ソフトウェア デバイスに
pszzCompatibleIds
ソフトウェア デバイスに SWD\Generic
および場合によっては SWD\GenericRaw
は常に、最も具体的な互換性のない ID として追加されます。
pContainerId
ソフトウェア デバイスの基本コンテナー ID を制御するために使用される値。 この値は、IRP_MN_QUERY_IDBusQueryContainerIDsに使用されます。 一般的な状況では、このメンバーを NULL
CapabilityFlags
ビットごとの OR 演算を使用して結合される SW_DEVICE_CAPABILITIES 値の組み合わせ。 結果の値は、ソフトウェア デバイスの機能を指定します。 ソフトウェア デバイスを作成するときに指定できる機能は、バス ドライバーが DEVICE_CAPABILTIES 構造を使用して指定できる機能のサブセットです。 ソフトウェアのみのデバイスの変更を許可する意味のある機能のみがサポートされます。 残りは適切な既定値を受け取ります。 使用可能な値を次に示します。
価値 | 意味 |
---|---|
|
機能が指定されていません。 |
|
このビットは、デバイスが親からリムーバブルであることを指定します。 このフラグの設定は、PDO の DEVICE_CAPABILTIES 構造体の リムーバブル メンバーを設定するバス ドライバーと同じです。 |
|
このビットは、通常はインストール時に表示される UI を抑制します。 このフラグの設定は、バス ドライバーが PDO の |
|
このビットにより、一部の UI にデバイスが表示されなくなります。 このフラグの設定は、PDO の DEVICE_CAPABILTIES 構造体の NoDisplayInUI メンバーを設定するバス ドライバーと同じです。 |
|
クライアントがデバイスにドライバーを読み込む必要がある場合、およびクライアントの機能の正しい機能にこのドライバーが必要な場合は、このビットを指定します。
このビットを指定する場合は、pszzHardwareIds または pszzCompatibleIds このビットが指定されていて、ドライバーが見つからない場合、デバイスに問題があることを示す黄色の強打がデバイス マネージャー このビットが指定されている場合、ドライバーはデバイスのインターフェイスを作成しており、デバイス SwDeviceInterfaceRegister を呼び出すことはできません。 |
pszDeviceDescription
UI のデバイス名に表示されるテキストを含む文字列。 この値は、IRP_MN_QUERY_DEVICE_TEXTDeviceTextDescriptionに使用されます。
INF がデバイスと一致すると、INF の名前は、この名前を保持する手順を実行しない限り、この名前をオーバーライドします。
この文字列は、ローカライズ可能なリソースへの参照にすることをお勧めします。 リソースを参照する構文については、DEVPROP_TYPE_STRING_INDIRECTを参照してください。
pszDeviceLocation
UI のデバイスの場所に表示されるテキストを含む文字列。 この値は、DeviceTextLocationInformation
pSecurityDescriptor
ソフトウェア デバイスに関連付けられているセキュリティ情報を含む SECURITY_DESCRIPTOR 構造体へのポインター。 このメンバーが NULL
備考
この情報は作成時にのみ指定でき、後でソフトウェア デバイス API を呼び出してこの情報を変更することはできません。たとえば、プロパティを設定します。
必要条件
要件 | 価値 |
---|---|
ヘッダー | swdevicedef.h (Swdevice.h を含む) |
関連項目
swDeviceCreate の