Win32 API 日本語リファレンス
ホームMedia.DirectShow › ICameraControl

ICameraControl

COM
IID2ba1785d-4d1b-44ef-85e8-c7f1d3f20184継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ICameraControl インターフェースは、キャプチャデバイスのカメラ設定を制御します。このインターフェースは、キャプチャフィルター内の 1 つ以上のノードによって公開されることがあります。

メソッド 51

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT get_Exposure(INT* pValue, INT* pFlags)

get_Exposure メソッドは、カメラの露光時間を返します。

pValueINT*out露光時間を 2 を底とする対数の秒単位で受け取ります。値が n の場合、露光時間は 2^n 秒です。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 4 HRESULT put_Exposure(INT Value, INT Flags)

put_Exposure メソッドは、カメラの露光時間を設定します。

ValueINTin露光時間を 2 を底とする対数の秒単位で指定します。値が n の場合、露光時間は 2^n 秒です。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 5 HRESULT getRange_Exposure(INT* pMin, INT* pMax, INT* pSteppingDelta, INT* pDefault, INT* pCapsFlag)

getRange_Exposure メソッドは、カメラがサポートする露光時間の範囲を返します。

pMinINT*out最小露光時間を 2 を底とする対数の秒単位で受け取ります。値が n の場合、露光時間は 2^n 秒です。
pMaxINT*out最大露光時間を 2 を底とする対数の秒単位で受け取ります。
pSteppingDeltaINT*out設定間の最小刻み幅を受け取ります。
pDefaultINT*out既定の露光時間を受け取ります。
pCapsFlagINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 6 HRESULT get_Focus(INT* pValue, INT* pFlags)

get_Focus メソッドは、最適に焦点が合う距離を返します。

pValueINT*out焦点が合っている距離をミリメートル単位で受け取ります。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 7 HRESULT put_Focus(INT Value, INT Flags)

put_Focus メソッドは、最適に焦点が合う距離を設定します。

ValueINTin焦点距離をミリメートル単位で指定します。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 8 HRESULT getRange_Focus(INT* pMin, INT* pMax, INT* pSteppingDelta, INT* pDefault, INT* pCapsFlag)

getRange_Focus メソッドは、カメラがサポートする焦点距離の範囲を返します。

pMinINT*out最小焦点距離をミリメートル単位で受け取ります。
pMaxINT*out最大焦点距離をミリメートル単位で受け取ります。
pSteppingDeltaINT*out設定間の最小刻み幅を受け取ります。
pDefaultINT*out既定の焦点距離を受け取ります。
pCapsFlagINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 9 HRESULT get_Iris(INT* pValue, INT* pFlags)

get_Iris メソッドは、カメラの絞り設定を返します。

pValueINT*out絞り設定を f 値 * 10 の単位で受け取ります。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 10 HRESULT put_Iris(INT Value, INT Flags)

put_Iris メソッドは、カメラの絞り設定を設定します。

ValueINTin絞り設定を f 値 * 10 の単位で指定します。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 11 HRESULT getRange_Iris(INT* pMin, INT* pMax, INT* pSteppingDelta, INT* pDefault, INT* pCapsFlag)

getRange_Iris メソッドは、カメラがサポートする絞り設定の範囲を返します。

pMinINT*out最小絞り設定を f 値 * 100 の単位で受け取ります。
pMaxINT*out最大絞り設定を f 値 * 100 の単位で受け取ります。
pSteppingDeltaINT*out設定間の最小刻み幅を受け取ります。
pDefaultINT*out既定の絞り設定を受け取ります。
pCapsFlagINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 12 HRESULT get_Zoom(INT* pValue, INT* pFlags)

get_Zoom メソッドは、カメラの光学ズームレベルを返します。

pValueINT*outズームレベルを受け取ります。この設定の単位は定義されていません。ズームレベルから倍率を計算する方法については、ICameraControl::get_FocalLengths を参照してください。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

解説(Remarks)

このメソッドは光学ズームレベルのみを返します。デジタルズームレベルを取得するには、IVideoProcAmp::get_DigitalMultiplier を呼び出してください。

vtbl 13 HRESULT put_Zoom(INT Value, INT Flags)

put_Zoom メソッドは、カメラのズームレベルを設定します。

