Win32 API 日本語リファレンス
ホームUI.Animation › IUIAnimationVariable2

IUIAnimationVariable2

COM
IID4914b304-96ab-44d9-9e77-d5109b7e7466継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

アニメーション変数を定義します。アニメーション変数は、複数の次元でアニメーション可能なビジュアル要素を表します。

メソッド 26

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

vtbl 3 HRESULT GetDimension(DWORD* dimension)

アニメーション変数をアニメーションさせる次元数を取得します。

dimensionDWORD*out次元数。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 4 HRESULT GetValue(DOUBLE* value)

アニメーション変数の値を取得します。

valueDOUBLE*outアニメーション変数の値。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 5 HRESULT GetVectorValue(DOUBLE* value, DWORD cDimension)

指定した次元におけるアニメーション変数の値を取得します。

valueDOUBLE*outアニメーション変数の値。
cDimensionDWORDinアニメーション変数の値を取得する次元。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 6 HRESULT GetCurve(IDCompositionAnimation* animation)

アニメーション変数のアニメーションカーブを取得します。

animationIDCompositionAnimation*inアニメーションカーブのプリミティブ列を生成するオブジェクト。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

animation パラメーターが参照する IDCompositionAnimation オブジェクトは、アプリケーションが実装します。

vtbl 7 HRESULT GetVectorCurve(IDCompositionAnimation** animation, DWORD cDimension)

指定した次元における、アニメーション変数のアニメーションカーブを取得します。

animationIDCompositionAnimation**inアニメーションカーブのプリミティブ列を生成するオブジェクト。
cDimensionDWORDinアニメーションカーブの数。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

animation パラメーターが参照する IDCompositionAnimation オブジェクトは、アプリケーションが実装します。

vtbl 8 HRESULT GetFinalValue(DOUBLE* finalValue)

アニメーション変数の最終値を取得します。これは、現在スケジュールされているすべてのアニメーションが完了した後の値です。(IUIAnimationVariable2.GetFinalValue)

finalValueDOUBLE*outアニメーション変数の最終値。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 9 HRESULT GetFinalVectorValue(DOUBLE* finalValue, DWORD cDimension)

指定した次元における、アニメーション変数の最終値を取得します。これは、現在スケジュールされているすべてのアニメーションが完了した後の値です。

finalValueDOUBLE*outアニメーション変数の最終値。
cDimensionDWORDinアニメーション変数の値を取得する次元。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 10 HRESULT GetPreviousValue(DOUBLE* previousValue)

アニメーション変数の以前の値を取得します。これは、直近の更新が行われる前のアニメーション変数の値です。(IUIAnimationVariable2.GetPreviousValue)

previousValueDOUBLE*outアニメーション変数の以前の値。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 11 HRESULT GetPreviousVectorValue(DOUBLE* previousValue, DWORD cDimension)

指定した次元における、アニメーション変数の以前の値を取得します。これは、直近の更新が行われる前のアニメーション変数の値です。

previousValueDOUBLE*outアニメーション変数の以前の値。
cDimensionDWORDinアニメーション変数の値を取得する次元。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 12 HRESULT GetIntegerValue(INT* value)

アニメーション変数の整数値を取得します。

valueINT*out整数としてのアニメーション変数の値。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 13 HRESULT GetIntegerVectorValue(INT* value, DWORD cDimension)

指定した次元における、アニメーション変数の整数値を取得します。

valueINT*out整数としてのアニメーション変数の値。
cDimensionDWORDinアニメーション変数の値を取得する次元。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 14 HRESULT GetFinalIntegerValue(INT* finalValue)

アニメーション変数の最終整数値を取得します。これは、現在スケジュールされているすべてのアニメーションが完了した後の値です。

finalValueINT*out整数としてのアニメーション変数の最終値。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 15 HRESULT GetFinalIntegerVectorValue(INT* finalValue, DWORD cDimension)

指定した次元における、アニメーション変数の最終整数値を取得します。これは、現在スケジュールされているすべてのアニメーションが完了した後の値です。

finalValueINT*out整数としてのアニメーション変数の最終値。
cDimensionDWORDinアニメーション変数の値を取得する次元。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 16 HRESULT GetPreviousIntegerValue(INT* previousValue)

指定した次元における、アニメーション変数の以前の整数値を取得します。これは、直近の更新が行われる前のアニメーション変数の値です。

