IPrintOemPS::Metode perintah (prcomoem.h)

Metode IPrintOemPS::Command digunakan dengan merender plug-in untuk driver printer Microsoft PostScript, untuk menyisipkan perintah PostScript ke aliran data pekerjaan cetak.

Sintaks

HRESULT Command(
        PDEVOBJ   pdevobj,
        DWORD     dwIndex,
        PVOID     pData,
        DWORD     cbSize,
  [out] OUT DWORD *pdwResult
);

Parameter

pdevobj

Penunjuk yang disediakan penelepon ke struktur DEVOBJ .

dwIndex

Nilai yang disediakan penelepon yang mewakili titik injeksi saat ini dalam aliran data pekerjaan cetak. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.

pData

Tidak digunakan.

cbSize

Tidak digunakan.

[out] pdwResult

Menerima nilai yang disediakan metode yang menunjukkan hasil operasi penyisipan. Jika penyisipan berhasil, nilai ini harus ERROR_SUCCESS. Jika penyisipan gagal, nilainya harus menjadi salah satu kode kesalahan yang ditentukan dalam winerror.h. Jika metode tidak mencoba menyisipkan data untuk nilai dwIndex tertentu, nilainya harus ERROR_NOT_SUPPORTED.

Mengembalikan nilai

Metode harus mengembalikan salah satu nilai berikut.

Menampilkan kode Deskripsi
S_OK
Operasi berhasil.
E_FAIL
Operasi gagal
E_NOTIMPL
Metode ini tidak diterapkan.

Keterangan

Metode IPrintOemPS::Command digunakan untuk menyisipkan perintah PostScript ke dalam aliran data yang dihasilkan oleh Driver Printer Microsoft PostScript. Jika Anda ingin menyediakan metode ini, Anda harus menentukannya dalam plug-in penyajian.

Ketika metode IPrintOemPS::Command dipanggil, parameter dwIndex-nya menentukan titik injeksi saat ini dalam aliran data pekerjaan cetak. Metode harus menggunakan nilai ini untuk menentukan operasi apa, jika ada, untuk dilakukan. Nilai indeks, yang didefinisikan dalam wingdi.h, tercantum dalam tabel berikut.

Nilai indeks Ketika diterima
PSINJECT_BEGINDEFAULTS Setelah pengandar pencetak mengirim %%BeginDefaults ke aliran data.
PSINJECT_BEGINPAGESETUP Setelah pengandar pencetak mengirim %%BeginPageSetup ke aliran data.
PSINJECT_BEGINPROLOG Setelah pengandar pencetak mengirim %%BeginProlog ke aliran data.
PSINJECT_BEGINSETUP Setelah pengandar pencetak mengirim %%BeginSetup ke aliran data.
PSINJECT_BEGINSTREAM Sebelum pengandar pencetak mengirim byte pertama aliran data.
PSINJECT_BOUNDINGBOX Ketika pengandar pencetak siap memasukkan %%BoundingBox: ke aliran data. Data yang disediakan oleh IPrintOemPS::Command menggantikan %%BoundingBox: komentar driver.
PSINJECT_COMMENTS Sebelum pengandar pencetak mengirim %%EndComments ke aliran data.
PSINJECT_DLFONT Sebelum pengandar cetak mengunduh fon lunak.
PSINJECT_DOCNEEDEDRES Setelah pengandar pencetak mengirim %%DocumentNeededResources: ke aliran data, bersama dengan informasi sumber daya. Jika metode IPrintOemPS::Command mengirim informasi sumber daya, metode tersebut ditambahkan ke aliran setelah informasi sumber daya driver. Format entri adalah sebagai berikut:

%%+ResourceTypeResourceNames

Pengandar pencetak mengirim %%DocumentNeededResources: setelah mengirim bagian %%Trailer .

PSINJECT_DOCSUPPLIEDRES Setelah pengandar pencetak mengirim %%DocumentSuppliedResources: ke aliran data, bersama dengan informasi sumber daya. Jika metode IPrintOemPS::Command mengirim informasi sumber daya, metode tersebut ditambahkan ke aliran setelah informasi sumber daya driver. Format entri adalah sebagai berikut:

%%+ResourceTypeResourceNames

Pengandar pencetak mengirim %%DocumentSuppliedResources: setelah mengirim bagian %%Trailer .

