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

IUIAnimationStoryboard2

COM
IIDae289cd2-12d4-4945-9419-9e41be034df2継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ストーリーボードを定義します。ストーリーボードは、相互に同期して再生される遷移(トランジション)のグループを含みます。このセクションのトピック説明Abandon メソッドストーリーボードを終了し、関連するすべてのアニメーション変数を解放して、ストーリーボードをスケジュールから削除します。AddKeyframeAfterTransition メソッド指定した遷移の終端にキーフレームを追加します。AddKeyframeAtOffset メソッド既存のキーフレームから指定したオフセットの位置にキーフレームを追加します。AddTransition メソッドストーリーボードに遷移を追加します。AddTransitionAtKeyframe メソッド指定したキーフレームから開始する遷移を追加します。AddTransitionBetweenKeyframes メソッド2 つのキーフレームの間に遷移を追加します。Conclude メソッド進行中のキーフレームループ(ループが UI_ANIMATION_REPEAT_INDEFINITELY に設定されている場合)の現在の反復を完了させ、ループを終了して、ストーリーボードの残りを続行します。Finish メソッド指定した時間内にストーリーボードを終了します。必要に応じてストーリーボードを圧縮します。GetElapsedTime メソッドストーリーボードの再生開始からの経過時間を取得します。GetStatus メソッドストーリーボードの状態を取得します。GetTag メソッドストーリーボードのタグを取得します。HoldVariable メソッドストーリーボードが終了するまで、指定したアニメーション変数をその最終値に保持するようストーリーボードに指示します。RepeatBetweenKeyframes メソッド2 つのキーフレームの間にループを作成します。Schedule メソッド再生のために自身をスケジュールするようストーリーボードに指示します。SetSkipDuration メソッドアニメーションを開始するストーリーボード先頭からのオフセットを指定します。SetLongestAcceptableDelay メソッドスケジュールされたストーリーボードが開始されるまでに許容できる最長の遅延を設定します。SetStoryboardEventHandler メソッドストーリーボードイベントのハンドラーを指定します。SetTag メソッドストーリーボードのタグを設定します。

メソッド 18

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

vtbl 3 HRESULT AddTransition(IUIAnimationVariable2* variable, IUIAnimationTransition2* transition)

ストーリーボードに遷移を追加します。(IUIAnimationStoryboard2.AddTransition)

variableIUIAnimationVariable2*in遷移を追加する対象のアニメーション変数。
transitionIUIAnimationTransition2*in追加する遷移。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

戻り値 説明
UI_E_TRANSITION_ALREADY_USED
この遷移は既にストーリーボードに追加されています。

エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

AddTransition メソッドは、ストーリーボード内の指定したアニメーション変数に、指定した遷移を適用します。このストーリーボードでその変数に適用される最初の遷移である場合、遷移はストーリーボードの開始時点から始まります。それ以外の場合、遷移はその変数に対して直近に追加された遷移の後に追加されます。

vtbl 4 HRESULT AddKeyframeAtOffset(UI_ANIMATION_KEYFRAME existingKeyframe, DOUBLE offset, UI_ANIMATION_KEYFRAME* keyframe)

既存のキーフレームから指定したオフセットの位置にキーフレームを追加します。(IUIAnimationStoryboard2.AddKeyframeAtOffset)

existingKeyframeUI_ANIMATION_KEYFRAMEin既存のキーフレーム。ストーリーボードの開始位置からのオフセットにキーフレームを追加するには、特別なキーフレーム UI_ANIMATION_KEYFRAME_STORYBOARD_START を使用します。
offsetDOUBLEin新しいキーフレームを追加する、既存のキーフレームからのオフセット。
keyframeUI_ANIMATION_KEYFRAME*out追加するキーフレーム。

戻り値

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

解説(Remarks)

キーフレームはストーリーボード内のある時点を表し、遷移の開始時刻および終了時刻の指定に使用できます。キーフレームは遷移の終端に追加できるため、ストーリーボードの開始位置からのオフセットは、ストーリーボードが再生されるまで判明しない場合があります。

