플러그 인에서 프린터 드라이버 인터페이스 액세스

Important

최신 인쇄 플랫폼은 Windows에서 프린터와 통신하는 데 선호되는 수단입니다. 프린터 장치 개발을 위해 Windows 10 및 11의 인쇄 환경을 사용자 지정하려면 MICROSOFT의 IPP 받은 편지함 클래스 드라이버와 PSA(인쇄 지원 앱)를 사용하는 것이 좋습니다.

자세한 내용은 최신 인쇄 플랫폼 및 인쇄 지원 앱 디자인 가이드를 참조하세요.

플러그 인이 드라이버 제공 IPrintOemDriverUI, IPrintCoreHelperPS, IPrintCoreHelperUni, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS 또는 IPrintCorePS2 COM 인터페이스에 속하는 메서드를 호출하는 경우 다음과 같이 드라이버에서 인터페이스 포인터를 가져와야 합니다.

  1. 플러그 인은 IPrintOemUI, IPrintOemUI2, IPrintOemUni, IPrintOemUni2, IPrintOemPS 또는 IPrintOemPS2 인터페이스의 PublishDriverInterface 메서드를 구현해야 합니다.

  2. 드라이버(Unidrv 또는 Pscript5)가 플러그 인의 PublishDriverInterface 메서드를 호출하면 IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS 또는 IPrintCorePS2 인스턴스의 IUnknown 인터페이스에 대한 포인터를 제공합니다.

  3. 플러그 인은 IUnknown 인터페이스 포인터를 사용하여 IUnknown::QueryInterface를 호출하고 원하는 버전의 IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS 또는 IPrintCorePS2 인터페이스를 나타내는 인터페이스 식별자를 지정해야 합니다. (자세한 내용은 를 참조하세요 .프린터 드라이버의 인터페이스 식별자입니다.)

  4. 플러그 인이 드라이버에서 지원하는 인터페이스 버전을 나타내는 인터페이스 식별자를 지정하는 경우 QueryInterface는 IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS 또는 IPrintCorePS2 인터페이스에 대한 포인터를 반환합니다. 드라이버는 플러그 인에 대한 인터페이스 포인터를 반환하기 전에 인터페이스의 AddRef 메서드(Windows SDK 설명서에 설명됨)를 호출합니다. 플러그 인은 나중에 인터페이스 메서드를 호출하는 데 사용할 수 있도록 이 포인터를 저장해야 합니다.

  5. IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS 또는 IPrintCorePS2 인터페이스 포인터가 더 이상 필요하지 않은 경우 플러그 인은 인터페이스의 릴리스 메서드(Windows SDK 설명서에 설명됨)를 호출해야 합니다.

플러그 인이 새 Windows Vista IPrintCoreHelperPS 또는 IPrintCoreHelperUni 인터페이스를 사용하려면 플러그 인이 IPrintOemUI::GetInfo, IPrintOemPS::GetInfo 또는 IPrintOemUni::GetInfo 메서드에서 OEMGI_GETREQUESTEDHELPERINTERFACES 대한 지원을 추가해야 합니다.