IOleClientSite::GetMoniker 메서드(oleidl.h)

개체의 클라이언트 사이트에 대한 모니커를 검색합니다. 개체는 dwAssign에 대한 값을 지정하여 자체 또는 컨테이너의 모니커를 강제로 할당할 수 있습니다.

구문

HRESULT GetMoniker(
  [in]  DWORD    dwAssign,
  [in]  DWORD    dwWhichMoniker,
  [out] IMoniker **ppmk
);

매개 변수

[in] dwAssign

모니커가 이미 있는 경우에만 모니커를 가져올지, 모니커를 강제로 할당할지, 임시 모니커를 만들거나, 할당된 모니커를 제거할지를 지정합니다. 실제로는 일반적으로 모니커의 컨테이너 강제 할당을 요청합니다. 가능한 값은 OLEGETMONIKER 열거형에서 가져옵니다.

[in] dwWhichMoniker

컨테이너의 모니커, 컨테이너를 기준으로 하는 개체의 모니커 또는 개체의 전체 모니커를 반환할지 여부를 지정합니다. 실제로는 일반적으로 개체의 전체 모니커를 요청합니다. 가능한 값은 OLEWHICHMK 열거형에서 가져옵니다.

[out] ppmk

개체의 클라이언트 사이트에 대한 모니커에 대한 인터페이스 포인터를 수신하는 IMoniker 포인터 변수에 대한 포인터입니다. 오류가 발생하면 구현에서 ppmkNULL로 설정해야 합니다. 컨테이너가 IOleClientSite::GetMoniker에 대한 호출을 받을 때마다 반환되는 ppmk 포인터에 대한 참조 수를 늘려야 합니다. 포인터로 완료되면 Release 를 호출하는 것은 호출자의 책임입니다.

반환 값

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

반환 코드 설명
E_NOTIMPL
이 컨테이너는 개체에 모니커를 할당할 수 없습니다. OLE 1 컨테이너의 경우입니다.

설명

컨테이너는 포함된 개체에 대한 모니커를 해당 개체에 연결해야 하는 클라이언트에 전달하는 방법으로 GetMoniker 를 구현합니다.

포함된 개체 또는 그 안에 있는 의사 개체(예를 들어 스프레드시트의 셀 범위)에 대한 링크가 만들어지면 개체는 링크의 원본을 나타내는 복합 모니커를 생성하기 위해 모니커가 필요합니다. 포함된 개체에 모니커가 아직 없는 경우 GetMoniker 를 호출하여 모니커를 요청할 수 있습니다.

포함 링크가 포함될 것으로 예상되는 모든 컨테이너는 GetMoniker 를 지원하여 OLEWHICHMK_CONTAINER 제공하므로 링크 클라이언트 및 링크 원본 파일이 이동할 때 링크 추적을 사용하도록 설정하지만 동일한 상대 위치를 유지합니다.

개체가 로드되지 않는 동안 변경될 수 있으므로 개체는 전체 모니커 또는 컨테이너의 모니커를 영구적으로 저장해서는 안됩니다. 예를 들어 컨테이너 또는 개체의 이름을 바꿀 수 있습니다. 이 경우 컨테이너의 모니커 또는 개체의 전체 모니커를 저장하면 클라이언트가 개체에 대한 링크를 추적할 수 없습니다.

매우 특수화된 일부 경우 개체는 이전에 할당된 모니커가 더 이상 필요하지 않을 수 있으며 최적화로 제거하려고 할 수 있습니다. 이러한 경우 개체는 OLEGETMONIKER_UNASSIGN 사용하여 GetMoniker 를 호출하여 모니커를 제거할 수 있습니다.

요구 사항

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

추가 정보

IOleClientSite

IOleClientSite::GetMoniker

IOleObject::SetMoniker