vtbl 5 HRESULT AddKeyframeAfterTransition(IUIAnimationTransition2* transition, UI_ANIMATION_KEYFRAME* keyframe)

指定した遷移の終端にキーフレームを追加します。(IUIAnimationStoryboard2.AddKeyframeAfterTransition)

transitionIUIAnimationTransition2*inキーフレームを追加する対象となる遷移(この遷移の後にキーフレームが追加されます)。
keyframeUI_ANIMATION_KEYFRAME*out追加するキーフレーム。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

戻り値 説明
UI_E_TRANSITION_NOT_IN_STORYBOARD
この遷移はストーリーボードに追加されていません。

エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

キーフレームはストーリーボード内のある時点を表し、遷移の開始時刻および終了時刻の指定に使用できます。キーフレームは遷移の終端に追加できるため、ストーリーボードの開始位置からのオフセットは、ストーリーボードが再生されるまで判明しない場合があります。

vtbl 6 HRESULT AddTransitionAtKeyframe(IUIAnimationVariable2* variable, IUIAnimationTransition2* transition, UI_ANIMATION_KEYFRAME startKeyframe)

指定したキーフレームから開始する遷移を追加します。(IUIAnimationStoryboard2.AddTransitionAtKeyframe)

variableIUIAnimationVariable2*in遷移を追加する対象のアニメーション変数。
transitionIUIAnimationTransition2*in追加する遷移。
startKeyframeUI_ANIMATION_KEYFRAMEin新しい遷移の開始位置を指定するキーフレーム。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

戻り値 説明
UI_E_TRANSITION_ALREADY_USED
この遷移は既にストーリーボードに追加されているか、再生を終了して解放されたストーリーボードに追加されています。
UI_E_TRANSITION_ECLIPSED
この遷移が、ストーリーボード内の別の遷移の開始を覆い隠す(eclipse する)可能性があります。

エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

遷移は、再生される順序で追加する必要があります。遷移は、ストーリーボード内の直前の遷移が終了する前に再生を開始することがあります。その場合、新しい遷移が参照する初期値と速度は、直前の遷移の状態によって決まります。遷移は、直前の遷移の開始より前に開始してはなりません。

キーフレームはストーリーボード内のある時点を表し、遷移の開始時刻および終了時刻の指定に使用できます。キーフレームは遷移の終端に追加できるため、ストーリーボードの開始位置からのオフセットは、ストーリーボードが再生されるまで判明しない場合があります。

vtbl 7 HRESULT AddTransitionBetweenKeyframes(IUIAnimationVariable2* variable, IUIAnimationTransition2* transition, UI_ANIMATION_KEYFRAME startKeyframe, UI_ANIMATION_KEYFRAME endKeyframe)

2 つのキーフレームの間に遷移を追加します。(IUIAnimationStoryboard2.AddTransitionBetweenKeyframes)

variableIUIAnimationVariable2*in遷移を追加する対象のアニメーション変数。
transitionIUIAnimationTransition2*in追加する遷移。
startKeyframeUI_ANIMATION_KEYFRAMEin新しい遷移の開始位置を指定するキーフレーム。
endKeyframeUI_ANIMATION_KEYFRAMEin新しい遷移の終了位置を指定するキーフレーム。endKeyframe がストーリーボード内で startKeyframe より前に現れることがあってはなりません。

戻り値

このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

戻り値 説明
UI_E_TRANSITION_ALREADY_USED
この遷移は既にストーリーボードに追加されているか、再生を終了して解放されたストーリーボードに追加されています。
UI_E_TRANSITION_ECLIPSED
この遷移が、ストーリーボード内の別の遷移の開始を覆い隠す(eclipse する)可能性があります。
UI_E_START_KEYFRAME_AFTER_END
開始キーフレームが終了キーフレームより後に発生する可能性があります。