previousValueINT*out整数としてのアニメーション変数の以前の値。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 17 HRESULT GetPreviousIntegerVectorValue(INT* previousValue, DWORD cDimension)

指定した次元における、アニメーション変数の以前の整数値を取得します。これは、直近の更新が行われる前のアニメーション変数の値です。

previousValueINT*out整数としてのアニメーション変数の以前の値。
cDimensionDWORDinアニメーション変数の値を取得する次元。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 18 HRESULT GetCurrentStoryboard(IUIAnimationStoryboard2** storyboard)

アニメーション変数のアクティブなストーリーボードを取得します。

storyboardIUIAnimationStoryboard2**outアクティブなストーリーボード。アニメーション変数がアニメーションされていない場合は NULL。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 19 HRESULT SetLowerBound(DOUBLE bound)

アニメーション変数の値の下限(フロア)を設定します。アニメーション変数の値は、指定した値を下回らないようにします。

boundDOUBLEinアニメーション変数の値の下限。

戻り値

成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 20 HRESULT SetLowerBoundVector(DOUBLE* bound, DWORD cDimension)

アニメーション変数について、指定した各次元の下限(フロア)値を設定します。各アニメーション変数の値は、その下限を下回らないようにします。

boundDOUBLE*in各次元の下限値を格納したベクター(サイズは cDimension)。
cDimensionDWORDin下限値を必要とする次元数。このパラメーターは bound に列挙される値の個数を指定します。

戻り値

成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 21 HRESULT SetUpperBound(DOUBLE bound)

アニメーション変数の値の上限(シーリング)を設定します。アニメーション変数の値は、指定した値を上回らないようにします。

boundDOUBLEinアニメーション変数の値の上限。

戻り値

成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 22 HRESULT SetUpperBoundVector(DOUBLE* bound, DWORD cDimension)

アニメーション変数について、指定した各次元の上限(シーリング)値を設定します。各アニメーション変数の値は、その上限を上回らないようにします。

boundDOUBLE*in各次元の上限値を格納したベクター(サイズは cDimension)。
cDimensionDWORDin上限値を必要とする次元数。このパラメーターは bound に列挙される値の個数を指定します。

戻り値

成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

vtbl 23 HRESULT SetRoundingMode(UI_ANIMATION_ROUNDING_MODE mode)

アニメーション変数の丸めモードを設定します。

modeUI_ANIMATION_ROUNDING_MODEin丸めモード。

戻り値

成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

アニメーション変数の丸めモードは、浮動小数点値を整数に変換する方法を決定します。 各変数の既定のモードは UI_ANIMATION_ROUNDING_NEAREST です。

vtbl 24 HRESULT SetTag(IUnknown* object, DWORD id)

アニメーション変数のタグを設定します。

objectIUnknown*inoptionalタグのオブジェクト部分。このパラメーターには NULL を指定できます。
idDWORDinタグの識別子部分。

戻り値

成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

タグとは、整数の識別子(id)と COM オブジェクト(object)の組み合わせであり、アプリケーションがアニメーション変数を識別するために使用できます。
NULL はタグのオブジェクト部分として有効であるため、object パラメーターには NULL を指定できます。

vtbl 25 HRESULT GetTag(IUnknown** object, DWORD* id)

アニメーション変数のタグを取得します。

objectIUnknown**outoptionalタグのオブジェクト部分。
idDWORD*outoptionalタグの識別子部分。

戻り値

このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

タグとは、整数の識別子(id)と COM オブジェクト(object)の組み合わせであり、アプリケーションがアニメーション変数を識別するために使用できます。

これらのパラメーターは省略可能であり、タグの両方の部分を返すことも、識別子部分またはオブジェクト部分のみを返すこともできます。

vtbl 26 HRESULT SetVariableChangeHandler(IUIAnimationVariableChangeHandler2* handler, BOOL fRegisterForNextAnimationEvent)

アニメーション変数の値の変更に対するハンドラーを指定します。

handlerIUIAnimationVariableChangeHandler2*inoptionalアニメーション変数の値の変更に対するハンドラー。このパラメーターには NULL を指定できます。
fRegisterForNextAnimationEventBOOLinTRUE の場合、EstimateNextEventTime メソッドが、次のアニメーションイベントまでの時間間隔を見積もる際に handler を考慮に入れることを指定します。既定値はありません。

戻り値

成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

