WDF_PROPERTY_STORE_ROOT構造体 (wudfddi_types.h)
[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、新しいバージョンのWindows 10では UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは UMDF 2 を使用する必要があります。 詳細については、「UMDF を使用したはじめに」を参照してください。
WDF_PROPERTY_STORE_ROOT構造体には、UMDF プロパティ ストアを識別する情報が含まれています。
構文
typedef struct _WDF_PROPERTY_STORE_ROOT {
ULONG LengthCb;
WDF_PROPERTY_STORE_ROOT_CLASS RootClass;
union {
struct {
PCWSTR ServiceName;
} HardwareKey;
struct {
LPCGUID InterfaceGUID;
PCWSTR ReferenceString;
} DeviceInterfaceKey;
struct {
PCWSTR LegacyMapName;
} LegacyHardwareKey;
} Qualifier;
} WDF_PROPERTY_STORE_ROOT, *PWDF_PROPERTY_STORE_ROOT;
メンバー
LengthCb
この構造体の長さ (バイト単位)。
RootClass
プロパティ ストアを識別する WDF_PROPERTY_STORE_ROOT_CLASS型指定の値。
Qualifier
Qualifier.HardwareKey
Qualifier.HardwareKey.ServiceName
レジストリ内のデバイスのハードウェア キーの下にあるドライバー固有のサブキーを識別する NULL で終わる文字列へのポインター。 このメンバーの詳細については、次の「備考」セクションを参照してください。
Qualifier.DeviceInterfaceKey
Qualifier.DeviceInterfaceKey.InterfaceGUID
デバイス インターフェイスを識別する GUID へのポインター。 デバイス インターフェイスを登録するには、ドライバーで IWDFDevice::CreateDeviceInterface が以前に呼び出されている必要があります。
Qualifier.DeviceInterfaceKey.ReferenceString
デバイス インターフェイスの参照文字列を識別する NULL で終わる文字列へのポインター。 ドライバーは、 IWDFDevice::CreateDeviceInterface を呼び出したときに参照文字列を指定した場合に、このメンバーを指定する必要があります。 それ以外の場合、このメンバーは NULL である必要があります。
Qualifier.LegacyHardwareKey
Qualifier.LegacyHardwareKey.LegacyMapName
レジストリ内の HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP キーの下にあるサブキーを識別する NULL で終わる文字列へのポインター。 このキーは、いくつかの古いドライバーでのみ使用されます。
注釈
WDF_PROPERTY_STORE_ROOT構造体は、IWDFPropertyStoreFactory::RetrieveDevicePropertyStore および IWDFUnifiedPropertyStoreFactory::RetrieveUnifiedDevicePropertyStore への入力として使用されます。
UMDF プロパティ ストアは、ドライバーがアクセスできるレジストリ キーを表します。 ドライバーが上記のいずれかのメソッドを呼び出す前に、 WDF_PROPERTY_STORE_ROOT 構造体を初期化する必要があります。 ドライバーは構造体を 0 にしてから、 LengthCb メンバーを構造体の長さに設定する必要があります。
ソフトウェア キーを開くには、ドライバーで次の手順を実行する必要があります。
- 構造体の LengthCb メンバーを構造体のサイズに設定します。
- 構造体の RootClass メンバーを WdfPropertyStoreRootClassSoftwareKey に設定します。
- 構造体の LengthCb メンバーを構造体のサイズに設定します。
- 構造体の RootClass メンバーを WdfPropertyStoreRootClassHardwareKey に設定します。
-
Qualifier.HardwareKey.ServiceName メンバーの値を設定します。 この値は、次のいずれかである必要があります。
- WDF_PROPERTY_STORE_HARDWARE_KEY_ROOT、デバイスのハードウェア キーの下にある \Device Parameters サブキーを開きます。 ドライバーは、このサブキーへの読み取りアクセスのみを取得できます。
- WDF_PROPERTY_STORE_HARDWARE_KEY_DEFAULT、ドライバーのサービス名と一致するサブキーを開くには、 \Device Parameters サブキーの下に表示されます。 ドライバーは、このサブキーへの読み取りまたは書き込みアクセスを取得できます。 必要に応じて、ドライバーはサブキーが存在しない場合に作成できます。
- \Device Parameters サブキーの下で、文字列に一致する名前を持つサブキーを開く、ドライバー指定の文字列。 ドライバーは、このサブキーへの読み取りまたは書き込みアクセスを取得できます。 必要に応じて、ドライバーはサブキーが存在しない場合に作成できます。
ドライバーがデバイスのハードウェア キーの下にサブキーを作成する場合は、UMDF によってドライバーのサービス名と一致するサブキーが作成されるため、 WDF_PROPERTY_STORE_HARDWARE_KEY_DEFAULT を指定することをお勧めしています。 この名前を使用すると、各ドライバーで一意の名前付きサブキーが作成されます。 ドライバーでは、サブキー名として WDF または WUDF を指定しないでください。
- 構造体の LengthCb メンバーを構造体のサイズに設定します。
- 構造体の RootClass メンバーを WdfPropertyStoreRootClassDeviceInterfaceKey に設定します。
- Qualifier.DeviceInterfaceKey.InterfaceGUID メンバーを、ドライバーが IWDFDevice::CreateDeviceInterface の以前の呼び出しに指定した GUID に設定します。
- Qualifier.DeviceInterfaceKey.ReferenceString メンバーを、ドライバーが IWDFDevice::CreateDeviceInterface の以前の呼び出しに指定した参照文字列に設定します。ドライバーが参照文字列を指定しなかった場合は NULL を設定します。
DEVICEMAP キーを開くには、ドライバーで次の手順を実行する必要があります。
- 構造体の LengthCb メンバーを構造体のサイズに設定します。
- 構造体の RootClass メンバーを WdfPropertyStoreRootClassLegacyHardwareKey に設定します。
- Qualifier.LegacyHardwareKey.LegacyMapName メンバーを、レジストリの HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP キーの下のサブキーを指定する文字列に設定します。
これらのレジストリ キーの詳細については、「 UMDF ベースのドライバーでのレジストリの使用」を参照してください。
要件
要件 | 値 |
---|---|
最小 UMDF バージョン | 1.9 |
Header | wudfddi_types.h (Wudfddi.h を含む) |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示