ValueINTinズームレベルを指定します。この設定の単位は定義されていません。ズームレベルから倍率を計算する方法については、ICameraControl::get_FocalLengths を参照してください。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 14 HRESULT getRange_Zoom(INT* pMin, INT* pMax, INT* pSteppingDelta, INT* pDefault, INT* pCapsFlag)

getRange_Zoom メソッドは、カメラがサポートするズームレベルの範囲を返します。

pMinINT*out最小ズームを受け取ります。
pMaxINT*out最大ズームを受け取ります。
pSteppingDeltaINT*out設定間の最小刻み幅を受け取ります。
pDefaultINT*out既定のズームを受け取ります。
pCapsFlagINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

解説(Remarks)

ズームレベルから倍率を計算する方法については、ICameraControl::get_FocalLengths を参照してください。

vtbl 15 HRESULT get_FocalLengths(INT* plOcularFocalLength, INT* plObjectiveFocalLengthMin, INT* plObjectiveFocalLengthMax)

get_FocalLengths メソッドは、カメラレンズの焦点距離を返します。

plOcularFocalLengthINT*out接眼レンズの焦点距離を受け取ります。
plObjectiveFocalLengthMinINT*out対物レンズの最小焦点距離を受け取ります。
plObjectiveFocalLengthMaxINT*out対物レンズの最大焦点距離を受け取ります。

戻り値

HRESULT 値を返します。

解説(Remarks)

2 枚レンズのカメラでは、対物レンズが被写体に近く、接眼レンズがカメラに近くなります。接眼レンズの焦点距離は固定されています。カメラに光学ズームがある場合、対物レンズの焦点距離は一定の範囲内で変化します。倍率は、対物レンズと接眼レンズの焦点距離の比として計算されます。倍率は比として表されるため、単位はありません。したがって、焦点距離の単位はこのインターフェースでは定義されていません。

カメラが光学ズームをサポートしている場合、現在のズームレベルは Zmin から Zmax の範囲の整数値として表されます。対物レンズの焦点距離は、次のように計算できます。


Lcur = ( ( (Zcur - Zmin) * (Lmax - Lmin) ) / (Zmax - Zmin) ) + Lmin

ここで、

Lcur

から倍率を計算できます。

vtbl 16 HRESULT get_Pan(INT* pValue, INT* pFlags)

get_Pan メソッドは、カメラのパン角度を返します。

pValueINT*outパン角度を度単位で受け取ります。正の値はカメラを上から見て時計回り、負の値は反時計回りです。理論上の値は –180 度から +180 度までですが、実際の範囲はカメラによって異なります。ICameraControl::getRange_Pan を参照してください。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 17 HRESULT put_Pan(INT Value, INT Flags)

put_Pan メソッドは、カメラのパン角度を設定します。

ValueINTinパン角度を度単位で指定します。正の値はカメラを上から見て時計回り、負の値は反時計回りです。理論上の値は –180 度から +180 度までですが、実際の範囲はカメラによって異なります。ICameraControl::getRange_Pan を参照してください。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 18 HRESULT getRange_Pan(INT* pMin, INT* pMax, INT* pSteppingDelta, INT* pDefault, INT* pCapsFlag)

getRange_Pan メソッドは、カメラがサポートするパン角度の範囲を返します。

pMinINT*out最小パン角度を 1 秒角の単位で受け取ります。
pMaxINT*out最大パン角度を 1 秒角の単位で受け取ります。
pSteppingDeltaINT*out設定間の最小刻み幅を受け取ります。
pDefaultINT*out既定のパン角度を受け取ります。
pCapsFlagINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 19 HRESULT get_Tilt(INT* pValue, INT* pFlags)

get_Tilt メソッドは、カメラのチルト角度を返します。

pValueINT*outチルト角度を度単位で受け取ります。正の値はカメラを上に向け、負の値はカメラを下に向けます。理論上の値は –180 度から +180 度までですが、実際の範囲はカメラによって異なります。ICameraControl::getRange_Tilt を参照してください。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 20 HRESULT put_Tilt(INT Value, INT Flags)

put_Tilt メソッドは、カメラのチルト角度を設定します。

