Metodo IPrintOemPS::Command (prcomoem.h)
Il metodo IPrintOemPS::Command viene usato dai plug-in di rendering per il driver della stampante PostScript di Microsoft, per inserire i comandi PostScript nel flusso di dati del processo di stampa.
Sintassi
HRESULT Command(
PDEVOBJ pdevobj,
DWORD dwIndex,
PVOID pData,
DWORD cbSize,
[out] OUT DWORD *pdwResult
);
Parametri
pdevobj
Puntatore fornito dal chiamante a una struttura DEVOBJ.
dwIndex
Valore fornito dal chiamante che rappresenta il punto di inserimento corrente all'interno del flusso di dati del processo di stampa. Per altre informazioni, vedere la sezione Osservazioni seguente.
pData
Non utilizzato.
cbSize
Non utilizzato.
[out] pdwResult
Riceve un valore fornito dal metodo che indica il risultato dell'operazione di inserimento. Se l'inserimento ha esito positivo, questo valore deve essere ERROR_SUCCESS. Se l'inserimento non riesce, il valore deve essere uno dei codici di errore definiti in winerror.h. Se il metodo non tenta di inserire dati per un valore dwIndex specificato, il valore deve essere ERROR_NOT_SUPPORTED.
Valore restituito
Il metodo deve restituire uno dei valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Operazione riuscita. |
|
Operazione non riuscita |
|
Il metodo non è implementato. |
Osservazioni
Il metodo IPrintOemPS::Command viene usato per inserire i comandi PostScript nel flusso di dati generato dal driver della stampante Microsoft PostScript . Se si vuole fornire questo metodo, è necessario definirlo in un plug-in di rendering.
Quando viene chiamato il metodo IPrintOemPS::Command, il relativo parametro dwIndex specifica il punto di inserimento corrente all'interno del flusso di dati del processo di stampa. Il metodo deve utilizzare questo valore per determinare quale operazione, se presente, eseguire. I valori di indice, definiti in wingdi.h, sono elencati nella tabella seguente.
Valore dell'indice | Al momento della ricezione |
---|---|
PSINJECT_BEGINDEFAULTS | Dopo che il driver della stampante invia %%BeginDefaults al flusso di dati. |
PSINJECT_BEGINPAGESETUP | Dopo che il driver della stampante invia %%BeginPageSetup al flusso di dati. |
PSINJECT_BEGINPROLOG | Dopo che il driver della stampante invia %%BeginProlog al flusso di dati. |
PSINJECT_BEGINSETUP | Dopo che il driver della stampante invia %%BeginSetup al flusso di dati. |
PSINJECT_BEGINSTREAM | Prima che il driver della stampante invii il primo byte del flusso di dati. |
PSINJECT_BOUNDINGBOX | Quando il driver della stampante è pronto per inserire %%BoundingBox: nel flusso di dati. I dati forniti da IPrintOemPS::Command sostituiscono il %%BoundingBoxdel driver: commento. |
PSINJECT_COMMENTS | Prima che il driver della stampante invii %%EndComments al flusso di dati. |
PSINJECT_DLFONT | Prima che il driver di stampa scarichi un tipo di carattere soft. |
PSINJECT_DOCNEEDEDRES |
Dopo che il driver della stampante invia %%DocumentNeededResources: al flusso di dati, insieme alle informazioni sulle risorse. Se il metodo IPrintOemPS::Command invia informazioni sulle risorse, viene aggiunto al flusso dopo le informazioni sulla risorsa del driver. Il formato di immissione è il seguente: %%+ ResourceTypeResourceNames Il driver della stampante invia %%DocumentNeededResources: dopo l'invio della sezione %%Trailer. |
PSINJECT_DOCSUPPLIEDRES |
Dopo che il driver della stampante invia %%DocumentSuppliedResources: al flusso di dati, insieme alle informazioni sulle risorse. Se il metodo IPrintOemPS::Command invia informazioni sulle risorse, viene aggiunto al flusso dopo le informazioni sulla risorsa del driver. Il formato di immissione è il seguente: %%+ ResourceTypeResourceNames Il driver della stampante invia %%DocumentSuppliedResources: dopo l'invio della sezione %%Trailer. |
PSINJECT_DOCUMENTPROCESSCOLORS | |
Quando il driver della stampante è pronto per inserire %%DocumentProcessColors:colore nel flusso di dati. I dati forniti da IPrintOemPS::Command sostituiscono il %%DocumentProcessColorsdel driver:colore commento. | |
PSINJECT_DOCUMENTPROCESSCOLORSATEND | |
Quando il driver della stampante è pronto per inserire %%DocumentProcessColors:(atend) nel flusso di dati. I dati forniti da IPrintOemPS::Command sostituiscono il commento %%DocumentProcessColorsdel driver :(atend). | |
PSINJECT_ENDDEFAULTS | Prima che il driver della stampante invii %%EndDefaults al flusso di dati. |
PSINJECT_ENDPAGECOMMENTS | Prima che il driver della stampante invii %%EndPageComments al flusso di dati. |
PSINJECT_ENDPAGESETUP | Prima che il driver della stampante invii %%EndPageSetup al flusso di dati. |
PSINJECT_ENDPROLOG | Prima che il driver della stampante invii %%EndProlog al flusso di dati. |
PSINJECT_ENDSETUP | Prima che il driver della stampante invii %%EndSetup al flusso di dati. |
PSINJECT_ENDSTREAM | Dopo che il driver della stampante invia l'ultimo byte del flusso di dati. |
PSINJECT_EOF | Dopo che il driver della stampante invia %%EOF al flusso di dati. |
PSINJECT_ORIENTATION | Quando il driver della stampante è pronto per inserire %%Orientation: nel flusso di dati. I dati forniti da IPrintOemPS::Command sostituiscono il %%Orientationdel driver: commento. |
PSINJECT_PAGEBBOX | Quando il driver della stampante è pronto per inserire %%PageBoundingBox: nel flusso di dati. I dati forniti da IPrintOemPS::Command sostituiscono il %%PageBoundingBoxdel driver: commento. |
PSINJECT_PAGENUMBER | Quando il driver della stampante è pronto per inserire %%Page: nel flusso di dati. I dati forniti da IPrintOemPS::Command sostituiscono il %%Pagedel driver: commento. |
PSINJECT_PAGEORDER | Quando il driver della stampante è pronto per inserire %%PageOrder: nel flusso di dati. I dati forniti da IPrintOemPS::Command sostituiscono il %%PageOrderdel driver: commento. |
PSINJECT_PAGES | Quando il driver della stampante è pronto per inserire %%Pages:nnn nel flusso di dati. I dati forniti da IPrintOemPS::Command sostituiscono il %%Pagesdel driver:nnn commento. |
PSINJECT_PAGESATEND | Quando il driver della stampante è pronto per inserire %%Pages:(atend) nel flusso di dati. I dati forniti da IPrintOemPS::Command sostituiscono il commento %%Pagesdel driver :(atend). |
PSINJECT_PAGETRAILER | Dopo che il driver della stampante invia %%PageTrailer al flusso di dati. |
PSINJECT_PLATECOLOR | Quando il driver della stampante è pronto per inserire %%PlateColor:colore nel flusso di dati. I dati forniti da IPrintOemPS::Command sostituiscono il %%PlateColordel driver:colore commento. |
PSINJECT_PSADOBE | Prima che il driver della stampante invii %! PS-Adobe al flusso di dati. |
PSINJECT_SHOWPAGE | Prima che il driver della stampante invii un comando showpage. |
PSINJECT_TRAILER | Dopo che il driver della stampante invia %%Trailer al flusso di dati. |
PSINJECT_VMRESTORE | Dopo che il driver della stampante invia un comando di ripristino . Il metodo IPrintOemPS::Command deve inviare nuovamente tutte le risorse inviate dopo l'ultimo PSINJECT_VMSAVE, se le risorse verranno riutilizzate. |
PSINJECT_VMSAVE | Prima che il driver della stampante invii un comando salvare. Vedere PSINJECT_VMRESTORE. |
Il metodo IPrintOemPS::Command deve chiamare IPrintOemDriverPS::D rvWriteSpoolBuf per inserire i comandi PostScript.
Se metodi IPrintOemPS::Command vengono esportati da più plug-in di rendering, i metodi vengono chiamati nell'ordine in cui vengono specificati i plug-in per l'installazione, ogni volta che il driver della stampante raggiunge un punto di inserimento. Si applicano le regole seguenti:
Se il punto di inserimento è uno per il quale vengono aggiunti dati forniti ai dati forniti dal driver della stampante, ogni plug-in viene chiamato e ogni plug-in può aggiungere comandi PostScript.
Se il punto di inserimento è uno per cui i dati forniti sostituiscono i dati forniti dal driver della stampante, i plug-in vengono chiamati fino a quando un metodo IPrintOemPS::Command fornisce ERROR_SUCCESS per dwResult. Non vengono chiamati altri plug-in. Se tutti i plug-in forniscono ERROR_NOT_SUPPORTED, i dati forniti dal driver non vengono sostituiti.
Se il punto di inserimento è uno per cui i dati forniti sostituiscono i dati forniti dal driver della stampante e se un'applicazione ha già sostituito i dati forniti dal driver utilizzando la funzione di escape della stampante POSTSCRIPT_INJECTION, non viene chiamato alcun plug-in.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | prcomoem.h (include Prcomoem.h) |