다음을 통해 공유


IPrintOemUI::P ublishDriverInterface 메서드(prcomoem.h)

IPrintOemUI::PublishDriverInterface 메서드를 사용하면 사용자 인터페이스 플러그 인이 Unidrv 또는 Pscript5 드라이버의 IPrintOemDriverUI, IPrintCoreUI2, IPrintCoreHelperPS또는 IPrintCoreHelperUni 인터페이스를 가져올 수 있습니다.

통사론

HRESULT PublishDriverInterface(
  IUnknown *pIUnknown
);

매개 변수

pIUnknown

드라이버의 IPrintCoreUI2 COM 인터페이스, IPrintOemDriverUI COM 인터페이스, IPrintCoreHelperPS 인터페이스또는 IPrintCoreHelperUni 인터페이스IUnknown 인터페이스에 대한 호출자 제공 포인터입니다. 비고를 참조하세요.

반환 값

메서드는 다음 값 중 하나를 반환해야 합니다.

반환 코드 묘사
S_OK
작업이 성공했습니다.
E_FAIL
작업이 실패했습니다.

발언

Pscript5 드라이버는 IPrintCoreUI2, IPrintOemDriverUIIPrintCoreHelperPS 인터페이스를 지원합니다. Unidrv는 IPrintOemDriverUIIPrintCoreHelperUni 인터페이스를 지원합니다. 두 유형의 드라이버에 대한 사용자 인터페이스 플러그 인은 IPrintOemUI::PublishDriverInterface 메서드를 구현해야 합니다.

메서드는 지원되는 Pscript5 인터페이스에 대한 정보를 다음과 같이 반환해야 합니다.

  1. Pscript5 드라이버는 먼저 pIUnknown 포인터가 IPrintCoreUI2 인스턴스의 IUnknown 인터페이스로 설정된 IPrintOemUI::PublishDriverInterface 메서드를 호출합니다. 사용자 인터페이스 플러그 인이 IPrintCoreUI2 인터페이스를 사용할 수 있는 경우 메서드는 S_OK 반환해야 합니다. 그렇지 않으면 플러그 인이 E_FAIL 반환해야 합니다.
  2. 플러그 인이 E_FAIL 반환된 경우 Pscript5 드라이버는 IPrintOemUI::PublishDriverInterface 메서드를 다시 호출하지만 pIUnknown 포인터를 IPrintOemDriverUI 인스턴스의 IUnknown 인터페이스로 설정합니다. 플러그 인에서 IPrintOemDriverUI 인터페이스를 사용할 수 있는 경우 메서드는 S_OK 반환해야 합니다. 그렇지 않으면 플러그 인이 E_FAIL 반환해야 합니다.
  3. 플러그 인의 IPrintOemUI::GetInfo 메서드가 dwMode OEMGI_GETREQUESTEDHELPERINTERFACES 설정된 호출에 대한 응답으로 pBuffer OEMPUBLISH_IPRINTCOREHELPER 값을 반환한 경우 Pscript5 드라이버는 IPrintOemUI::PublishDriverInterface 메서드를 다시 호출하지만 pIUnknown 포인터가 IPrintCoreHelperPS 구현하고 IPrintCoreHelper 인터페이스를 개체로 설정됩니다. 플러그 인에서 IPrintCoreHelperPS 사용하거나 IPrintCoreHelper 인터페이스를 경우 메서드는 S_OK 반환해야 합니다. 그렇지 않으면 메서드가 E_FAIL 반환해야 합니다.
메서드는 다음과 같이 지원되는 Unidrv 인터페이스에 대한 정보를 반환해야 합니다.
  1. Unidrv 드라이버는 먼저 pIUnknown 포인터가 IPrintOemDriverUI 인스턴스의 IUnknown 인터페이스로 설정된 IPrintOemUI::PublishDriverInterface 메서드를 호출합니다. 플러그 인에서 IPrintOemDriverUI 인터페이스를 사용할 수 있는 경우 메서드는 S_OK 반환해야 합니다. 그렇지 않으면 플러그 인이 E_FAIL 반환해야 합니다.
  2. 플러그 인의 IPrintOemUI::GetInfo 메서드가 OEMGI_GETREQUESTEDHELPERINTERFACES dwMode 호출에 대한 응답으로 pBuffer OEMPUBLISH_IPRINTCOREHELPER 값을 반환한 경우 Unidrv 드라이버는 IPrintOemUI::PublishDriverInterface 메서드를 다시 호출하지만 pIUnknown 포인터가 IPrintCoreHelperUni 구현하고 IPrintCoreHelper 인터페이스를 개체로 설정됩니다. 플러그 인에서 IPrintCoreHelperUni 또는 IPrintCoreHelper 인터페이스를 사용하는 경우 메서드는 S_OK 반환해야 합니다. 그렇지 않으면 메서드가 E_FAIL 반환해야 합니다.
플러그 인이 IPrintOemUI::PublishDriverInterface대한 모든 호출에 실패하면 플러그 인은 추가 호출을 받지 않습니다. 사용자 인터페이스 플러그 인이 IPrintCoreUI2, IPrintOemDriverUI, IPrintCoreHelperPS또는 IPrintCoreHelperUni 인터페이스 메서드를 호출하는 경우 IPrintCoreUI2드라이버의 지원되는 버전에 대한 포인터를 얻으려면 받은 IUnknown 인터페이스 포인터를 사용하여 IUnknown::QueryInterface 호출해야 합니다(Microsoft Windows SDK 설명서에 설명됨). IPrintOemDriverUI , IPrintCoreHelperPS또는 IPrintCoreHelperUni 인터페이스를. 자세한 내용은 프린터 드라이버 대한인터페이스 식별자를 참조하세요.

각 DDI 함수를 처리하는 동안 UI 플러그 인은 Windows Vista 이전 인터페이스의 메서드 사용을 혼합해서는 안 됩니다(예: IPrintOemDriverUI 또는 IPrintCoreUI2 인터페이스) 및 Windows Vista 인터페이스의 새 메서드(예: IPrintCoreHelperUni 또는 IPrintCoreHelperPS)는 드라이버 설정을 읽거나 씁니다. 예를 들어 IPrintOemUI::D ocumentPropertySheets 메서드를 동안 UI 플러그 인은 IPrintOemDriverUI::D rvUpdateUISetting 메서드를 사용하여 설정을 작성하고 IPrintCoreHelper::GetOption 메서드를 사용하여 설정을 읽을 수 없습니다. 또 다른 예로, IPrintOemUI::P rinterEvent 메서드를 동안 UI 플러그 인은 IPrintCoreUI2::GetOptions 메서드를 사용하여 설정을 읽고 IPrintCoreHelper::SetOptions 메서드를 사용하여 설정을 작성하면 안 됩니다. 이러한 인터페이스 버전 간에는 설정 읽기 및 쓰기 동기화가 지원되지 않습니다.

요구 사항

요구
대상 플랫폼 바탕 화면
헤더 prcomoem.h(Prcomoem.h 포함)

참고 항목

IPrintOemUI

IPrintOemUI::GetInfo