ValueINTinチルト角度を度単位で指定します。正の値はカメラを上に向け、負の値はカメラを下に向けます。理論上の値は –180 度から +180 度までですが、実際の範囲はカメラによって異なります。ICameraControl::getRange_Tilt を参照してください。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 21 HRESULT getRange_Tilt(INT* pMin, INT* pMax, INT* pSteppingDelta, INT* pDefault, INT* pCapsFlag)

getRange_Tilt メソッドは、カメラがサポートするチルト角度の範囲を返します。

pMinINT*out最小チルト角度を 1 秒角の単位で受け取ります。
pMaxINT*out最大チルト角度を 1 秒角の単位で受け取ります。
pSteppingDeltaINT*out設定間の最小刻み幅を受け取ります。
pDefaultINT*out既定のチルト角度を 1 秒角の単位で受け取ります。
pCapsFlagINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 22 HRESULT get_PanTilt(INT* pPanValue, INT* pTiltValue, INT* pFlags)

get_PanTilt メソッドは、カメラのパン角度とチルト角度を返します。

pPanValueINT*out現在のパン角度を秒角単位で受け取ります。1 秒角は 1 度の 1/3600 です。ICameraControl::get_Pan を参照してください。
pTiltValueINT*out現在のチルト角度を秒角単位で受け取ります。ICameraControl::get_Tilt を参照してください。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 23 HRESULT put_PanTilt(INT PanValue, INT TiltValue, INT Flags)

put_PanTilt メソッドは、カメラのパン角度とチルト角度を設定します。

PanValueINTinパン角度を秒角単位で指定します。1 秒角は 1 度の 1/3600 です。ICameraControl::put_Pan を参照してください。
TiltValueINTinチルト角度を秒角単位で指定します。ICameraControl::put_Tilt を参照してください。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 24 HRESULT get_Roll(INT* pValue, INT* pFlags)

.

pValueINT*outロール角度を度単位で受け取ります。正の値は画像の視軸に沿って時計回り、負の値は反時計回りです。理論上の値は –180 度から +180 度までですが、実際の範囲はカメラによって異なります。ICameraControl::getRange_Roll を参照してください。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 25 HRESULT put_Roll(INT Value, INT Flags)

put_Roll メソッドは、カメラのロール角度を設定します。

ValueINTinロール角度を度単位で指定します。正の値は画像の視軸に沿って時計回り、負の値は反時計回りです。理論上の値は –180 度から +180 度までですが、実際の範囲はカメラによって異なります。ICameraControl::getRange_Roll を参照してください。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 26 HRESULT getRange_Roll(INT* pMin, INT* pMax, INT* pSteppingDelta, INT* pDefault, INT* pCapsFlag)

getRange_Roll メソッドは、カメラがサポートするロール角度の範囲を返します。

pMinINT*out最小ロール角度を度単位で受け取ります。
pMaxINT*out最大ロール角度を度単位で受け取ります。
pSteppingDeltaINT*out設定間の最小刻み幅を受け取ります。
pDefaultINT*out既定のロール角度を度単位で受け取ります。
pCapsFlagINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 27 HRESULT get_ExposureRelative(INT* pValue, INT* pFlags)

get_ExposureRelative メソッドは、カメラの相対露光時間を返します。相対露光時間はステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

pValueINT*out

相対露光を受け取ります。指定可能な値の範囲を取得するには、ICameraControl::getRange_ExposureRelative を呼び出してください。

説明
0 既定の露光時間。
正の値 1 ステップ増加します。
負の値 1 ステップ減少します。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 28 HRESULT put_ExposureRelative(INT Value, INT Flags)

put_ExposureRelative メソッドは、カメラの相対露光時間を設定します。相対露光時間はステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

ValueINTin

相対露光を指定します。指定可能な値の範囲を取得するには、ICameraControl::getRange_ExposureRelative を呼び出してください。

説明
0 露光を既定の露光時間に設定します。これは実装に依存します。
正の値 露光時間を 1 ステップ増加させます。
負の値 露光時間を 1 ステップ減少させます。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 29 HRESULT getRange_ExposureRelative(INT* pMin, INT* pMax, INT* pSteppingDelta, INT* pDefault, INT* pCapsFlag)

getRange_ExposureRelative メソッドは、カメラがサポートする相対露光時間の範囲を返します。相対露光時間はステップ数として表され、各ステップの絶対値はカメラのモデルによって異なります。

