IOleInPlaceObject::InPlaceDeactivate メソッド (oleidl.h)
アクティブなインプレース オブジェクトを非アクティブ化し、オブジェクトの元に戻す状態を破棄します。
構文
HRESULT InPlaceDeactivate();
戻り値
このメソッドは、成功したS_OKを返します。 その他の可能な戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
予期しないエラーが発生しました。 |
注釈
呼び出し元へのメモ
このメソッドは、アクティブ オブジェクトのイミディエイト コンテナーによって呼び出され、アクティブ オブジェクトを非アクティブ化し、元に戻す状態を破棄します。実装者へのメモ
IOleInPlaceObject::InPlaceDeactivate から戻った場合、オブジェクトは元に戻す状態を破棄します。 オブジェクト アプリケーションは、この呼び出しの直後にシャットダウンしないでください。 代わりに、 IOleObject::Close の明示的な呼び出し、またはオブジェクトの参照カウントが 0 になるまで待機する必要があります。非アクティブ化する前に、オブジェクト アプリケーションは 、IOleInPlaceSite::OnUIDeactivate を呼び出して、ユーザー インターフェイスをフレーム ウィンドウに戻す機会をコンテナーに与える必要があります。
IOleInPlaceObject::InPlaceDeactivate の呼び出し中にインプレース ユーザー インターフェイスが引き続き表示される場合、オブジェクト アプリケーションは独自の IOleInPlaceObject::InPlaceDeactivate メソッドを呼び出して、ユーザー インターフェイスを非表示にする必要があります。 インプレース ユーザー インターフェイスは、IOleInPlaceObject::InPlaceDeactivate および IOleInPlaceObject::InPlaceDeactivate の呼び出し中に、必要に応じて破棄できます。 ただし、コンテナーが IOleObject::Close を呼び出すときにユーザー インターフェイスがまだ破棄されていない場合は、 IOleObject::Close の呼び出し中に破棄する必要があります。
IOleObject::Close の呼び出し中に、オブジェクトチェックして、まだアクティブであるかどうかを確認する必要があります。 その場合は、 IOleInPlaceObject::InPlaceDeactivate を呼び出す必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | oleidl.h |
こちらもご覧ください
IOleInPlaceSite::OnInPlaceDeactivate