handler パラメーターに NULL を渡すと、Windows Animation は以前に渡されたハンドラーオブジェクトへの参照を解放します。この手法は、IUIAnimationManager2::Shutdown メソッドを呼び出さずに参照の循環を断ち切るうえで不可欠となる場合があります。

vtbl 27 HRESULT SetVariableIntegerChangeHandler(IUIAnimationVariableIntegerChangeHandler2* handler, BOOL fRegisterForNextAnimationEvent)

アニメーション変数の整数値の変更に対するハンドラーを指定します。

handlerIUIAnimationVariableIntegerChangeHandler2*inoptionalアニメーション変数の整数値の変更に対するハンドラーへのポインター。このパラメーターには NULL を指定できます。
fRegisterForNextAnimationEventBOOLinTRUE の場合、EstimateNextEventTime メソッドが、次のアニメーションイベントまでの時間間隔を見積もる際に handler を考慮に入れることを指定します。既定値はありません。

戻り値

成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

handler パラメーターに NULL を渡すと、Windows Animation は以前に渡されたハンドラーオブジェクトへの参照を解放します。この手法は、Shutdown メソッドを呼び出さずに参照の循環を断ち切るうえで不可欠となる場合があります。

IUIAnimationVariableIntegerChangeHandler2::OnIntegerValueChanged は、丸め後の値が前回の更新から変化した場合にのみ呼び出されます。

vtbl 28 HRESULT SetVariableCurveChangeHandler(IUIAnimationVariableCurveChangeHandler2* handler)

アニメーション変数のアニメーションカーブの変更に対するハンドラーを指定します。

handlerIUIAnimationVariableCurveChangeHandler2*inoptionalアニメーション変数のアニメーションカーブの変更に対するハンドラーへのポインター。このパラメーターには NULL を指定できます。

戻り値

成功した場合は S_OK を返します。失敗した場合は HRESULT エラーコードを返します。エラーコードの一覧については、Windows Animation Error Codes を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IUIAnimationVariable2 "{4914B304-96AB-44D9-9E77-D5109B7E7466}"
#usecom global IUIAnimationVariable2 IID_IUIAnimationVariable2 "{}"
#comfunc global IUIAnimationVariable2_GetDimension                     3 var
#comfunc global IUIAnimationVariable2_GetValue                         4 var
#comfunc global IUIAnimationVariable2_GetVectorValue                   5 var,int
#comfunc global IUIAnimationVariable2_GetCurve                         6 sptr
#comfunc global IUIAnimationVariable2_GetVectorCurve                   7 sptr,int
#comfunc global IUIAnimationVariable2_GetFinalValue                    8 var
#comfunc global IUIAnimationVariable2_GetFinalVectorValue              9 var,int
#comfunc global IUIAnimationVariable2_GetPreviousValue                 10 var
#comfunc global IUIAnimationVariable2_GetPreviousVectorValue           11 var,int
#comfunc global IUIAnimationVariable2_GetIntegerValue                  12 var
#comfunc global IUIAnimationVariable2_GetIntegerVectorValue            13 var,int
#comfunc global IUIAnimationVariable2_GetFinalIntegerValue             14 var
#comfunc global IUIAnimationVariable2_GetFinalIntegerVectorValue       15 var,int
#comfunc global IUIAnimationVariable2_GetPreviousIntegerValue          16 var
#comfunc global IUIAnimationVariable2_GetPreviousIntegerVectorValue    17 var,int
#comfunc global IUIAnimationVariable2_GetCurrentStoryboard             18 sptr
#comfunc global IUIAnimationVariable2_SetLowerBound                    19 double
#comfunc global IUIAnimationVariable2_SetLowerBoundVector              20 var,int
#comfunc global IUIAnimationVariable2_SetUpperBound                    21 double
#comfunc global IUIAnimationVariable2_SetUpperBoundVector              22 var,int
#comfunc global IUIAnimationVariable2_SetRoundingMode                  23 int
#comfunc global IUIAnimationVariable2_SetTag                           24 sptr,int
#comfunc global IUIAnimationVariable2_GetTag                           25 sptr,var
#comfunc global IUIAnimationVariable2_SetVariableChangeHandler         26 sptr,int
#comfunc global IUIAnimationVariable2_SetVariableIntegerChangeHandler  27 sptr,int
#comfunc global IUIAnimationVariable2_SetVariableCurveChangeHandler    28 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。