pMinINT*out最小相対露光時間を受け取ります。
pMaxINT*out最大相対露光時間を受け取ります。
pSteppingDeltaINT*out設定間の最小刻み幅を受け取ります。
pDefaultINT*out既定の相対露光時間を受け取ります。
pCapsFlagINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 30 HRESULT get_FocusRelative(INT* pValue, INT* pFlags)

get_FocusRelative メソッドは、相対フォーカスを返します。相対フォーカスは、レンズ群が移動している方向を示します。

pValueINT*out

相対フォーカスを受け取ります。値の大きさは焦点が変化する速度を表し、値が大きいほど速度が速くなります。指定可能な値の範囲を取得するには、ICameraControl::getRange_FocusRelative を呼び出してください。

説明
0 停止。
正の値 焦点が被写体に近づいています。
負の値 焦点が被写体から遠ざかっています。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 31 HRESULT put_FocusRelative(INT Value, INT Flags)

put_FocusRelative メソッドは、相対フォーカスを設定します。相対フォーカスは、レンズ群が移動している方向を示します。

ValueINTin

相対フォーカスを指定します。値の大きさは焦点が変化する速度を表し、値が大きいほど速度が速くなります。指定可能な値の範囲を取得するには、ICameraControl::getRange_FocusRelative を呼び出してください。

説明
0 焦点の動きを停止します。
正の値 焦点を被写体に近づけ始めます。
負の値 焦点を被写体から遠ざけ始めます。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 32 HRESULT getRange_FocusRelative(INT* pMin, INT* pMax, INT* pSteppingDelta, INT* pDefault, INT* pCapsFlag)

getRange_FocusRelative メソッドは、カメラがサポートする相対焦点距離の範囲を返します。相対フォーカスは、レンズ群が移動している方向を示します。

pMinINT*out最小相対フォーカスを受け取ります。
pMaxINT*out最小相対フォーカスを受け取ります。
pSteppingDeltaINT*out設定間の最小刻み幅を受け取ります。
pDefaultINT*out既定の相対フォーカスを受け取ります。
pCapsFlagINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 33 HRESULT get_IrisRelative(INT* pValue, INT* pFlags)

get_IrisRelative メソッドは、カメラの相対絞り設定を返します。相対絞りはステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

pValueINT*out

相対絞り設定を受け取ります。指定可能な値の範囲を取得するには、ICameraControl::getRange_IrisRelative を呼び出してください。

説明
0 既定の絞り設定。
正の値 1 ステップ開きます。
負の値 1 ステップ閉じます。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 34 HRESULT put_IrisRelative(INT Value, INT Flags)

put_IrisRelative メソッドは、カメラの相対絞り設定を設定します。相対絞りはステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

ValueINTin

相対絞り設定を指定します。指定可能な値の範囲を取得するには、ICameraControl::getRange_IrisRelative を呼び出してください。

説明
0 既定の絞り設定を設定します。これは実装に依存します。
正の値 絞りを 1 ステップ開きます。
負の値 絞りを 1 ステップ閉じます。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 35 HRESULT getRange_IrisRelative(INT* pMin, INT* pMax, INT* pSteppingDelta, INT* pDefault, INT* pCapsFlag)

getRange_IrisRelative メソッドは、カメラがサポートする相対絞り設定の範囲を返します。相対絞りはステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

pMinINT*out最小相対絞り設定を受け取ります。
pMaxINT*out最大相対絞り設定を受け取ります。
pSteppingDeltaINT*out設定間の最小刻み幅を受け取ります。
pDefaultINT*out既定の相対絞り設定を受け取ります。
pCapsFlagINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 36 HRESULT get_ZoomRelative(INT* pValue, INT* pFlags)

get_ZoomRelative メソッドは、カメラの相対ズームを返します。相対ズームは、レンズが移動している方向を示します。

pValueINT*out

相対ズームを受け取ります。値の大きさは目的のズーム速度を表し、値が大きいほど速度が速くなります。指定可能な値の範囲を取得するには、ICameraControl::getRange_ZoomRelative を呼び出してください。

