Funzione DeviceCapabilitiesA (wingdi.h)
La funzione DeviceCapabilities recupera le funzionalità di un driver della stampante.
Sintassi
int DeviceCapabilitiesA(
[in] LPCSTR pDevice,
[in] LPCSTR pPort,
[in] WORD fwCapability,
[out] LPSTR pOutput,
[in] const DEVMODEA *pDevMode
);
Parametri
[in] pDevice
Puntatore a una stringa con terminazione Null contenente il nome della stampante. Si noti che si tratta del nome della stampante, non del driver della stampante.
[in] pPort
Puntatore a una stringa con terminazione Null contenente il nome della porta a cui è connesso il dispositivo, ad esempio LPT1.
[in] fwCapability
Funzionalità di cui eseguire query. Questo parametro può avere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Recupera i nomi dei contenitori di carta della stampante. Il buffer pOutput riceve una matrice di buffer di stringhe. Ogni buffer di stringhe è lungo 24 caratteri e contiene il nome di un contenitore di carta. Il valore restituito indica il numero di voci nella matrice. Le stringhe dei nomi vengono terminate con null, a meno che il nome non sia lungo 24 caratteri. Se pOutput è NULL, il valore restituito è il numero di voci bin necessarie. |
|
Recupera un elenco di contenitori di carta disponibili. Il buffer pOutput riceve una matrice di valori WORD che indicano le origini di carta disponibili per la stampante. Il valore restituito indica il numero di voci nella matrice. Per un elenco dei possibili valori di matrice, vedere la descrizione del membro dmDefaultSource della struttura DEVMODE . Se pOutput è NULL, il valore restituito indica il numero richiesto di voci nella matrice. |
|
Se la stampante supporta la compressione, il valore restituito è 1; in caso contrario, il valore restituito è zero. Il parametro pOutput non viene usato. |
|
Se la stampante supporta la stampa a colori, il valore restituito è 1; in caso contrario, il valore restituito è zero. Il parametro pOutput non viene usato. |
|
Restituisce il numero di copie che il dispositivo può stampare. |
|
Restituisce il numero di versione del driver della stampante. |
|
Se la stampante supporta la stampa duplex, il valore restituito è 1; in caso contrario, il valore restituito è zero. Il parametro pOutput non viene usato. |
|
Recupera un elenco delle risoluzioni supportate dalla stampante. Il buffer pOutput riceve una matrice di valori LONG . Per ogni risoluzione supportata, la matrice contiene una coppia di valori LONG che specificano le dimensioni x e y della risoluzione, in punti per pollice. Il valore restituito indica il numero di risoluzioni supportate. Se pOutput è NULL, il valore restituito indica il numero di risoluzioni supportate. |
|
Restituisce il numero di byte necessari per la parte specifica del dispositivo della struttura DEVMODE per il driver della stampante. |
|
Restituisce il membro dmFields della struttura DEVMODE del driver della stampante. Il membro dmFields indica quali membri nella parte indipendente dal dispositivo della struttura sono supportati dal driver della stampante. |
|
Recupera i nomi di eventuali file aggiuntivi che devono essere caricati quando viene installato un driver. Il buffer pOutput riceve una matrice di buffer di stringhe. Ogni buffer di stringa è lungo 64 caratteri e contiene il nome di un file. Il valore restituito indica il numero di voci nella matrice. Le stringhe dei nomi vengono terminate con null, a meno che il nome non sia lungo 64 caratteri. Se pOutput è NULL, il valore restituito è il numero di file. |
|
Restituisce le dimensioni massime della carta che i membri dmPaperLength e dmPaperWidth della struttura DEVMODE del driver della stampante possono specificare. Il valore LOWORD del valore restituito contiene il valore dmPaperWidth massimo e HIWORD contiene il valore massimo dmPaperLength . |
|
Recupera i nomi dei moduli cartacei attualmente disponibili per l'uso. Il buffer pOutput riceve una matrice di buffer di stringhe. Ogni buffer di stringhe è lungo 64 caratteri e contiene il nome di un modulo cartaceo. Il valore restituito indica il numero di voci nella matrice. Le stringhe dei nomi vengono terminate con null, a meno che il nome non sia lungo 64 caratteri. Se pOutput è NULL, il valore restituito corrisponde al numero di moduli cartacei. |
|
Recupera i nomi dei tipi di supporti supportati. Il buffer pOutput riceve una matrice di buffer di stringhe. Ogni buffer di stringa è lungo 64 caratteri e contiene il nome di un tipo di supporto supportato. Il valore restituito indica il numero di voci nella matrice. Le stringhe sono con terminazione Null, a meno che il nome non sia lungo 64 caratteri. Se pOutput è NULL, il valore restituito è il numero di nomi dei tipi di supporto necessari. |
|
Recupera un elenco di tipi di supporti supportati. Il buffer pOutput riceve una matrice di valori DWORD che indicano i tipi di supporti supportati. Il valore restituito indica il numero di voci nella matrice. Per un elenco dei possibili valori di matrice, vedere la descrizione del membro dmMediaType della struttura DEVMODE . Se pOutput è NULL, il valore restituito indica il numero richiesto di voci nella matrice. |
|
Restituisce le dimensioni minime della carta che possono essere specificate dai membri dmPaperLength e dmPaperWidth della struttura DEVMODE del driver della stampante. Il valore LOWORD del valore restituito contiene il valore minimo dmPaperWidth e HIWORD contiene il valore minimo dmPaperLength . |
|
Restituisce la relazione tra orientamento verticale e orizzontale per un dispositivo, in termini di numero di gradi che l'orientamento verticale viene ruotato in senso antiorario per produrre l'orientamento orizzontale. Il valore restituito può essere uno dei seguenti:
|
|
Recupera una matrice di numeri interi che indicano che la stampante può stampare più pagine documento per pagina stampata. Il buffer pOutput riceve una matrice di valori DWORD . Ogni valore rappresenta un numero supportato di pagine di documenti per pagina stampata. Il valore restituito indica il numero di voci nella matrice. Se pOutput è NULL, il valore restituito indica il numero richiesto di voci nella matrice. |
|
Recupera un elenco di nomi di carta supportati, ad esempio Lettera o Legale. Il buffer pOutput riceve una matrice di buffer di stringhe. Ogni buffer di stringhe è lungo 64 caratteri e contiene il nome di un modulo cartaceo. Il valore restituito indica il numero di voci nella matrice. Le stringhe dei nomi vengono terminate con null, a meno che il nome non sia lungo 64 caratteri. Se pOutput è NULL, il valore restituito corrisponde al numero di moduli cartacei. |
|
Recupera un elenco di formati di carta supportati. Il buffer pOutput riceve una matrice di valori WORD che indicano le dimensioni della carta disponibili per la stampante. Il valore restituito indica il numero di voci nella matrice. Per un elenco dei possibili valori di matrice, vedere la descrizione del membro dmPaperSize della struttura DEVMODE . Se pOutput è NULL, il valore restituito indica il numero richiesto di voci nella matrice. |
|
Recupera le dimensioni, in decimi di millimetri, di ogni dimensione di carta supportata. Il buffer pOutput riceve una matrice di strutture POINT . Ogni struttura contiene la larghezza (dimensione x) e la lunghezza (dimensione y) di una carta come se la carta fosse nell'orientamento DMORIENT_PORTRAIT . Il valore restituito indica il numero di voci nella matrice. |
|
Recupera un elenco di lingue di descrizione della stampante supportate dalla stampante. Il buffer pOutput riceve una matrice di buffer di stringhe. Ogni buffer è lungo 32 caratteri e contiene il nome di una lingua di descrizione della stampante. Il valore restituito indica il numero di voci nella matrice. Le stringhe dei nomi vengono terminate con null, a meno che il nome non sia lungo 32 caratteri. Se pOutput è NULL, il valore restituito indica il numero richiesto di voci di matrice. |
|
Il valore restituito è la quantità di memoria disponibile della stampante, espressa in kilobyte. Il parametro pOutput non viene usato. |
|
Il valore restituito indica la frequenza di stampa della stampante. Il valore restituito per DC_PRINTRATEUNIT indica le unità del valore DC_PRINTRATE . Il parametro pOutput non viene usato. |
|
Il valore restituito indica la frequenza di stampa della stampante, in pagine al minuto. Il parametro pOutput non viene usato. |
|
Il valore restituito è uno dei valori seguenti che indicano le unità di frequenza di stampa per il valore restituito per il flag DC_PRINTRATE . Il parametro pOutput non viene usato.
|
|
Restituisce il membro dmSize della struttura DEVMODE del driver della stampante. |
|
Se la stampante supporta l'apling, il valore restituito è un valore diverso da zero; in caso contrario, il valore restituito è zero. Il parametro pOutput non viene usato. |
|
Recupera le capacità del driver per l'uso dei tipi di carattere TrueType. Per DC_TRUETYPE, il parametro pOutput deve essere NULL. Il valore restituito può essere uno o più dei seguenti:
|
|
Restituisce la versione specifica alla quale è conforme il driver della stampante. |
[out] pOutput
Puntatore a una matrice. Il formato della matrice dipende dall'impostazione del parametro fwCapability . Vedere ogni funzionalità precedente per scoprire cosa viene restituito se pOutput è NULL.
[in] pDevMode
Puntatore a una struttura DEVMODE . Se questo parametro è NULL, DeviceCapabilities recupera i valori di inizializzazione predefiniti correnti per il driver della stampante specificato. In caso contrario, la funzione recupera i valori contenuti nella struttura in cui pDevMode punta.
Valore restituito
Se la funzione ha esito positivo, il valore restituito dipende dall'impostazione del parametro fwCapability . Un valore restituito pari a zero indica in genere che, mentre la funzione è stata completata correttamente, si è verificato un tipo di errore, ad esempio una funzionalità non supportata. Per altri dettagli, vedere le descrizioni dei valori fwCapability .
Se la funzione restituisce -1, ciò può significare che la funzionalità non è supportata o si è verificato un errore di funzione generale.
Commenti
Se un driver della stampante supporta funzionalità di dispositivo personalizzate, il driver deve chiamare la funzione SetPrinterData per ogni funzionalità personalizzata. La funzione SetPrinterData aggiunge i dati della stampante appropriati al sistema di stampa, che consente alle applicazioni a 32 bit di accedere alle funzionalità personalizzate nelle installazioni di Windows a 64 bit.
Per ogni funzionalità personalizzata, è innanzitutto necessario aggiungere dati della stampante che descrivono il tipo di funzionalità. A tale scopo, quando si chiama SetPrinterData, impostare la stringa pValueName su CustomDeviceCapabilityType_Xxx, dove "Xxx" è la rappresentazione esadecimale della funzionalità. Ad esempio, si potrebbe avere "CustomDeviceCapabilityType_1234". I dati del Registro di sistema impostati devono essere del tipo REG_DWORD ed è necessario impostarne il valore su uno dei seguenti:
- 0, se la funzionalità personalizzata è un DWORD
- 1, se la funzionalità personalizzata è un buffer di byte
- 2, se la funzionalità personalizzata è una matrice di elementi
Nota
L'intestazione wingdi.h definisce DeviceCapabilities come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wingdi.h (include Windows.h) |
Libreria | WinSpool.lib |
DLL | WinSpool.drv |