PSINJECT_DOCUMENTPROCESSCOLORS
Ketika pengandar pencetak siap memasukkan %%DocumentProcessColors:color ke aliran data. Data yang disediakan oleh IPrintOemPS::Command menggantikan komentar %%DocumentProcessColors:color driver.
PSINJECT_DOCUMENTPROCESSCOLORSATEND
Ketika pengandar pencetak siap memasukkan %%DocumentProcessColors:(atend) ke aliran data. Data yang disediakan oleh IPrintOemPS::Command menggantikan komentar driver %%DocumentProcessColors:(atend).
PSINJECT_ENDDEFAULTS Sebelum pengandar pencetak mengirim %%EndDefaults ke aliran data.
PSINJECT_ENDPAGECOMMENTS Sebelum pengandar pencetak mengirim %%EndPageComments ke aliran data.
PSINJECT_ENDPAGESETUP Sebelum pengandar pencetak mengirim %%EndPageSetup ke aliran data.
PSINJECT_ENDPROLOG Sebelum pengandar pencetak mengirim %%EndProlog ke aliran data.
PSINJECT_ENDSETUP Sebelum pengandar pencetak mengirim %%EndSetup ke aliran data.
PSINJECT_ENDSTREAM Setelah pengandar pencetak mengirim byte terakhir aliran data.
PSINJECT_EOF Setelah pengandar pencetak mengirim %%EOF ke aliran data.
PSINJECT_ORIENTATION Ketika pengandar pencetak siap untuk menyisipkan %%Orientation: ke aliran data. Data yang disediakan oleh IPrintOemPS::Command menggantikan %%Orientation: komentar driver.
PSINJECT_PAGEBBOX Ketika pengandar pencetak siap memasukkan %%PageBoundingBox: ke aliran data. Data yang disediakan oleh IPrintOemPS::Command menggantikan komentar %%PageBoundingBox: driver.
PSINJECT_PAGENUMBER Ketika pengandar pencetak siap untuk menyisipkan %%Page: ke aliran data. Data yang disediakan oleh IPrintOemPS::Command menggantikan pengandar %%Page: komentar.
PSINJECT_PAGEORDER Ketika pengandar pencetak siap untuk menyisipkan %%PageOrder: ke aliran data. Data yang disediakan oleh IPrintOemPS::Command menggantikan pengandar %%PageOrder: komentar.
PSINJECT_PAGES Ketika pengandar pencetak siap memasukkan %%Pages:nnn ke aliran data. Data yang disediakan oleh IPrintOemPS::Command menggantikan komentar %%Pages:nnn driver.
PSINJECT_PAGESATEND Ketika pengandar pencetak siap memasukkan %%Pages:(atend) ke aliran data. Data yang disediakan oleh IPrintOemPS::Command menggantikan komentar %%Pages:(atend) driver.
PSINJECT_PAGETRAILER Setelah pengandar pencetak mengirim %%PageTrailer ke aliran data.
PSINJECT_PLATECOLOR Ketika pengandar pencetak siap memasukkan %%PlateColor:color ke aliran data. Data yang disediakan oleh IPrintOemPS::Command menggantikan komentar %%PlateColor:color driver.
PSINJECT_PSADOBE Sebelum pengandar pencetak mengirim %! PS-Adobe ke aliran data.
PSINJECT_SHOWPAGE Sebelum pengandar pencetak mengirimkan perintah showpage .
PSINJECT_TRAILER Setelah pengandar pencetak mengirim %%Trailer ke aliran data.
PSINJECT_VMRESTORE Setelah pengandar pencetak mengirim perintah pemulihan . (Metode IPrintOemPS::Command harus mengirim ulang semua sumber daya yang dikirim setelah PSINJECT_VMSAVE terakhir, jika sumber daya akan digunakan kembali.)
PSINJECT_VMSAVE Sebelum pengandar pencetak mengirim perintah simpan . (Lihat PSINJECT_VMRESTORE.)

Metode IPrintOemPS::Command harus memanggil IPrintOemDriverPS::D rvWriteSpoolBuf untuk menyisipkan perintah PostScript.

Jika metode IPrintOemPS::Command diekspor oleh beberapa plug-in penyajian, metode dipanggil dalam urutan plug-in ditentukan untuk penginstalan, setiap kali driver printer mencapai titik injeksi. Aturan berikut ini akan berlaku:

  • Jika titik injeksi adalah salah satu yang data yang disediakan ditambahkan ke data yang disediakan driver printer, setiap plug-in dipanggil dan setiap plug-in diizinkan untuk menambahkan perintah PostScript.

  • Jika titik injeksi adalah salah satu yang data yang disediakan menggantikan data yang disediakan driver printer, plug-in dipanggil sampai satu metode IPrintOemPS::Command menyediakan ERROR_SUCCESS untuk dwResult. Tidak ada plug-in lain yang dipanggil. Jika semua plug-in menyediakan ERROR_NOT_SUPPORTED, data yang disediakan driver tidak diganti.

  • Jika titik injeksi adalah salah satu tempat data yang disediakan menggantikan data yang disediakan driver printer, dan jika aplikasi telah mengganti data yang disediakan driver dengan menggunakan fungsi escape printer POSTSCRIPT_INJECTION , tidak ada plug-in yang dipanggil.

Persyaratan

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