説明
0 停止。
正の値 ズームレンズが望遠方向に移動しています。
負の値 ズームレンズが広角方向に移動しています。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 37 HRESULT put_ZoomRelative(INT Value, INT Flags)

put_ZoomRelative メソッドは、カメラの相対ズームを設定します。相対ズームは、レンズが移動している方向を示します。

ValueINTin

相対ズームを指定します。値の大きさは目的のズーム速度を表し、値が大きいほど速度が速くなります。指定可能な値の範囲を取得するには、ICameraControl::getRange_ZoomRelative を呼び出してください。

説明
0 ズームレンズの動きを停止します。
正の値 ズームレンズを望遠方向に移動し始めます (ズームインを開始します)。
負の値 ズームレンズを広角方向に移動し始めます (ズームアウトを開始します)。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 38 HRESULT getRange_ZoomRelative(INT* pMin, INT* pMax, INT* pSteppingDelta, INT* pDefault, INT* pCapsFlag)

getRange_ZoomRelative メソッドは、カメラがサポートする相対ズームレベルの範囲を返します。相対ズームは、レンズが移動している方向を示します。

pMinINT*out最小相対ズームを受け取ります。
pMaxINT*out最大相対ズームを受け取ります。
pSteppingDeltaINT*out設定間の最小刻み幅を受け取ります。
pDefaultINT*out既定の相対ズームを受け取ります。
pCapsFlagINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 39 HRESULT get_PanRelative(INT* pValue, INT* pFlags)

get_PanRelative メソッドは、カメラの相対パンを返します。相対パンはステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

pValueINT*out

相対パンを受け取ります。値の大きさは目的のパン速度を表し、値が大きいほど速度が速くなります。指定可能な値の範囲を取得するには、ICameraControl::getRange_PanRelative を呼び出してください。

説明
0 停止。
正の値 右にパンしています。
負の値 左にパンしています。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 40 HRESULT put_PanRelative(INT Value, INT Flags)

put_PanRelative メソッドは、カメラの相対パンを設定します。相対パンはステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

ValueINTin

相対パンを指定します。値の大きさは目的のパン速度を表し、値が大きいほど速度が速くなります。指定可能な値の範囲を取得するには、ICameraControl::getRange_PanRelative を呼び出してください。

説明
0 パンを停止します。
正の値 右へのパンを開始します。
負の値 左へのパンを開始します。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 41 HRESULT get_TiltRelative(INT* pValue, INT* pFlags)

このトピックは、Windows XP Service Pack 2 以降にのみ適用されます。

pValueINT*out

相対チルトを受け取ります。値の大きさは目的のチルト速度を表し、値が大きいほど速度が速くなります。指定可能な値の範囲を取得するには、ICameraControl::getRange_TiltRelative を呼び出してください。

説明
0 停止。
正の値 上にチルトしています。
負の値 下にチルトしています。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 42 HRESULT put_TiltRelative(INT Value, INT Flags)

put_TiltRelative メソッドは、カメラの相対チルトを設定します。相対チルトはステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

ValueINTin

相対チルトを指定します。値の大きさは目的のチルト速度を表し、値が大きいほど速度が速くなります。指定可能な値の範囲を取得するには、ICameraControl::getRange_TiltRelative を呼び出してください。

説明
0 チルトを停止します。
正の値 上へのチルトを開始します。
負の値 下へのチルトを開始します。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 43 HRESULT getRange_TiltRelative(INT* pMin, INT* pMax, INT* pSteppingDelta, INT* pDefault, INT* pCapsFlag)

getRange_TiltRelative メソッドは、カメラがサポートする相対チルト角度の範囲を返します。相対チルトはステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

pMinINT*out最小相対チルト角度を受け取ります。
pMaxINT*out最大相対チルト角度を受け取ります。
pSteppingDeltaINT*out設定間の最小刻み幅を受け取ります。
pDefaultINT*out既定の相対チルト角度を受け取ります。
pCapsFlagINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 44 HRESULT get_PanTiltRelative(INT* pPanValue, INT* pTiltValue, INT* pFlags)

get_PanTiltRelative メソッドは、カメラの相対パンと相対チルトを返します。相対パンと相対チルトはステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

