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 |