次の方法で共有


コールバック オブジェクトの作成の例

警告

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 );
      ...
   }