pPanValueINT*out相対パンを受け取ります。ICameraControl::get_PanRelative を参照してください。
pTiltValueINT*out相対チルトを受け取ります。ICameraControl::get_TiltRelative を参照してください。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 45 HRESULT put_PanTiltRelative(INT PanValue, INT TiltValue, INT Flags)

put_PanTiltRelative メソッドは、カメラの相対パンと相対チルトを設定します。相対パンと相対チルトはステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

PanValueINTin相対パンを指定します。ICameraControl::put_PanRelative を参照してください。
TiltValueINTin相対チルトを指定します。ICameraControl::put_TiltRelative を参照してください。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 46 HRESULT getRange_PanRelative(INT* pMin, INT* pMax, INT* pSteppingDelta, INT* pDefault, INT* pCapsFlag)

getRange_PanRelative メソッドは、カメラがサポートする相対パン角度の範囲を返します。相対パンはステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

pMinINT*out最小相対パン角度を受け取ります。
pMaxINT*out最大相対パン角度を受け取ります。
pSteppingDeltaINT*out設定間の最小刻み幅を受け取ります。
pDefaultINT*out既定の相対パン角度を受け取ります。
pCapsFlagINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 47 HRESULT get_RollRelative(INT* pValue, INT* pFlags)

get_RollRelative メソッドは、カメラの相対ロールを返します。相対ロールはステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

pValueINT*out

相対ロールを受け取ります。値の大きさは目的の回転速度を表し、値が大きいほど速度が速くなります。指定可能な値の範囲を取得するには、ICameraControl::getRange_RollRelative を呼び出してください。

説明
0 停止。
正の値 視軸を中心に時計回りに回転しています。
負の値 視軸を中心に反時計回りに回転しています。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 48 HRESULT put_RollRelative(INT Value, INT Flags)

put_RollRelative メソッドは、カメラの相対ロールを設定します。相対ロールはステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

ValueINTin

相対ロールを指定します。値の大きさは目的の回転速度を表し、値が大きいほど速度が速くなります。指定可能な値の範囲を取得するには、ICameraControl::getRange_RollRelative を呼び出してください。

説明
0 ロールを停止します。
正の値 視軸を中心とした時計回りの回転を開始します。
負の値 視軸を中心とした反時計回りの回転を開始します。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 49 HRESULT getRange_RollRelative(INT* pMin, INT* pMax, INT* pSteppingDelta, INT* pDefault, INT* pCapsFlag)

getRange_RollRelative メソッドは、カメラがサポートする相対ロール角度の範囲を返します。相対ロールはステップ数として表され、各ステップの大きさはカメラのモデルによって異なります。

pMinINT*out最小相対ロール角度を受け取ります。
pMaxINT*out最大相対ロール角度を受け取ります。
pSteppingDeltaINT*out設定間の最小刻み幅を受け取ります。
pDefaultINT*out既定の相対ロール角度を受け取ります。
pCapsFlagINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 50 HRESULT get_ScanMode(INT* pValue, INT* pFlags)

get_ScanMode メソッドは、現在のスキャンモード (インターレースまたはプログレッシブ) を返します。

pValueINT*out

次のいずれかの値を受け取ります。

説明
0 インターレースビデオ。
1 プログレッシブビデオ。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 51 HRESULT put_ScanMode(INT Value, INT Flags)

put_ScanMode メソッドは、カメラのスキャンモード (インターレースまたはプログレッシブ) を設定します。

ValueINTin

次のいずれかの値を指定します。

説明
0 インターレース。
1 プログレッシブ。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

vtbl 52 HRESULT get_PrivacyMode(INT* pValue, INT* pFlags)

.

pValueINT*out

次のいずれかの値を受け取ります。

説明
0 センサーはビデオをキャプチャできます。
1 センサーはビデオをキャプチャできません。
pFlagsINT*out1 つ以上のフラグを受け取ります。CameraControlFlags を参照してください。

戻り値

HRESULT 値を返します。

vtbl 53 HRESULT put_PrivacyMode(INT Value, INT Flags)

put_PrivacyMode メソッドは、カメラのプライバシー設定を設定します。プライバシー設定は、カメラセンサーがビデオをキャプチャするかどうかを制御します。

ValueINTin

次のいずれかの値を指定します。

