IQuickActivate::QuickActivate メソッド (ocidl.h)
クイック コントロールをアクティブにします。
構文
HRESULT QuickActivate(
[in] QACONTAINER *pQaContainer,
[in, out] QACONTROL *pQaControl
);
パラメーター
[in] pQaContainer
コンテナーに関する情報を含む QACONTAINER 構造体へのポインター。
[in, out] pQaControl
コントロールに関する情報をコンテナーに返す、コントロールによって入力された QACONTROL 構造体へのポインター。 このメソッドを呼び出すコンテナーは、この構造体のメモリを予約する必要があります。
戻り値
メソッドが成功した場合、戻り値はS_OK。 それ以外の場合は、E_FAIL。
解説
コントロールが IQuickActivate をサポートしていない場合、コンテナーはコントロールの読み込み時に特定のハンドシェイク操作を実行します。 コンテナーはコントロールの特定のインターフェイスを呼び出し、コントロールはコンテナーのクライアント サイト上の特定のインターフェイスに呼び出し戻します。 最初に、コンテナーはコントロール オブジェクトを作成し、 QueryInterface を 呼び出して、必要なインターフェイスを照会します。 次に、コンテナーはコントロールの IOleObject::SetClientSite を呼び出し、クライアント サイトへのポインターを渡します。 次に、コントロールはこのサイトで QueryInterface を 呼び出し、追加の必要なインターフェイスへのポインターを取得します。
QuickActivate メソッドを使用して、コンテナーは QACONTAINER 構造体へのポインターを渡します。 構造体には、コントロールに必要なインターフェイスへのポインターと、コントロールに必要なアンビエント プロパティの値が含まれています。 制御が戻ったとき、コントロールは、コンテナーが必要とする独自のインターフェイスへのポインターと追加のステータス情報を含む QACONTROL 構造体にポインターを渡します。
クイック アクティブ化が行われると、 IPersist*::Load メソッドと IPersist*::InitNew メソッドを呼び出す必要があります。 コントロールは、クイック アクティブ化中にコンテナーのシンクへの接続を確立する必要があります。 ただし、IPersist*::Load または IPersist*::InitNew が呼び出されるまで、これらの接続はライブになりません。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | ocidl.h |