次の方法で共有


UMDF 1.x ドライバーでのハードウェア リソースの検索とマッピング

警告

UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、Windows 10 の新しいバージョンでは UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは、UMDF 2 を使用する必要があります。

アーカイブされた UMDF 1 サンプルは、Windows 11 バージョン 22H2 - May 2022 Driver Samples Updateにあります。

詳細については、「UMDFの概要」を参照してください。

UMDF バージョン 2.0 以降を使用している場合は、「 ハードウェア リソースの検索とマッピング」を参照してください。

UMDF 1.x ドライバーは、 IPnpCallbackHardware2::OnPrepareHardware コールバック メソッドでハードウェア リソースを受け取ります。 ドライバーは、 IWDFCmResourceList インターフェイスを使用して、変換されたリソースの一覧を確認し、メモリ マップト レジスタ、I/O ポート、および割り込みを識別します。

ドライバーは、IWDFCmResourceList::GetCount と IWDFCmResourceList::GetDescriptor を呼び出すことによって、リソース一覧を反復処理します。

ドライバーがメモリ マップト レジスタを受け取った場合、ドライバーは IWDFDevice3::MapIoSpace を呼び出してレジスタにアクセスする前にマップする必要があります。 通常、ドライバーは、 そのレジスタを IPnpCallbackHardware2::OnPrepareHardware メソッドにマップします。 ドライバーは、IWDFDevice3::UnmapIoSpace を呼び出すことによって、IPnpCallbackHardware2::OnReleaseHardware コールバックのレジスタのマップを解除します。 I/O ポートにはマッピングは必要ありません。

ドライバーがメモリ マップされたレジスタ リソースを検索してマップする方法を示す例については、「 IWDFDevice3::MapIoSpace」を参照してください。