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인터페이스에 대한 호출자 제공 포인터입니다. 설명 부분을 참조하세요.
반환 값
메서드는 다음 값 중 하나를 반환해야 합니다.
반환 코드 | Description |
---|---|
|
작업에 성공했습니다. |
|
작업이 실패했습니다. |
설명
Pscript5 드라이버는 IPrintCoreUI2, IPrintOemDriverUI 및 IPrintCoreHelperPS 인터페이스를 지원합니다. Unidrv는 IPrintOemDriverUI 및 IPrintCoreHelperUni 인터페이스를 지원합니다. 두 유형의 드라이버에 대한 사용자 인터페이스 플러그 인은 메서드를 IPrintOemUI::PublishDriverInterface
구현해야 합니다.
메서드는 지원되는 Pscript5 인터페이스에 대한 정보를 다음과 같이 반환해야 합니다.
-
Pscript5 드라이버는 먼저 iPrintCoreUI2 instance IUnknown 인터페이스로 설정된 pIUnknown 포인터를 사용하여 메서드를 호출
IPrintOemUI::PublishDriverInterface
합니다. 사용자 인터페이스 플러그 인이 IPrintCoreUI2 인터페이스를 사용할 수 있는 경우 메서드는 S_OK 반환해야 합니다. 그렇지 않으면 플러그 인이 E_FAIL 반환해야 합니다. -
플러그 인이 E_FAIL 반환한 경우 Pscript5 드라이버는 메서드를 다시 호출
IPrintOemUI::PublishDriverInterface
하지만 pIUnknown 포인터를 IPrintOemDriverUI instance IUnknown 인터페이스로 설정합니다. 플러그 인에서 IPrintOemDriverUI 인터페이스를 사용할 수 있는 경우 메서드는 S_OK 반환해야 합니다. 그렇지 않으면 플러그 인이 E_FAIL 반환해야 합니다. -
플러그 인의 IPrintOemUI::GetInfo 메서드가 dwMode가 OEMGI_GETREQUESTEDHELPERINTERFACES 설정된 호출에 대한 응답으로 pBuffer에서 OEMPUBLISH_IPRINTCOREHELPER 값을 반환한 경우 Pscript5 드라이버는 메서드를 다시 호출
IPrintOemUI::PublishDriverInterface
하지만, pIUnknown 포인터를 IPrintCoreHelperPS 및 IPrintCoreHelper 인터페이스를 구현하는 개체로 설정합니다. 플러그 인이 IPrintCoreHelperPS 또는 IPrintCoreHelper 인터페이스를 사용할 수 있는 경우 메서드는 S_OK 반환해야 합니다. 그렇지 않으면 메서드는 E_FAIL 반환해야 합니다.
-
Unidrv 드라이버는 먼저 iPrintOemDriverUI instance IUnknown 인터페이스로 설정된 pIUnknown 포인터를 사용하여 메서드를 호출
IPrintOemUI::PublishDriverInterface
합니다. 플러그 인에서 IPrintOemDriverUI 인터페이스를 사용할 수 있는 경우 메서드는 S_OK 반환해야 합니다. 그렇지 않으면 플러그 인이 E_FAIL 반환해야 합니다. -
플러그 인의 IPrintOemUI::GetInfo 메서드가 dwMode가 OEMGI_GETREQUESTEDHELPERINTERFACES 설정된 호출에 대한 응답으로 pBuffer에서 OEMPUBLISH_IPRINTCOREHELPER 값을 반환한 경우 Unidrv 드라이버는 메서드를 다시 호출
IPrintOemUI::PublishDriverInterface
하지만 pIUnknown 포인터를 IPrintCoreHelperUni 및 IPrintCoreHelper 인터페이스를 구현하는 개체로 설정했습니다. 플러그 인에서 IPrintCoreHelperUni 또는 IPrintCoreHelper 인터페이스를 사용하는 경우 메서드는 S_OK 반환해야 합니다. 그렇지 않으면 메서드는 E_FAIL 반환해야 합니다.
IPrintOemUI::PublishDriverInterface
플러그 인은 추가 호출을 받지 않습니다. 사용자 인터페이스 플러그 인이 IPrintCoreUI2, IPrintOemDriverUI, IPrintCoreHelperPS 또는 IPrintCoreHelperUni 인터페이스 메서드를 호출하는 경우 수신된 IUnknown 인터페이스 포인터를 사용하여 IUnknown::QueryInterface(Microsoft Windows SDK 설명서에 설명됨)를 호출하여 드라이버의 지원되는 IPrintCoreUI2버전에 대한 포인터를 가져와야 합니다.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 포함) |