エラーコードの一覧については、Windows Animation Error Codes を参照してください。

解説(Remarks)

このメソッドは、ストーリーボード内の指定したアニメーション変数に、指定したキーフレームで開始および終了する遷移を適用します。遷移が duration パラメーターを指定して作成されていた場合、その duration は開始キーフレームと終了キーフレームの間の時間で上書きされます。それ以外の場合、Windows Animation は必要に応じて遷移を加速または減速します。

キーフレームはストーリーボード内のある時点を表し、遷移の開始時刻および終了時刻の指定に使用できます。キーフレームは遷移の終端に追加できるため、ストーリーボードの開始位置からのオフセットは、ストーリーボードが再生されるまで判明しない場合があります。

遷移は、再生される順序で追加する必要があります。遷移は、ストーリーボード内の直前の遷移が終了する前に再生を開始することがあります。その場合、新しい遷移が参照する初期値と速度は、直前の遷移の状態によって決まります。遷移が直前の遷移の開始より前に開始することがあってはなりません。

vtbl 8 HRESULT RepeatBetweenKeyframes(UI_ANIMATION_KEYFRAME startKeyframe, UI_ANIMATION_KEYFRAME endKeyframe, DOUBLE cRepetition, UI_ANIMATION_REPEAT_MODE repeatMode, IUIAnimationLoopIterationChangeHandler2* pIterationChangeHandler, UINT_PTR id, BOOL fRegisterForNextAnimationEvent)

2 つのキーフレームの間にループを作成します。

startKeyframeUI_ANIMATION_KEYFRAMEinループを開始するキーフレーム。
endKeyframeUI_ANIMATION_KEYFRAMEinループを終了するキーフレーム。endKeyframe がストーリーボード内で startKeyframe より前に発生してはなりません。
cRepetitionDOUBLEinループを繰り返す回数。ループの最後の反復は、キーフレームの中間で途中終了することがあります。値 0 は、ストーリーボードの指定部分が再生されないことを示します。UI_ANIMATION_REPEAT_INDEFINITELY (-1) は、ストーリーボードが切り詰められるか完了(conclude)されるまで、ループが無期限に繰り返されることを示します。
repeatModeUI_ANIMATION_REPEAT_MODEin

ループ反復のパターン。

UI_ANIMATION_REPEAT_MODE_ALTERNATE (1) は、ループの開始がキーフレーム間で交互に切り替わることを指定します(k1->k2、k2->k1、k1->k2 のように続きます)。

UI_ANIMATION_REPEAT_MODE_NORMAL (0) は、ループが常に最初のキーフレームから開始することを指定します(k1->k2、k1->k2、k1->k2 のように続きます)。

メモ repeatModeUI_ANIMATION_REPEAT_MODE_ALTERNATE (1) で、cRepetitionUI_ANIMATION_REPEAT_INDEFINITELY (-1) の場合、ループは終了キーフレームで終了します。
pIterationChangeHandlerIUIAnimationLoopIterationChangeHandler2*inoptional各ループ反復イベントのハンドラー。既定値は 0 です。
idUINT_PTRinpIterationChangeHandler に渡すループ ID。既定値は 0 です。
fRegisterForNextAnimationEventBOOLintrue の場合、IUIAnimationManager2::EstimateNextEventTime メソッドが返す次のアニメーションイベントまでの時間間隔の推定に、pIterationChangeHandler が考慮されるように指定します。既定値は 0 (false) です。

戻り値

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

解説(Remarks)

このメソッドは、ストーリーボードの残りを再生する前に、指定したキーフレーム間の区間を繰り返し再生するようストーリーボードに指示します。有限の繰り返し回数が指定されている場合、ループは常にその回数だけ再生されます。UI_ANIMATION_REPEAT_INDEFINITELY (-1) が指定されている場合、ストーリーボードが完了(conclude)されるまでループが繰り返されます。完了された場合は、ループの現在の反復が完了した後、ストーリーボードの残りが再生されます。無期限にループするストーリーボードは、切り詰められた場合にも終了します。

