다음을 통해 공유


IOleInPlaceSite::GetWindowContext 메서드(oleidl.h)

현재 위치 개체가 창 개체 계층 구조를 형성하는 창 인터페이스와 개체의 현재 위치 활성화 창이 있어야 하는 부모 창의 위치를 검색할 수 있도록 합니다.

구문

HRESULT GetWindowContext(
  [out]     IOleInPlaceFrame      **ppFrame,
  [out]     IOleInPlaceUIWindow   **ppDoc,
  [out]     LPRECT                lprcPosRect,
  [out]     LPRECT                lprcClipRect,
  [in, out] LPOLEINPLACEFRAMEINFO lpFrameInfo
);

매개 변수

[out] ppFrame

프레임에 대한 인터페이스 포인터를 수신하는 IOleInPlaceFrame 포인터 변수에 대한 포인터입니다. 오류가 발생하면 구현에서 ppFrameNULL로 설정해야 합니다.

[out] ppDoc

문서 창에 대한 인터페이스 포인터를 수신하는 IOleInPlaceUIWindow 포인터 변수에 대한 포인터입니다. 문서 창이 프레임 창과 같으면 ppDocNULL로 설정됩니다. 이 경우 개체는 ppFrame 또는 테두리 협상만 사용할 수 있습니다. 오류가 반환되면 구현에서 ppDocNULL로 설정해야 합니다.

[out] lprcPosRect

부모 창의 클라이언트 좌표에서 현재 위치 개체의 위치를 포함하는 사각형의 RECT 구조체에 대한 포인터입니다. 오류가 반환되면 이 매개 변수를 NULL로 설정해야 합니다.

[out] lprcClipRect

현재 위치 개체의 위치 사각형(lprcPosRect)이 포함된 외부 사각형의 RECT 구조체에 대한 포인터입니다. 이 사각형은 개체 부모 창의 클라이언트 영역을 기준으로 합니다. 오류가 반환되면 이 매개 변수를 NULL로 설정해야 합니다.

[in, out] lpFrameInfo

컨테이너가 적절한 데이터로 채우는 OLEINPLACEFRAMEINFO 구조체에 대한 포인터입니다. 오류가 반환되면 이 매개 변수를 NULL로 설정해야 합니다.

반환 값

이 메서드는 성공에 대한 S_OK 반환합니다. 다른 가능한 반환 값은 다음과 같습니다.

반환 코드 설명
E_INVALIDARG
제공된 포인터 중 하나 이상이 잘못되었습니다.
E_UNEXPECTED
예기치 않은 오류가 발생했습니다.

설명

OLEINPLACEFRAMEINFO 구조체는 개체가 활성 상태인 동안 OLE에서 키 입력 가속기를 컨테이너 프레임으로 디스패치하는 데 필요한 데이터를 제공합니다.

개체가 활성화되면 해당 컨테이너에서 GetWindowContext 를 호출합니다. 컨테이너는 OLEINPLACEFRAMEINFO 구조를 통해 핸들을 현재 위치 가속기 테이블로 반환합니다. GetWindowContext를 호출하기 전에 개체는 lpFrameInfo가 가리키는 cb 멤버를 입력하여 OLEINPLACEFRAMEINFO 구조체의 크기를 제공해야 합니다.

요구 사항

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

추가 정보

IOleInPlaceSite