Metodo IPrintOemUni::EnablePDEV (prcomoem.h)

Il IPrintOemUni::EnablePDEV metodo consente a un plug-in di rendering per Unidrv di creare la propria struttura PDEV.

Sintassi

HRESULT EnablePDEV(
        PDEVOBJ       pdevobj,
        PWSTR         pPrinterName,
        ULONG         cPatterns,
        HSURF         *phsurfPatterns,
        ULONG         cjGdiInfo,
        GDIINFO       *pGdiInfo,
        ULONG         cjDevInfo,
        DEVINFO       *pDevInfo,
        DRVENABLEDATA *pded,
  [out] OUT PDEVOEM   *pDevOem
);

Parametri

pdevobj

Puntatore fornito dal chiamante a una struttura DEVOBJ .

pPrinterName

Puntatore fornito dal chiamante a una stringa di testo che rappresenta l'indirizzo logico della stampante.

cPatterns

Valore fornito dal chiamante che rappresenta il numero di handle di superficie tipizzata HSURF contenuti nel buffer a cui punta phsurfPatterns.

phsurfPatterns

Puntatore fornito dal chiamante a un buffer abbastanza grande per contenere il numero di handle di superficie tipizzato HSURF. Gli handle rappresentano modelli di riempimento della superficie.

cjGdiInfo

Valore fornito dal chiamante che rappresenta le dimensioni della struttura a cui punta pGdiInfo.

pGdiInfo

Puntatore fornito dal chiamante a una struttura GDIINFO .

cjDevInfo

Valore fornito dal chiamante che rappresenta le dimensioni della struttura a cui punta pDevInfo.

pDevInfo

Puntatore fornito dal chiamante a una struttura DEVINFO .

pded

Puntatore fornito dal chiamante a una struttura DRVENABLEDATA contenente gli indirizzi delle funzioni di collegamento DDI DDI del driver della stampante. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

[out] pDevOem

Riceve un puntatore fornito dal metodo a una struttura PDEV privata. Per altre informazioni, vedere la sezione Osservazioni seguenti.

Valore restituito

Il metodo deve restituire uno dei valori seguenti.

Codice restituito Descrizione
S_OK
Operazione completata.
E_FAIL
Operazione non riuscita
 

Se l'operazione ha esito negativo, il metodo deve chiamare SetLastError per impostare un codice di errore.

Commenti

Un plug-in di rendering per Unidrv deve implementare il IPrintOemUni::EnablePDEV metodo.

Il IPrintOemUni::EnablePDEV metodo esegue gli stessi tipi di operazioni della funzione DrvEnablePDEV esportata da una DLL grafica della stampante. Lo scopo è consentire a un plug-in di rendering di creare la propria struttura PDEV. Per altre informazioni sulle strutture PDEV, vedere Strutture PDEV personalizzate.

Se si specifica un plug-in di rendering che esporta il metodo, la DLL grafica della stampante di Undrv chiama il IPrintOemUni::EnablePDEV metodo dall'interno della funzione DrvEnablePDEV .

Il IPrintOemUni::EnablePDEV metodo deve allocare un'istanza della struttura PDEV privata, inizializzarla e restituire il relativo indirizzo come parametro pDevOem del metodo. Altri metodi plug-in ricevono l'indirizzo come membro pdevOEM della struttura DEVOBJ .

Il membro pdevOEM della struttura DEVOBJ non viene usato con il IPrintOemUni::EnablePDEV metodo .

Le strutture a cui puntano i valori dei parametri phsurfPatterns, pGdiInfo e pDevInfo sono le stesse che la funzione DrvEnablePDEV di Unidrv riceve. Il plug-in di rendering può modificare il contenuto della struttura in base alle esigenze. Può fornire modelli di riempimento della superficie ottenendo gli handle di superficie tipizzata HSURF e posizionandoli nel buffer a cui punta da phsurfPatterns. I tipi di modello di riempimento e l'ordine di gestione sono elencati nella descrizione di DrvEnablePDEV.

La struttura DRVENABLEDATApuntata da pded contiene gli indirizzi delle funzioni DDI grafiche fornite dalla DLL grafica di Unidrv. È possibile fornire funzioni di collegamento personalizzate nel plug-in per queste funzioni DDI grafiche. Il contenuto della struttura DRVENABLEDATA consente alle funzioni di collegamento personalizzate di richiamare le funzioni DDI della grafica del driver. Per altre informazioni, vedere Funzioni DDI grafica personalizzate.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione prcomoem.h (include Prcomoem.h)