次の方法で共有


WdfPdoInitAssignRawDevice 関数 (wdfpdo.h)

[KMDF にのみ適用]

WdfPdoInitAssignRawDevice メソッドは、呼び出し元のドライバーが未加工モードで指定されたデバイスをサポートできることを示します。

構文

NTSTATUS WdfPdoInitAssignRawDevice(
  [in] PWDFDEVICE_INIT DeviceInit,
  [in] const GUID      *DeviceClassGuid
);

パラメーター

[in] DeviceInit

WDFDEVICE_INIT構造体へのポインター。

[in] DeviceClassGuid

デバイス セットアップ クラスを識別する GUID へのポインター。

メモ カスタム クラス GUID は常に指定する必要があります。 既存のクラス GUID は指定しないでください。 既存のクラス GUID を指定した場合、既存のクラス GUID を指定しようとする他のドライバーは、インストールに失敗するか、正しくないセキュリティ設定でインストールする可能性があります。

詳細については、「解説」を参照してください。

戻り値

操作が成功した場合、メソッドは STATUS_SUCCESS を返します。 それ以外の場合は、STATUS_INVALID_PARAMETERを返します。

注釈

ドライバーは、WdfDeviceCreate を呼び出す前に WdfPdoInitAssignRawDevice を呼び出す必要があります。 WdfDeviceCreate の呼び出しの詳細については、「Framework デバイス オブジェクトの作成」を参照してください。

レジストリには、ドライバーが WdfDeviceInitAssignSDDLString、WdfDeviceInitSetDeviceType、WdfDeviceInitSetCharacteristics、および WdfDeviceInitSetExclusive を呼び出すときに指定する値をオーバーライドする値を含めることができます。 WdfPdoInitAssignRawDevice メソッドの DeviceClassGuid パラメーターは、オーバーライド値を含むレジストリのセクションを識別する GUID を指定します。 DeviceClassGuid パラメーターはレジストリのセクションのみを識別し、実際にはデバイスのデバイス セットアップ クラスを設定しません。 デバイスとドライバーの INF ファイルの [INF バージョン] セクション では、デバイス セットアップ クラスが設定されます。 通常、 DeviceClassGuid パラメーターの GUID は、 INF バージョン セクション で指定されている GUID と一致する必要があります。

レジストリの使用の詳細については、「 インストール後のデバイス オブジェクト レジストリプロパティの設定」を参照してください。

kmdf_enumswitches ドライバー サンプルの次のスニペットは、ドライバーが未加工モードで指定されたデバイスをサポートできることを示しています。

NTSTATUS  status;
DEFINE_GUID(GUID_DEVCLASS_MYUNIQUEID,
0xf149fe88, 0x f6cc, 0x47e3, 0x85, 0x94, 0xe2, 0xaa, 0xb6, 0xe0, 0x3b, 0xdf);

status = WdfPdoInitAssignRawDevice(
                                   pDeviceInit,
                                   &GUID_DEVCLASS_MYUNIQUEID
                                   );

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
Header wdfpdo.h (Wdf.h を含む)
Library Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 ChildDeviceInitAPI(kmdf), DriverCreate(kmdf)InitFreeDeviceCallback(kmdf)InitFreeDeviceCreate(kmdf)InitFreeNull(kmdf)KmdfIrql(kmdf)、KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)、PdoDeviceInitAPI(kmdf)PdoInitFreeDeviceCallback(kmdf)PdoInitFreeDeviceCreate(kmdf)

こちらもご覧ください

WdfDeviceInitAssignSDDLString

WdfDeviceInitSetCharacteristics

WdfDeviceInitSetDeviceType

WdfDeviceInitSetExclusive