다음을 통해 공유


CreateAntiMoniker 함수(objbase.h)

새 안티 모니커를 만들고 반환합니다.

구문

HRESULT CreateAntiMoniker(
  [out] LPMONIKER *ppmk
);

매개 변수

[out] ppmk

새 안티 모니커에 대한 인터페이스 포인터를 수신하는 IMoniker* 포인터 변수의 주소입니다. 성공하면 함수가 안티 모니커에서 AddRef 를 호출하고 호출자는 Release를 호출합니다. 오류가 발생하면 모니커 방지 포인터가 NULL입니다.

반환 값

이 함수는 E_OUTOFMEMORY 및 S_OK 표준 반환 값을 반환할 수 있습니다.

설명

사용자 고유의 모니커 클래스( IMoniker 인터페이스 구현)를 작성하는 경우에만 이 함수를 호출합니다. 내부 구조가 없는 새 모니커 클래스를 작성하는 경우 IMoniker::Inverse 메서드의 구현에서 CreateAntiMoniker를 사용한 다음 IMoniker::ComposeWith 구현에서 안티 모니커에 대해 검사 수 있습니다.

경로에서 바로 앞에 있는 디렉터리 이름에 역으로 사용되는 ".." 디렉터리처럼 안티 모니커는 복합 모니커에서 앞에 오는 간단한 모니커의 역으로 작동합니다. 안티 모니커는 내부 구조가없는 간단한 모니커의 역으로 사용됩니다. 예를 들어 파일 모니커, 항목 모니커 및 포인터 모니커의 시스템 제공 구현은 모두 안티 모니커를 역으로 사용합니다. 따라서 이러한 모니커 중 하나의 오른쪽에 구성된 안티 모니커는 아무 것도 구성하지 않습니다.

모니커 클라이언트(모니커를 사용하여 다른 개체에 바인딩하는 개체)는 일반적으로 지정된 모니커의 클래스를 알지 못하므로 클라이언트는 안티 모니커가 역인지 확인할 수 없습니다. 따라서 모니커의 역방향을 얻으려면 CreateAntiMoniker 대신 IMoniker::Inverse를 호출합니다.

복합 모니커의 마지막 부분을 제거하려면 다음을 수행합니다.

  1. 복합에서 IMoniker::Enum 을 호출하고 FALSE 를 첫 번째 매개 변수로 지정합니다. 그러면 구성 요소 모니커를 역순으로 반환하는 열거자가 만들어집니다.
  2. 열거자를 사용하여 복합의 마지막 부분을 검색합니다.
  3. 해당 모 니커에서 IMoniker::Inverse 를 호출합니다. Inverse에서 반환된 모니커는 복합의 마지막 부분을 제거합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 objbase.h
라이브러리 Ole32.lib
DLL Ole32.dll
API 세트 ext-ms-win-com-ole32-l1-1-5(Windows 10 버전 10.0.15063에 도입됨)

추가 정보

Imoniker