ループの入れ子や重なりはサポートされていません。

キーフレームはストーリーボード内のある時点を表し、遷移の開始時刻または終了時刻の指定に使用できます。キーフレームは遷移の終端に追加できるため、ストーリーボードの開始位置からのオフセットは、ストーリーボードが再生されるまで判明しない場合があります。

vtbl 9 HRESULT HoldVariable(IUIAnimationVariable2* variable)

ストーリーボードが終了するまで、指定したアニメーション変数をその最終値に保持するようストーリーボードに指示します。(IUIAnimationStoryboard2.HoldVariable)

variableIUIAnimationVariable2*inアニメーション変数。

戻り値

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

解説(Remarks)

ストーリーボードの再生中は、より高い優先度のストーリーボードによって切り詰められない限り、そのストーリーボードがアニメーション対象の変数への排他的アクセス権を持ちます。通常、この排他的アクセス権は、その変数に対するストーリーボード内の最後の遷移の再生が終了した時点で解放されます。アプリケーションはこのメソッドを呼び出すことで、アニメーション変数への排他的アクセス権を維持し、ストーリーボードが終了するまで最後の遷移の最終値で変数を保持できます。

vtbl 10 HRESULT SetLongestAcceptableDelay(DOUBLE delay)

スケジュールされたストーリーボードが開始されるまでに許容できる最長の遅延を設定します。(IUIAnimationStoryboard2.SetLongestAcceptableDelay)

delayDOUBLEin許容できる最長の遅延。このパラメーターには正の値、または任意の有限の遅延を許容することを示す UI_ANIMATION_SECONDS_EVENTUALLY (-1) を指定できます。

戻り値

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

解説(Remarks)

Windows Animation がストーリーボードを正常にスケジュールするには、許容できる最長の遅延が経過する前にストーリーボードが開始される必要があります。Windows Animation はこの遅延を次の順序で決定します。すなわち、このメソッドの呼び出しで設定された遅延値、IUIAnimationManager2::SetDefaultLongestAcceptableDelay メソッドの呼び出しで設定された遅延値、いずれのメソッドも呼び出されていない場合は 0.0 です。

ストーリーボードの開始を遅らせるのではなく、指定したオフセットからストーリーボードのアニメーションを開始するには、IUIAnimationStoryboard2::SetSkipDuration を使用してください。

vtbl 11 HRESULT SetSkipDuration(DOUBLE secondsDuration)

アニメーションを開始するストーリーボード先頭からのオフセットを指定します。

secondsDurationDOUBLEinストーリーボードの先頭でスキップするオフセット(時間の長さ)。

戻り値

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

解説(Remarks)

ストーリーボードが既にスケジュールされている場合、SetSkipDuration の呼び出しは失敗します。

SetSkipDuration は、スケジュールされたストーリーボードの開始を遅らせるものではありません。スケジュールされたストーリーボードに遅延を設定する方法については、IUIAnimationStoryboard2::SetLongestAcceptableDelay を参照してください。

次の図はストーリーボードのスキップ時間(オフセット)を示しています。

ストーリーボードのオフセットの図
vtbl 12 HRESULT Schedule(DOUBLE timeNow, UI_ANIMATION_SCHEDULING_RESULT* schedulingResult)

再生のために自身をスケジュールするようストーリーボードに指示します。(IUIAnimationStoryboard2.Schedule)

timeNowDOUBLEin現在の時刻。
schedulingResultUI_ANIMATION_SCHEDULING_RESULT*outoptionalスケジュール要求の結果。 このメソッドの呼び出しでは、このパラメーターを省略できます。

戻り値

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

解説(Remarks)

このメソッドは、次の規則に従って、再生中のストーリーボードのスケジュールに自身を追加しようと試みるようストーリーボードに指示します。

