IMoniker::Inverse 메서드(objidl.h)
이 모니커의 역방향 모니커를 만듭니다. 이 모니커의 오른쪽 또는 유사한 구조 중 하나로 구성된 경우 모니커는 아무 것도 구성하지 않습니다.
구문
HRESULT Inverse(
[out] IMoniker **ppmk
);
매개 변수
[out] ppmk
이 모니커의 역인 모니커에 대한 인터페이스 포인터를 수신하는 IMoniker 포인터 변수의 주소입니다. 성공하면 구현은 새 역 모니커에서 AddRef 를 호출해야 합니다. 릴리스를 호출하는 것은 호출자의 책임입니다. 오류가 발생하면 구현에서 *ppmk 를 NULL로 설정해야 합니다.
반환 값
이 메서드는 E_OUTOFMEMORY 표준 반환 값과 다음 값을 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
역 모니커가 성공적으로 반환되었습니다. |
|
모니커 클래스에는 역이 없습니다. |
설명
모니커의 역방향은 MS-DOS 파일 시스템의 ".." 디렉터리와 유사합니다. 디렉터리 이름에 ".."를 추가하면 빈 경로가 생성되므로 ".." 디렉터리가 다른 디렉터리 이름에 역으로 사용됩니다. 동일한 방식으로 모니커의 역방향은 일반적으로 동일한 클래스에 있는 모든 모니커의 역입니다. 그러나 반드시 다른 클래스의 모니커를 역으로 사용하는 것은 아닙니다.
복합 모니커의 역방향은 원래 모니커 구성 요소의 역순으로 구성된 복합 모니커입니다. 예를 들어 A의 역이 Inv( A )이고 A, B 및 C의 복합이 Comp( A, B, C )인 경우
Inv( Comp( A, B, C ) )는 Comp( Inv( C ), Inv( B ), Inv( A ) )와 같습니다.
모든 모니커에 역이 있는 것은 아닙니다. 안티 모니커와 같은 그 자체가 역인 대부분의 모니커에는 역이 없습니다. 역이 없는 모니커에는 식별한 개체 내부에서 외부의 다른 개체로 구성된 상대 모니커가 있을 수 없습니다.
발신자에게 참고 사항
모니커를 사용하여 다른 개체를 찾는 개체는 일반적으로 사용 중인 모니커의 클래스를 알지 못합니다. 모니커의 역방향을 얻으려면 사용 중인 모니커가 안티 모니커를 역으로 간주한다고 확신할 수 없으므로 항상 CreateAntiMoniker 함수가 아닌 IMoniker::Inverse를 호출해야 합니다.Inverse 메서드는 IMoniker::RelativePathTo 메서드를 구현하여 상대 모니커 생성을 지원하기 위해 호출됩니다.
구현자에 대한 참고 사항
모니커에 내부 구조가 없는 경우 의 CreateAntiMoniker 함수를 호출하여 IMoniker::Inverse 구현에서 모니커 방지를 가져올 수 있습니다. IMoniker::ComposeWith 구현에서 Inverse 구현에서 제공하는 역방향에 대해 검사 합니다.구현별 참고 사항
구현 | 참고 |
---|---|
안티 모니커 | 이 메서드는 MK_E_NOINVERSE 반환하고 *ppmk 를 NULL로 설정합니다. |
클래스 모니커 | 이 메서드는 모니커 방지(즉, CreateAntiMoniker 호출 결과)를 반환합니다. |
파일 모니커 | 이 메서드는 모니커 방지(즉, CreateAntiMoniker 호출 결과)를 반환합니다. |
제네릭 복합 모니커 | 이 메서드는 역순으로 저장된 원래 복합의 각 구성 요소의 역방향으로 구성된 복합 모니커를 반환합니다. 예를 들어 A의 역이 Inv( A) 인 경우 A, B 및 C의 복합의 역은 Comp(Inv( C ), Inv( B ), Inv( A ) )입니다. |
항목 모니커 | 이 메서드는 모니커 방지(즉, CreateAntiMoniker 호출 결과)를 반환합니다. |
OBJREF 모니커 | 이 메서드는 모니커 방지(즉, CreateAntiMoniker 호출 결과)를 반환합니다. |
포인터 모니커 | 이 메서드는 모니커 방지(즉, CreateAntiMoniker 호출 결과)를 반환합니다. |
URL 모니커 | 이 메서드는 MK_E_NOINVERSE 반환하고 *ppmk 를 NULL로 설정합니다. |
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | objidl.h |