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