none
ストリームドライバによる解像度の制御 RRS feed

  • 質問

  • 現在、カメラ用のストリームドライバを作成しており、
    カメラの解像度の制御にて解決できない問題があります。

    WDKに付属されているGraphEditアプリケーションで
    追加したフィルタ(axファイル)にてIKsPropertySetインタフェースのSetメソッドを用い、
    ドライバ(sysファイル)に解像度データを送ります。
    解像度データを受け取ったドライバからActive Movieウィンドウのサイズを変更したいと考えております。

    現在ドライバへ解像度データを送るところまでは出来ていますが、
    ドライバによるActive Movieウィンドウのサイズの変更が出来ておりません。

    ドライバにて
    ①解像度データをStream Request Blockに設定する。
    ②関数を使用して変更する。
    等が考えられると思われるのですが、実現方法がわかっておりません。

    お手数をお掛けしますが、
    上記の実現方法をご存じでしたら、ご教授ください。
    宜しくお願い致します。

    • 移動 Mike Wang (MSCS) 2012年10月2日 12:41 (移動元:Windows デバイスドライバー開発)
    2010年9月10日 6:47

すべての返信

  • devdrv さん、こんにちは。

    現在開発されているドライバが Kernel Streaming モデルであれば SRB_SET_DATA_FORMAT、AvStream であれば AVStrMiniPinSetDataFormat を実装されていると思われますが、その処理内で、対象デバイスに解像度の変更を通知する必要があると思われます。

    SRB_SET_DATA_FORMAT
    http://msdn.microsoft.com/en-us/library/ff568201(VS.85).aspx

    AVStrMiniPinSetDataFormat
    http://msdn.microsoft.com/en-us/library/ff556355(VS.85).aspx

    また、お使いのデバイスのインスターフェース (USB 接続、IEEE1394 接続など) に依存しますが、恐らくは、対象デバイス独自のベンダリクエストを用いて解像度の変更を通知する必要があるのではないかと思いますので、まずはデバイスのインターフェース仕様を確認されてみてはいかがでしょうか。

    認識が誤っておりましたらご容赦ください。

    2010年9月13日 1:51