プロパティ情報の取得
ここでは選択したデバイスがサポートするプロパティ情報の取得の仕方について説明します。
このプログラムはディレクトリ%TOPLEVEL%\Samples\VCx\SimplePropertyにございます。
たとえばVC2010++では%TOPLEVEL%\Samples\VC10となり、VC8では%TOPLEVEL%\Samples\VC8となります。
プログラムを実行するため、ディレクトリ内のソリューションファイルSimpleProperty.slnを開き、メニューからビルド -> ビルド SimplePropertyと選択します。
そこからデバッグ -> スタートと選択することでプログラムを実行することができます。
プログラムがGrabber::showDevicePageクラスライブラリリファレンス>クラス>Grabber>Grabber::showDevicePage Methodを使ってユーザーにデバイスを選択させます。
デバイスプロパティにアクセスするために%TOPLEVEL%\Samples\VC71\Commonディレクトリ内のCSimplePropertyAccessクラスライブラリリファレンス>ヘルパークラス>CSimplePropertyAccess>CSimplePropertyAccessクラスが使われます。
CSimplePropertyAccess prop( grabber.getAvailableVCDProperties() );
if( prop.isAvailable( VCDID_Brightness ) )
{
std::cout << "Brightness property available" << std::endl;
if( prop.getAuto( VCDID_Brightness ) )
{
std::cout << "Brightness auto enabled" << std::endl;
}
else
{
std::cout << "Brightness auto disabled" << std::endl;
long val = prop.getValue( VCDID_Brightness );
std::cout << "Current Brightness value: " << val << std::endl;
long min = prop.getRangeMin( VCDID_Brightness );
long max = prop.getRangeMax( VCDID_Brightness );
std::cout << "Brightness Range: [" << min << ".." << max << "]" << std::endl;
}
VCDID_Brightnessクラスライブラリリファレンス>定数>tandard Property Item GUIDs (標準プロパティ項目GUID)をパラメータとしてCSimplePropertyAccess::isAvailableクラスライブラリリファレンス>ヘルパークラス>CSimplePropertyAccess>CSimplePropertyAccess::isAvailable Methodを呼び出すことで、プログラムはデバイスが "brightness" プロパティをサポートしているかをチェックします。
サポートされている場合、CSimplePropertyAccess::getAutoクラスライブラリリファレンス>ヘルパークラス>CSimplePropertyAccess>CSimplePropertyAccess::getAuto Methodが呼び出されその設定が自動かどうかをチェックします。
"brightness"プロパティがオート設定でなかった場合、 CSimplePropertyAccess::getValueクラスライブラリリファレンス>ヘルパークラス>CSimplePropertyAccess>CSimplePropertyAccess::getValue Methodが呼び出され現在の"brightness "の値を取得します。