IAssocHandler::Invoke 메서드(shobjidl_core.h)
연결된 처리기를 직접 호출합니다.
구문
HRESULT Invoke(
[in] IDataObject *pdo
);
매개 변수
[in] pdo
형식: IDataObject*
처리기를 호출할 선택한 항목을 나타내는 IDataObject 에 대한 포인터입니다. 여러 항목을 선택하여 IAssocHandler::Invoke 를 호출하면 안 됩니다. 여러 항목이 있는 경우 대신 IAssocHandler::CreateInvoker 를 호출합니다. 자세한 내용은 비고를 참조하세요.
반환 값
형식: 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 포함) |