다음을 통해 공유


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*::LoadIPersist*::InitNew 메서드를 호출해야 합니다. 컨트롤은 빠른 활성화 중에 컨테이너의 싱크에 대한 연결을 설정해야 합니다. 그러나 IPersist*::Load 또는 IPersist*::InitNew 가 호출될 때까지 이러한 연결은 라이브가 되지 않습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 ocidl.h

추가 정보

IPersistFile

IPersistStorage

IPersistStream

IPersistStreamInit

IQuickActivate