次の方法で共有


デバイス タイプ

キャプチャ デバイスに関する情報で最も重要なものは、デバイスが VCR 機能を持っているのか、単なるカメラなのかという情報だ。これを調べるには、値 ED_DEVCAP_DEVICE_TYPE を指定して IAMExtDevice::GetCapability メソッドを呼び出す。このメソッドが値 ED_DEVTYPE_VCR を返した場合、デバイスは VCR であり、ポーズ、停止、早送り、巻き戻しなどの機能を持っている。以下のコードは、デバイス タイプを問い合わせる方法を示したものである。

if (MyDevCap.bHasDevice) 
{
    LONG lDeviceType = 0;
    MyDevCap.pDevice->GetCapability(ED_DEVCAP_DEVICE_TYPE, &lDeviceType, 0);

    if (lDeviceType == ED_DEVTYPE_VCR) 
    {
        // デバイスは VCR である。すべての VCR 機能を有効にする。
    }
    else 
    {
        // デバイスはカメラである。
        // 録画と録画ポーズを有効にする。他の機能は無効にする。
    }
}

カムコーダは通常、VCR 機能とカメラ機能を切り替えることができる。カムコーダは、対応するデバイス タイプを返す。カムコーダがオフラインになった場合は、次に使用可能になったときにもう一度問い合わせる必要がある。デバイスが削除されると、フィルタ グラフ マネージャが EC_DEVICE_LOST イベントを送信する。