説明
0 センサーはビデオをキャプチャできます。
1 センサーはビデオをキャプチャできません。
FlagsINTin0 個以上のフラグを指定します。CameraControlFlags を参照してください。CameraControl_Flags_Auto フラグが使用された場合、Value パラメーターは無視され、カメラが既定値を設定します。

戻り値

HRESULT 値を返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ICameraControl "{2BA1785D-4D1B-44EF-85E8-C7F1D3F20184}"
#usecom global ICameraControl IID_ICameraControl "{}"
#comfunc global ICameraControl_get_Exposure               3 var,var
#comfunc global ICameraControl_put_Exposure               4 int,int
#comfunc global ICameraControl_getRange_Exposure          5 var,var,var,var,var
#comfunc global ICameraControl_get_Focus                  6 var,var
#comfunc global ICameraControl_put_Focus                  7 int,int
#comfunc global ICameraControl_getRange_Focus             8 var,var,var,var,var
#comfunc global ICameraControl_get_Iris                   9 var,var
#comfunc global ICameraControl_put_Iris                   10 int,int
#comfunc global ICameraControl_getRange_Iris              11 var,var,var,var,var
#comfunc global ICameraControl_get_Zoom                   12 var,var
#comfunc global ICameraControl_put_Zoom                   13 int,int
#comfunc global ICameraControl_getRange_Zoom              14 var,var,var,var,var
#comfunc global ICameraControl_get_FocalLengths           15 var,var,var
#comfunc global ICameraControl_get_Pan                    16 var,var
#comfunc global ICameraControl_put_Pan                    17 int,int
#comfunc global ICameraControl_getRange_Pan               18 var,var,var,var,var
#comfunc global ICameraControl_get_Tilt                   19 var,var
#comfunc global ICameraControl_put_Tilt                   20 int,int
#comfunc global ICameraControl_getRange_Tilt              21 var,var,var,var,var
#comfunc global ICameraControl_get_PanTilt                22 var,var,var
#comfunc global ICameraControl_put_PanTilt                23 int,int,int
#comfunc global ICameraControl_get_Roll                   24 var,var
#comfunc global ICameraControl_put_Roll                   25 int,int
#comfunc global ICameraControl_getRange_Roll              26 var,var,var,var,var
#comfunc global ICameraControl_get_ExposureRelative       27 var,var
#comfunc global ICameraControl_put_ExposureRelative       28 int,int
#comfunc global ICameraControl_getRange_ExposureRelative  29 var,var,var,var,var
#comfunc global ICameraControl_get_FocusRelative          30 var,var
#comfunc global ICameraControl_put_FocusRelative          31 int,int
#comfunc global ICameraControl_getRange_FocusRelative     32 var,var,var,var,var
#comfunc global ICameraControl_get_IrisRelative           33 var,var
#comfunc global ICameraControl_put_IrisRelative           34 int,int
#comfunc global ICameraControl_getRange_IrisRelative      35 var,var,var,var,var
#comfunc global ICameraControl_get_ZoomRelative           36 var,var
#comfunc global ICameraControl_put_ZoomRelative           37 int,int
#comfunc global ICameraControl_getRange_ZoomRelative      38 var,var,var,var,var
#comfunc global ICameraControl_get_PanRelative            39 var,var
#comfunc global ICameraControl_put_PanRelative            40 int,int
#comfunc global ICameraControl_get_TiltRelative           41 var,var
#comfunc global ICameraControl_put_TiltRelative           42 int,int
#comfunc global ICameraControl_getRange_TiltRelative      43 var,var,var,var,var
#comfunc global ICameraControl_get_PanTiltRelative        44 var,var,var
#comfunc global ICameraControl_put_PanTiltRelative        45 int,int,int
#comfunc global ICameraControl_getRange_PanRelative       46 var,var,var,var,var
#comfunc global ICameraControl_get_RollRelative           47 var,var
#comfunc global ICameraControl_put_RollRelative           48 int,int
#comfunc global ICameraControl_getRange_RollRelative      49 var,var,var,var,var
#comfunc global ICameraControl_get_ScanMode               50 var,var
#comfunc global ICameraControl_put_ScanMode               51 int,int
#comfunc global ICameraControl_get_PrivacyMode            52 var,var
#comfunc global ICameraControl_put_PrivacyMode            53 int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。