このメソッドが OnStoryboardStatusChanged イベントのハンドラーから呼び出された場合、schedulingResult パラメーターには UI_ANIMATION_SCHEDULING_DEFERRED が設定されます。この場合、ストーリーボードが正常にスケジュールされたかどうかを判断する唯一の方法は、ストーリーボードイベントハンドラーを設定し、ストーリーボードの状態が UI_ANIMATION_SCHEDULING_INSUFFICIENT_PRIORITY になるかどうかを確認することです。

ストーリーボードの状態が UI_ANIMATION_STORYBOARD_READY になった後で再度 Schedule を呼び出すことにより、ストーリーボードを再利用できます。ストーリーボードが UI_ANIMATION_STORYBOARD_BUILDING または UI_ANIMATION_STORYBOARD_READY 以外の状態にあるときにスケジュールを試みると失敗し、schedulingResult には UI_ANIMATION_SCHEDULING_ALREADY_SCHEDULED が設定されます。

vtbl 13 HRESULT Conclude()

進行中のキーフレームループ(ループが UI_ANIMATION_REPEAT_INDEFINITELY に設定されている場合)の現在の反復を完了させ、ループを終了して、ストーリーボードの残りを続行します。(IUIAnimationStoryboard2.Conclude)

戻り値

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

解説(Remarks)

このメソッドは、繰り返し回数が UI_ANIMATION_REPEAT_INDEFINITELY (-1) である以降のキーフレームループをスキップして、ストーリーボードの残りを再生することを指定します。

進行中のキーフレームループの反復は、ストーリーボードの残りが再生される前に完了します。

交互(alternate)キーフレームループの反復の終了時にこのメソッドが呼び出された場合、ループ値は終了側のループ値に設定されてループが終了します。

非交互のキーフレームループの反復の終了時にこのメソッドが呼び出され、「ループの折り返し」によってループ値が次の反復の開始値に設定される場合、ループ値を終了側のループ値に設定するために、ループがもう一度実行されます。

交互キーフレームループでは、各反復の開始値は直前のループの終了値と一致します。この場合、「ループの折り返し」は問題になりません。

vtbl 14 HRESULT Finish(DOUBLE completionDeadline)

指定した時間内にストーリーボードを終了します。必要に応じてストーリーボードを圧縮します。(IUIAnimationStoryboard2.Finish)

completionDeadlineDOUBLEinストーリーボードが再生を完了するために使用できる最大の時間。

戻り値

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

解説(Remarks)

このメソッドはストーリーボードイベントには影響しません。ストーリーボードの再生中、イベントは通常どおり発生し続けます。

vtbl 15 HRESULT Abandon()

ストーリーボードを終了し、関連するすべてのアニメーション変数を解放して、ストーリーボードをスケジュールから削除します。(IUIAnimationStoryboard2.Abandon)

戻り値

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

解説(Remarks)

このメソッドは、ストーリーボードの再生開始前でも開始後でも呼び出せます。

このメソッドはストーリーボードイベントを発生させません。

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

ストーリーボードのタグを設定します。(IUIAnimationStoryboard2.SetTag)

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

戻り値

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

解説(Remarks)

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

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

ストーリーボードのタグを取得します。(IUIAnimationStoryboard2.GetTag)

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

戻り値

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

戻り値 説明
UI_E_VALUE_NOT_SET
ストーリーボードのタグが設定されていません。

解説(Remarks)

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

このメソッドは、タグの識別子、オブジェクト、またはその両方を返すことができます。

vtbl 18 HRESULT GetStatus(UI_ANIMATION_STORYBOARD_STATUS* status)

ストーリーボードの状態を取得します。(IUIAnimationStoryboard2.GetStatus)

statusUI_ANIMATION_STORYBOARD_STATUS*outストーリーボードの状態。

戻り値

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

解説(Remarks)

