다음을 통해 공유


IAssocHandler::CreateInvoker 메서드(shobjidl_core.h)

현재 선택 영역에서 연결된 처리기를 호출할 수 있도록 하는 개체를 검색합니다. 호출자에는 현재 선택이 지원되는지 여부를 확인하는 기능이 포함됩니다.

구문

HRESULT CreateInvoker(
  [in]  IDataObject          *pdo,
  [out] IAssocHandlerInvoker **ppInvoker
);

매개 변수

[in] pdo

형식: IDataObject*

처리기를 호출할 선택한 항목 또는 항목을 나타내는 IDataObject 에 대한 포인터입니다. 단일 항목만 있는 경우 IAssocHandler::Invoke 가 더 나은 선택일 수 있습니다. 자세한 내용은 설명을 참조하세요.

[out] ppInvoker

형식: IAssocHandlerInvoker**

이 메서드가 반환되면 IAssocHandlerInvoker 개체에 대한 포인터의 주소를 포함합니다. 이 개체는 선택한 항목이 연결된 처리기에서 지원되는지 확인한 후 메뉴 항목을 호출하는 데 사용됩니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

IAssocHandler 개체는 일반적으로 열기 메뉴를 채우는 데 사용됩니다. 이러한 메뉴 항목 중 하나를 선택하면 이 메서드가 호출되어 선택한 애플리케이션을 시작합니다.

Invoke 및 CreateInvoker

이러한 메서드에서 사용하는 IDataObject 는 단일 파일을 나타내거나 여러 파일의 선택을 나타낼 수 있습니다. 모든 애플리케이션이 여러 파일 옵션을 지원하는 것은 아닙니다. 해당 시나리오를 지원하는 애플리케이션은 한 번에 열 수 있는 파일 수 또는 파일 형식의 허용 가능한 조합과 같은 다른 제한을 적용할 수 있습니다.

따라서 애플리케이션은 처리기를 호출하기 전에 처리기가 선택 영역을 지원하는지 여부를 결정해야 하는 경우가 많습니다. 예를 들어 애플리케이션은 해당 처리기에서 해당 선택 항목을 지원한다는 것을 알고 있는 경우에만 메뉴 항목을 사용하도록 설정할 수 있습니다.

일반적으로 애플리케이션이 단일 항목에 대한 호출을 지원한다고 가정해도 안전합니다. 이러한 경우 애플리케이션은 일반적으로 IAssocHandler::Invoke를 호출합니다.

여러 선택 시나리오의 경우 애플리케이션에서 IAssocHandler::CreateInvoker를 호출해야 합니다. 이 메서드는 호출 애플리케이션이 선택 영역이 지원되는지(SupportsSelection) 검사 처리기(Invoke)를 호출할 수 있도록 하는 IAssocHandlerInvoker 개체를 검색합니다.

IAssocHandler::Invoke 는 여러 파일의 선택 항목에서 호출할 수 있지만 많은 처리 부하가 관련되고 성공이 보장되지 않으므로 권장되지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shobjidl_core.h(Shobjidl.h 포함)

추가 정보

IAssocHandler

IAssocHandler::Invoke

IEnumAssocHandlers