警告
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の概要」を参照してください。
次のコード例は、ドライバーが IDriverEntry::OnDeviceAdd メソッドの実装でデバイス コールバック オブジェクトを作成し、IWDFDriver::CreateDevice メソッドへの呼び出しでデバイス コールバック インターフェイスへのポインターを渡してデバイスを作成する方法を示しています。
HRESULT CMyDriver::OnDeviceAdd(
IWDFDriver* pDriver,
IWDFDeviceInitialize* pDeviceInit
) {
IUnknown *pDeviceCallback = NULL;
...
HRESULT hr;
// Create callback object
hr = CMyDevice::CreateInstance( &pDeviceCallback,
pDeviceInit,
completionPort );
...
// Create WDF device
hr = pDriver->CreateDevice( pDeviceInit,
pDeviceCallback,
&pIWDFDevice );
...
}