프린터 드라이버의 인터페이스 식별자

GUID 집합은 prcomoem.h에 정의됩니다. 이러한 각 GUID는 프린터 드라이버(Unidrv 및 Pscript5)와 플러그 인 간의 통신에 사용되는 COM 인터페이스 중 하나에 대한 인터페이스 식별자입니다.

Windows 2000 및 Windows XP의 경우 다음 GUID가 정의됩니다.

IID_IPrintOemUIIID_IPrintOemUI2(Windows XP 이상 버전의 Windows 운영 체제의 Pscript5 UI 플러그 인) IID_IPrintOemDriverUIIID_IPrintCoreUI2(Windows XP 이상 버전의 Windows 운영 체제의 Pscript5 UI 플러그 인) IID_IPrintOemUniIID_IPrintOemUni2(Unidrv render plug-ins) Windows XP 이상 버전의 Windows 운영 체제) IID_IPrintOemUni3(Windows Vista 이상 버전의 Windows 운영 체제에서 Unidrv 렌더링 플러그 인) IID_IPrintOemDriverUniIID_IPrintOemPS IID_IPrintOemPS2(Pscript5는 Windows XP 및 이후 버전의 플러그 인을 렌더링합니다. Windows 운영 체제) IID_IPrintOemDriverPSIID_IPrintCorePS2(Windows XP 이상 버전의 Windows 운영 체제에서 Pscript5 렌더링 플러그 인) 각 GUID는 하나의 인터페이스 버전을 식별합니다. 새 버전의 인터페이스가 정의되면 새 GUID가 목록에 추가됩니다.

사용자 인터페이스 플러그 인 및 렌더링 플러그 인은 지원하는 인터페이스 버전을 식별해야 합니다. 프린터 드라이버(Unidrv 또는 Pscript5)는 인터페이스 식별자를 입력으로 지정하는 플러그 인의 IUnknown::QueryInterface 메서드(Windows SDK 설명서에 설명되어 있음)를 호출합니다. 플러그 인이 지정된 버전을 지원하는 경우 메서드는 S_OK 반환 상태와 함께 인터페이스에 대한 포인터를 반환해야 합니다. 그렇지 않으면 E_NOINTERFACE 반환해야 합니다. 드라이버는 최신 버전의 인터페이스 식별자로 시작하고 메서드가 S_OK 반환하거나 드라이버가 버전 식별자 목록을 소진할 때까지 이전 버전 식별자를 사용하여 QueryInterface 를 계속 호출합니다.

마찬가지로 Unidrv 및 Pscript5는 IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS 또는 IPrintCorePS2 COM 인터페이스에 대한 IUnknown::QueryInterface 메서드를 제공합니다. 플러그 인은 적절한 인터페이스의 QueryInterface 메서드를 호출하여 드라이버의 지원되는 인터페이스 버전을 확인하고 인터페이스 포인터를 수신해야 합니다.