Metodo IPrintOemUni::D riverDMS (prcomoem.h)
Il IPrintOemUni::DriverDMS
metodo consente a un plug-in di rendering per Unidrv di indicare che usa una superficie di disegno gestita dal dispositivo.
Sintassi
HRESULT DriverDMS(
PVOID pDevObj,
PVOID pBuffer,
DWORD cbSize,
PDWORD pcbNeeded
);
Parametri
pDevObj
Puntatore fornito dal chiamante a una struttura DEVOBJ .
pBuffer
Puntatore fornito dal chiamante a un buffer per ricevere flag specificati dal metodo. Vedere la sezione Osservazioni seguenti.
cbSize
Dimensioni fornite dal chiamante, in byte, del buffer a cui punta pBuffer.
pcbNeeded
Puntatore fornito dal chiamante a una posizione per ricevere le dimensioni minime minime necessarie.
Valore restituito
Il metodo deve restituire uno dei valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
Operazione non riuscita |
Commenti
Un plug-in di rendering per Unidrv deve implementare il IPrintOemUni::DriverDMS
metodo. Il metodo verrà chiamato solo se Unidrv trova un puntatore di interfaccia valido al plug-in di rendering dell'OEM.
Il IPrintOemUni::DriverDMS
metodo consente a un plug-in di rendering di indicare che verrà usata una superficie di disegno gestita dal dispositivo anziché la superficie gestita da GDI predefinita.
Il metodo deve specificare flag con prefisso HOOK_ nel buffer a cui fa riferimento pBuffer, che indica quale delle funzioni di hook DDI DDI per la grafica del plug-in deve essere chiamata per la superficie di disegno. I flag con prefisso HOOK_ sono definiti in winddi.h e descritti nella descrizione della funzione EngAssociateSurface . I flag specificati da IPrintOemUni::DriverDMS
vengono passati da Unidrv a EngAssociateSurface. Si noti che per supportare una superficie gestita dal dispositivo, il plug-in di rendering deve collegare tutte le funzioni di disegno. Per altre informazioni, vedere Gestione delle superfici Device-Managed.
Se IPrintOemUni::DriverDMS
imposta i flag nel buffer a cui fa riferimento pBuffer, Unidrv crea una superficie gestita dal dispositivo chiamando EngCreateDeviceSurface. Se IPrintOemUni::DriverDMS
non imposta alcun flag, Unidrv crea una superficie gestita da GDI chiamando EngCreateBitmap. In uno di questi casi, IPrintOemUni::DriverDMS
deve restituire S_OK.
Se le dimensioni del buffer di output specificate da cbSize sono troppo piccole, il metodo deve specificare le dimensioni necessarie nella posizione a cui punta pcbNeed, chiamare SetLastError(ERROR_INSUFFICIENT_BUFFER) e restituire E_FAIL.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | prcomoem.h (include Prcomoem.h) |