次の方法で共有


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

警告

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

アーカイブされた UMDF 1 サンプルは、Windows 11, バージョン 22H2 - 2022 年 5 月 ドライバー サンプル アップデートでご確認いただけます。

詳しくは、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 );
      ...
   }