Metode IPrintOemUI::P ublishDriverInterface (prcomoem.h)

Metode ini IPrintOemUI::PublishDriverInterface memungkinkan plug-in antarmuka pengguna untuk mendapatkan antarmuka IPrintOemDriverUI, IPrintCoreUI2, IPrintCoreHelperPS, atau IPrintCoreHelperUni driver Unidrv atau Pscript5.

Sintaks

HRESULT PublishDriverInterface(
  IUnknown *pIUnknown
);

Parameter

pIUnknown

Penunjuk yang disediakan penelepon ke antarmuka IUnknown antarmuka COM IPrintCoreUI2 driver, Antarmuka COM IPrintOemDriverUI, Antarmuka IPrintCoreHelperPS, atau Antarmuka IPrintCoreHelperUni. Lihat Keterangan.

Nilai kembali

Metode harus mengembalikan salah satu nilai berikut.

Menampilkan kode Deskripsi
S_OK
Operasi berhasil.
E_FAIL
Operasi gagal.

Keterangan

Driver Pscript5 mendukung antarmuka IPrintCoreUI2, IPrintOemDriverUI, dan IPrintCoreHelperPS . Unidrv mendukung antarmuka IPrintOemDriverUI dan IPrintCoreHelperUni . Plug-in antarmuka pengguna untuk kedua jenis driver harus menerapkan IPrintOemUI::PublishDriverInterface metode .

Metode ini harus mengembalikan informasi tentang antarmuka Pscript5 yang didukung sebagai berikut:

  1. Driver Pscript5 pertama-tama memanggil IPrintOemUI::PublishDriverInterface metode dengan pointer pIUnknown yang diatur ke antarmuka IUnknown instans IPrintCoreUI2. Jika plug-in antarmuka pengguna dapat menggunakan antarmuka IPrintCoreUI2 , metode harus mengembalikan S_OK. Jika tidak, plug-in harus mengembalikan E_FAIL.
  2. Jika plug-in telah mengembalikan E_FAIL, driver Pscript5 memanggil IPrintOemUI::PublishDriverInterface metode lagi, tetapi dengan pointer pIUnknown diatur ke antarmuka IUnknown instans IPrintOemDriverUI. Jika plug-in dapat menggunakan antarmuka IPrintOemDriverUI , metode harus mengembalikan S_OK. Jika tidak, plug-in harus mengembalikan E_FAIL.
  3. Jika metode IPrintOemUI::GetInfo plug-in telah mengembalikan nilai OEMPUBLISH_IPRINTCOREHELPER dalam pBuffer sebagai respons terhadap panggilan dengan dwMode yang diatur ke OEMGI_GETREQUESTEDHELPERINTERFACES, driver Pscript5 memanggil IPrintOemUI::PublishDriverInterface metode lagi, tetapi dengan pointer pIUnknown diatur ke objek yang mengimplementasikan antarmuka IPrintCoreHelperPS dan IPrintCoreHelper . Jika plug-in dapat menggunakan antarmuka IPrintCoreHelperPS atau IPrintCoreHelper , metode harus mengembalikan S_OK. Jika tidak, metode harus mengembalikan E_FAIL.
Metode ini harus mengembalikan informasi tentang antarmuka Unidrv yang didukung sebagai berikut:
  1. Driver Unidrv pertama kali memanggil IPrintOemUI::PublishDriverInterface metode dengan pointer pIUnknown yang diatur ke antarmuka IUnknown instans IPrintOemDriverUI. Jika plug-in dapat menggunakan antarmuka IPrintOemDriverUI , metode harus mengembalikan S_OK. Jika tidak, plug-in harus mengembalikan E_FAIL.
  2. Jika metode IPrintOemUI::GetInfo plug-in telah mengembalikan nilai OEMPUBLISH_IPRINTCOREHELPER dalam pBuffer sebagai respons terhadap panggilan dengan dwMode yang diatur ke OEMGI_GETREQUESTEDHELPERINTERFACES, driver Unidrv memanggil IPrintOemUI::PublishDriverInterface metode lagi, tetapi dengan pointer pIUnknown diatur ke objek yang mengimplementasikan antarmuka IPrintCoreHelperUni dan IPrintCoreHelper . Jika plug-in menggunakan antarmuka IPrintCoreHelperUni atau IPrintCoreHelper , metode harus mengembalikan S_OK. Jika tidak, metode harus mengembalikan E_FAIL.
Jika plug-in gagal semua panggilan ke IPrintOemUI::PublishDriverInterface, plug-in tidak akan menerima panggilan lebih lanjut. Jika plug-in antarmuka pengguna akan memanggil IPrintCoreUI2, IPrintOemDriverUI, Metode antarmuka IPrintCoreHelperPS, atau IPrintCoreHelperUni , ia harus menggunakan penunjuk antarmuka IUnknown yang diterima untuk memanggil IUnknown::QueryInterface (dijelaskan dalam dokumentasi Microsoft Windows SDK) untuk mendapatkan penunjuk ke versi IPrintCoreUI2, IPrintOemDriverUI, IPrintCoreHelperPS yang didukung driver, IPrintOemDriverUI, IPrintCoreHelperPS, atau Antarmuka IPrintCoreHelperUni . Untuk informasi selengkapnya, lihat Pengidentifikasi Antarmuka untuk Driver Printer.

Selama pemrosesan setiap fungsi DDI, plug-in UI tidak boleh mencampur penggunaan metode antarmuka Vista pra-Windows (misalnya, antarmuka IPrintOemDriverUI atau IPrintCoreUI2 ) dan metode baru antarmuka Windows Vista (misalnya, IPrintCoreHelperUni atau IPrintCoreHelperPS) untuk membaca atau menulis pengaturan driver. Misalnya, selama metode IPrintOemUI::D ocumentPropertySheets , plug-in UI tidak boleh menggunakan metode IPrintOemDriverUI::D rvUpdateUISetting untuk menulis pengaturan dan menggunakan metode IPrintCoreHelper::GetOption untuk membaca pengaturan. Misalnya, selama metode IPrintOemUI::P rinterEvent , plug-in UI tidak boleh menggunakan metode IPrintCoreUI2::GetOptions untuk membaca pengaturan dan menggunakan metode IPrintCoreHelper::SetOptions untuk menulis pengaturan. Sinkronisasi pembacaan dan penulisan pengaturan tidak didukung di antara versi antarmuka yang berbeda ini.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header prcomoem.h (termasuk Prcomoem.h)

Lihat juga

IPrintOemUI

IPrintoemUI::GetInfo