次の方法で共有


サンプル サービス プロバイダー

Windows Media デバイス マネージャー SDK には、使用できるサンプル サービス プロバイダーが含まれています。 このサービス プロバイダーには、コンピューター上の各ハード ドライブが接続されているデバイスであるかのように報告するクラスが含まれています。 このサービス プロバイダーを使用する唯一のアプリケーションは、サンプル アプリケーションです。Windows エクスプローラーには、このサービス プロバイダーによって報告された "デバイス" は表示されません。 サービス プロバイダーのサンプルは、ATL 上に構築された COM オブジェクトです。 次の手順では、サンプル サービス プロバイダーの使用方法について説明します。

Note

サンプル サービス プロバイダーは非常に少数の機能を実装しているため、Windows Media デバイス マネージャー アプリケーションのテストには使用しないでください。 アプリケーションをテストするには、完全に実装されたサービス プロバイダーを使用します。

 

  • このサンプルには、サービス プロバイダーが誤動作する原因となるコーディング エラーが付属しています。 このエラーを修正するには、フォルダー <SDK インストール パス>\WMFSDK95\WMDM\mdsp\mshdsp にインストールされている MDSPEnumStorage.cpp ファイルを開き、185 行目に移動して、次の行を変更します。

wcsncpy(pStg->m_wcsName, m_wcsPath, dwLen);

この行を次のように変更します。

wcsncpy(pStg->m_wcsName, m_wcsPath, ARRAYSIZE(pStg->m_wcsName));

  1. MsHDSP.dll ファイルをコンパイルします。 これを行うには、NMAKE または Visual Studio を使用します。 アプリケーションのコンパイル方法については、「NMAKE を使用したサンプル サービス プロバイダーのコンパイル」または「Visual Studio を使用したサンプル サービス プロバイダーのコンパイル」を参照してください。

  2. regsvr32 を使用してMsHDSP.dllを登録します。 次の行は、MsHDSP.dllと同じフォルダー内のコマンド プロンプト ウィンドウに入力され、サンプル サービス プロバイダーを登録します。

    regsvr32 mshdsp.dll
    

    デバイスの偽装を停止するには、コマンド プロンプトで次の行を入力します。

    regsvr32 /u mshdsp.dll
    
  3. この DLL によって偽装されたリムーバブル デバイスは、この SDK に付属しているサンプル アプリケーションでのみ確認できます。 サンプル デスクトップ アプリケーションに関するページで説明されているいずれかの方法を使用して 、サンプル アプリケーションをコンパイルします。

  4. Visual Studio でサービス プロバイダーをデバッグするには、Visual Studio でサービス プロバイダーを開き、[デバッグ] メニューの [開始] を選択します。 ポップアップ ダイアログ ボックスで、前の手順でビルドしたサンプル アプリケーションを参照し、[ OK] をクリックすると、サービス プロバイダーがデバッグ モードで実行を開始します。

    Visual Studio でデバッグせずにサービス プロバイダーを実行するには、msdhsp.dllを登録し、SDK に付属するサンプル デスクトップ アプリケーションを実行するだけです。 サンプル デスクトップ アプリケーションは、サンプル サービス プロバイダーを自動的に実行します。

サンプル