Funzione DrvDeviceCapabilities (winddiui.h)

La funzione DrvDeviceCapabilities di una DLL dell'interfaccia della stampante restituisce informazioni richieste sulle funzionalità di una stampante.

Sintassi

DWORD DrvDeviceCapabilities(
                 HANDLE   hPrinter,
  [in]           PWSTR    pszDeviceName,
                 WORD     Capability,
  [out]          PVOID    pOutput,
  [in, optional] PDEVMODE pDevmode
);

Parametri

hPrinter

Handle stampante fornito dal chiamante.

[in] pszDeviceName

Puntatore fornito dal chiamante a una stringa di nome della stampante.

Capability

Flag bit fornito dal chiamante che indica le informazioni richieste. Questo può essere uno dei flag elencati nella tabella seguente. I flag sono definiti nel file di intestazione Wingdi.h.

Flag Definizione
DC_BINADJUST Non usato per i sistemi operativi basati su NT.
DC_BINNAMES Il parametro pOutput punta a un buffer che la funzione deve riempire con una matrice di buffer stringa, ogni 24 caratteri in lunghezza. Ogni buffer stringa nella matrice deve contenere una stringa con carattere wide, con terminazione NULL che specifica il nome di un contenitore di origine carta. Il valore restituito della funzione deve essere il numero di elementi nella matrice restituita. Se pOutput è NULL, la funzione deve restituire solo il numero di elementi della matrice necessari.
DC_BINS Il parametro pOutput punta a un buffer che la funzione deve riempire con una matrice WORD. Ogni elemento matrice deve contenere una costante con prefisso DMBIN (o valore personalizzato) che rappresenta un contenitore di origine carta supportato. Il valore restituito della funzione deve essere il numero di elementi nella matrice restituita. Se pOutput è NULL, la funzione deve restituire solo il numero di elementi della matrice necessari.
DC_COLLATE Il parametro pOutput non viene usato. Il valore restituito della funzione deve essere 1 se la stampante supporta la confronto; in caso contrario, il valore restituito deve essere zero.
DC_COLORDEVICE Il parametro pOutput non viene usato. Il valore restituito della funzione deve essere 1 se la stampante supporta la stampa a colori; in caso contrario, il valore restituito deve essere zero.
DC_COPIES Il parametro pOutput non viene usato. Il valore restituito della funzione deve essere il numero massimo di copie che la stampante può supportare.
DC_DATATYPE_PRODUCED Non usato per i sistemi operativi basati su NT.
DC_DRIVER Il parametro pOutput non viene usato. Il valore restituito della funzione deve essere il membro dmDriverVersion della struttura interna del driver [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).
DC_DUPLEX Il parametro pOutput non viene usato. Il valore restituito della funzione deve essere 1 se la stampante supporta la stampa duplex; in caso contrario, il valore restituito deve essere zero.
DC_EMF_COMPLIANT Non usato per i sistemi operativi basati su NT.
DC_ENUMRESOLUTIONS Il parametro pOutput punta a un buffer che la funzione deve riempire con una matrice LONG. Per ogni risoluzione supportata dalla stampante, la funzione deve restituire due parole lunghe (una per la dimensione x e una per la dimensione y ) della risoluzione, in punti per pollice. Il valore restituito della funzione deve essere il numero di risoluzioni supportate. Se pOutput è NULL, la funzione deve restituire solo il numero di risoluzioni supportate.
DC_EXTRA Il parametro pOutput non viene usato. Il valore restituito della funzione deve essere il membro dmDriverExtra della struttura interna del driver [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).
DC_FIELDS Il parametro pOutput non viene usato. Il valore restituito della funzione deve essere il membro dmFields della struttura interna del driver [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew). Il membro dmFields indica quali membri nella parte indipendente dal dispositivo della struttura DEVMODEW sono supportati dal driver della stampante.
DC_FILEDEPENDENCIES Il parametro pOutput punta a un buffer che la funzione deve riempire con una matrice di buffer stringa, ogni 64 caratteri in lunghezza. Ogni buffer di stringa nella matrice deve contenere una stringa con terminazione NULL wide che specifica il nome di un file che deve essere installato con il driver. Il valore restituito della funzione deve essere il numero di elementi nella matrice restituita. Se pOutput è NULL, la funzione deve restituire solo il numero di elementi della matrice necessari.
DC_MANUFACTURER Non usato per i sistemi operativi basati su NT.
DC_MAXEXTENT Il parametro pOutput non viene usato. La funzione deve restituire una struttura POINTS (descritta nella documentazione di Microsoft Windows SDK). La struttura deve contenere i valori massimi consentiti per la struttura dmPaperWidth (dimensione x ) e dmPaperLength (dimensione y ) della struttura DEVMODEW della stampante.
DC_MEDIAREADY Il parametro pOutput punta a un buffer che la funzione deve riempire con una matrice di buffer stringa, ogni 64 caratteri in lunghezza. Ogni buffer stringa nella matrice deve contenere una stringa con caratteri wide, con terminazione NULL che specifica il nome di un modulo di carta disponibile per l'uso. Il valore restituito della funzione deve essere il numero di elementi nella matrice restituita. Se pOutput è NULL, la funzione deve restituire solo il numero di elementi della matrice necessari.
DC_MEDIATYPENAMES Il parametro pOutput punta a un buffer che la funzione deve riempire con una matrice di buffer stringa, ogni 64 caratteri in lunghezza. Ogni buffer stringa nella matrice deve contenere una stringa con carattere wide, con terminazione NULL che specifica il nome di un tipo di supporto supportato. Il valore restituito della funzione deve essere il numero di elementi nella matrice restituita. Se pOutput è NULL, la funzione deve semplicemente restituire il numero di elementi della matrice necessari.
DC_MEDIATYPES Il parametro pOutput punta a un buffer che la funzione deve riempire con una matrice DWORD. Ogni elemento array deve contenere una costante con prefisso DMMEDIA (vedere la struttura [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) o personalizzata che rappresenta un tipo di supporto supportato. Il valore restituito della funzione deve essere il numero di elementi nella matrice restituita. Se pOutput è NULL, la funzione deve semplicemente restituire il numero di elementi della matrice necessari.
DC_MINEXTENT Il parametro pOutput non viene usato. La funzione deve restituire una struttura POINTS (descritta nella documentazione di Windows SDK). La struttura deve contenere i valori minimi consentiti per la struttura dmPaperWidth (dimensione x ) e dmPaperLength (dimensione y ) della struttura DEVMODEW della stampante.
DC_MODEL Non usato per i sistemi operativi basati su NT.
DC_NUP Il parametro pOutput punta a un buffer che la funzione deve riempire con una matrice DWORD. Ogni elemento matrice deve contenere un numero intero che rappresenta un'opzione N-up, ovvero ogni intero deve rappresentare un numero supportato di pagine documento per ogni pagina fisica. Il valore restituito della funzione deve essere il numero di elementi nella matrice restituita. Se pOutput è NULL, la funzione deve restituire solo il numero di elementi della matrice necessari.
DC_ORIENTATION Il parametro pOutput non viene usato. Il valore restituito della funzione deve essere il numero di gradi di rotazione necessari per produrre orientamento orizzontale dall'orientamento verticale. Un valore pari a zero indica che l'orientamento orizzontale non è supportato.
DC_PAPERNAMES Il parametro pOutput punta a un buffer che la funzione deve riempire con una matrice di buffer stringa, ogni 64 caratteri in lunghezza. Ogni buffer stringa nella matrice deve contenere una stringa con carattere wide, con terminazione NULL che specifica il nome di un modulo di carta. Il valore restituito della funzione deve essere il numero di elementi nella matrice restituita. Se pOutput è NULL, la funzione deve restituire solo il numero di elementi della matrice necessari.
DC_PAPERS Il parametro pOutput punta a un buffer che la funzione deve riempire con una matrice WORD. Ogni elemento matrice deve contenere una costante DMPAPER con prefisso (o valore personalizzato) che rappresenta un modulo di carta supportato. Il valore restituito della funzione deve essere il numero di elementi nella matrice restituita. Se pOutput è NULL, la funzione deve restituire solo il numero di elementi della matrice necessari.
DC_PAPERSIZE Il parametro pOutput punta a un buffer che la funzione deve riempire con una matrice POINT. Ogni elemento matrice deve contenere le dimensioni x e y delle dimensioni della carta di un modulo, in unità di 0,1 mm, in orientamento verticale. Il valore restituito della funzione deve essere il numero di elementi nella matrice restituita. Se pOutput è NULL, la funzione deve restituire solo il numero di elementi della matrice necessari.
DC_PERSONALITY Il parametro pOutput punta a un buffer che la funzione deve riempire con una matrice di buffer stringa, ogni 32 caratteri in lunghezza. Ogni buffer di stringa nella matrice deve contenere una stringa con terminazione NULL wide che specifica il linguaggio di descrizione della stampante supportato dalla stampante ,ad esempio L"HP-GL/2"). Il valore restituito della funzione deve essere il numero di elementi nella matrice restituita. Se pOutput è NULL, la funzione deve restituire solo il numero di elementi della matrice necessari.
DC_PRINTERMEM Il parametro pOutput non viene usato. Il valore restituito della funzione deve essere un intero che rappresenta la quantità di memoria della stampante disponibile, in kilobyte.
DC_PRINTRATE Il parametro pOutput non viene usato. Il valore restituito della funzione deve essere un intero che rappresenta la frequenza di stampa, nelle unità specificate per DC_PRINTRATEUNIT.
DC_PRINTRATEPPM Il parametro pOutput non viene usato. Il valore restituito della funzione deve essere un intero che rappresenta la frequenza di stampa, nelle pagine al minuto.
DC_PRINTRATEUNIT Il parametro pOutput non viene usato. Il valore restituito della funzione deve identificare le unità usate per specificare il valore restituito per DC_PRINTRATE. È necessario specificare una delle costanti seguenti: PRINTRATEUNIT_PPM - pagine/min. PRINTRATEUNIT_CPS - chars./sec. PRINTRATEUNIT_LPM - righe/min. PRINTRATEUNIT_IPM - pollici/min.
DC_SIZE Il parametro pOutput non viene usato. Il valore restituito della funzione deve essere il membro dmSize della struttura interna del driver [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).
DC_STAPLE Il parametro pOutput non viene usato. Il valore restituito della funzione deve essere TRUE se la stampante supporta lo stapling e FALSE se la stampante non supporta l'apling.
DC_TRUETYPE Il parametro pOutput non viene usato. Il valore restituito della funzione può essere zero, uno o più dei flag seguenti: DCTT_BITMAP: il dispositivo può stampare i tipi di carattere TrueType come grafica. DCTT_DOWNLOAD: il dispositivo può accettare tipi di carattere TrueType scaricati. DCTT_DOWNLOAD_OUTLINE: (solo Windows 95/98/Me) Il dispositivo può scaricare i tipi di carattere TrueType. DCTT_SUBDEV: il dispositivo può sostituire i tipi di carattere del dispositivo per i tipi di carattere TrueType.
DC_VERSION Il parametro pOutput non viene usato. Il valore restituito della funzione deve essere il membro dmSpecVersion della struttura interna del driver [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew).

[out] pOutput

Puntatore fornito dal chiamante a un buffer per ricevere informazioni fornite dalla funzione. L'uso del buffer dipende dal valore ricevuto per il parametro Capability .

[in, optional] pDevmode

Puntatore fornito dal chiamante a una struttura DEVMODEW che descrive le caratteristiche correnti del processo di stampa. Se questo parametro è NULL, DrvDeviceCapabilities recupera i valori di inizializzazione predefiniti correnti per il driver di stampante specificato, ad esempio la struttura DEVMODEW predefinita dell'utente della coda di stampa.

Valore restituito

Il valore restituito della funzione dipende dal valore ricevuto per il parametro Capability . Se il valore funzionalità ricevuto rappresenta una funzionalità che il driver non supporta o se viene rilevato un errore, la funzione deve restituire GDI_ERROR.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione winddiui.h (include Winddiui.h)