このメソッドが OnStoryboardStatusChanged イベントのハンドラーから呼び出される場合を除き、返される値は UI_ANIMATION_STORYBOARD_BUILDINGUI_ANIMATION_STORYBOARD_SCHEDULEDUI_ANIMATION_STORYBOARD_PLAYINGUI_ANIMATION_STORYBOARD_READY のみです。

vtbl 19 HRESULT GetElapsedTime(DOUBLE* elapsedTime)

ストーリーボードの再生開始からの経過時間を取得します。(IUIAnimationStoryboard2.GetElapsedTime)

elapsedTimeDOUBLE*out経過時間。

戻り値

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

戻り値 説明
UI_E_STORYBOARD_NOT_PLAYING
ストーリーボードは再生されていません。
vtbl 20 HRESULT SetStoryboardEventHandler(IUIAnimationStoryboardEventHandler2* handler, BOOL fRegisterStatusChangeForNextAnimationEvent, BOOL fRegisterUpdateForNextAnimationEvent)

ストーリーボードイベントのハンドラーを指定します。(IUIAnimationStoryboard2.SetStoryboardEventHandler)

handlerIUIAnimationStoryboardEventHandler2*inoptional

ストーリーボードの状態イベントおよび更新イベントが発生したときに Windows Animation が呼び出すハンドラー。

指定するオブジェクトは IUIAnimationStoryboardEventHandler2 インターフェイスを実装しているか、NULL である必要があります。詳細については「解説」を参照してください。

fRegisterStatusChangeForNextAnimationEventBOOLinTRUE の場合、OnStoryboardStatusChanged イベントを登録し、次のアニメーションイベントまでの時間間隔を推定する IUIAnimationManager2::EstimateNextEventTime にそれらのイベントを含めます。既定値はありません。
fRegisterUpdateForNextAnimationEventBOOLinTRUE の場合、OnStoryboardUpdated イベントを登録し、次のアニメーションイベントまでの時間間隔を推定する IUIAnimationManager2::EstimateNextEventTime にそれらのイベントを含めます。既定値はありません。

戻り値

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

解説(Remarks)

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

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IUIAnimationStoryboard2 "{AE289CD2-12D4-4945-9419-9E41BE034DF2}"
#usecom global IUIAnimationStoryboard2 IID_IUIAnimationStoryboard2 "{}"
#comfunc global IUIAnimationStoryboard2_AddTransition                  3 sptr,sptr
#comfunc global IUIAnimationStoryboard2_AddKeyframeAtOffset            4 sptr,double,var
#comfunc global IUIAnimationStoryboard2_AddKeyframeAfterTransition     5 sptr,var
#comfunc global IUIAnimationStoryboard2_AddTransitionAtKeyframe        6 sptr,sptr,sptr
#comfunc global IUIAnimationStoryboard2_AddTransitionBetweenKeyframes  7 sptr,sptr,sptr,sptr
#comfunc global IUIAnimationStoryboard2_RepeatBetweenKeyframes         8 sptr,sptr,double,int,sptr,sptr,int
#comfunc global IUIAnimationStoryboard2_HoldVariable                   9 sptr
#comfunc global IUIAnimationStoryboard2_SetLongestAcceptableDelay      10 double
#comfunc global IUIAnimationStoryboard2_SetSkipDuration                11 double
#comfunc global IUIAnimationStoryboard2_Schedule                       12 double,var
#comfunc global IUIAnimationStoryboard2_Conclude                       13
#comfunc global IUIAnimationStoryboard2_Finish                         14 double
#comfunc global IUIAnimationStoryboard2_Abandon                        15
#comfunc global IUIAnimationStoryboard2_SetTag                         16 sptr,int
#comfunc global IUIAnimationStoryboard2_GetTag                         17 sptr,var
#comfunc global IUIAnimationStoryboard2_GetStatus                      18 var
#comfunc global IUIAnimationStoryboard2_GetElapsedTime                 19 var
#comfunc global IUIAnimationStoryboard2_SetStoryboardEventHandler      20 sptr,int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。