Funzione ExtDeviceMode (winspool.h)
La funzione ExtDeviceMode viene fornita solo per la compatibilità con le applicazioni a 16 bit. I driver della stampante senza questo requisito devono usare invece la funzione DocumentProperties, descritta nella documentazione di Microsoft Windows SDK.
La funzione ExtDeviceMode recupera o modifica le informazioni di inizializzazione della stampante per un determinato driver grafico oppure visualizza una finestra delle proprietà di configurazione della stampante fornita dal driver per la stampante specificata.
Sintassi
LONG ExtDeviceMode(
[in, optional] HWND hWnd,
[in, optional] HANDLE hInst,
[in, out] LPDEVMODEA pDevModeOutput,
[in, optional] LPSTR pDeviceName,
[in, optional] LPSTR pPort,
[in, optional] LPDEVMODEA pDevModeInput,
[in, optional] LPSTR pProfile,
DWORD fMode
);
Parametri
[in, optional] hWnd
Handle nella finestra padre per la finestra delle proprietà della configurazione della stampante.
[in, optional] hInst
Non usato. Gestire l'istanza del modulo del driver di dispositivo.
[in, out] pDevModeOutput
Puntatore alla struttura DEVMODE che riceve i dati di configurazione della stampante forniti nel buffer a cui punta il parametro pDevModeInput .
[in, optional] pDeviceName
Puntatore a una stringa con terminazione NULL contenente il nome del dispositivo per cui viene visualizzata la finestra delle proprietà di configurazione della stampante.
[in, optional] pPort
Puntatore a una stringa con terminazione NULL contenente il nome della porta a cui è connesso il dispositivo, ad esempio LPT1.
[in, optional] pDevModeInput
Puntatore alla struttura DEVMODE utilizzata dal sistema operativo per inizializzare i campi della finestra delle proprietà.
Questo parametro viene usato solo se il flag DM_IN_BUFFER è impostato nel parametro fMode . Se DM_IN_BUFFER non è impostato, il sistema operativo utilizza la struttura DEVMODE predefinita della stampante.
[in, optional] pProfile
Non usato. Puntatore a una stringa con terminazione NULL contenente il nome del file di inizializzazione da cui vengono registrate e lette le informazioni di inizializzazione.
fMode
Specifica le operazioni eseguite dalla funzione. Se questo parametro è zero, la funzione ExtDeviceMode restituisce il numero di byte richiesti dalla struttura DEVMODE del driver della stampante. In caso contrario, questo parametro può essere impostato su uno o più dei valori di flag seguenti.
Flag | Descrizione |
---|---|
DM_COPY | Scrivere le impostazioni correnti del driver nella struttura DEVMODE a cui punta il parametro pDevModeOutput . L'applicazione chiamante deve allocare un buffer di dimensioni sufficienti per contenere le informazioni. Se questo flag non è impostato, pDevModeOutput può essere NULL. |
DM_IN_BUFFER | Unire le impostazioni di stampa correnti del driver della stampante con le impostazioni nella struttura DEVMODE a cui punta il parametro pDevModeInput . Ciò si verifica prima di richiedere, copiare o aggiornare. La funzione aggiorna la struttura solo per i membri specificati dal membro dmFields della struttura DEVMODE. In caso di conflitto durante l'unione, le impostazioni nella struttura DEVMODE a cui punta pDevModeInput eseguono l'override delle impostazioni di stampa correnti del driver della stampante. |
DM_UPDATE | Visualizzare una finestra delle proprietà per consentire all'utente di modificare le proprietà della stampante e quindi scrivere le impostazioni correnti "per utente" del driver nell'hive dell'utente nel Registro di sistema. |
Valore restituito
Se il parametro wMode è zero, la funzione restituisce le dimensioni, in byte, della struttura DEVMODE necessaria per contenere i dati di inizializzazione del driver della stampante. Si noti che questo valore può essere maggiore della dimensione di una struttura DEVMODE se il driver della stampante aggiunge dati privati alla struttura. Se la funzione visualizza la finestra di dialogo di inizializzazione, il valore restituito è IDOK o IDCANCEL, a seconda del pulsante scelto dall'utente. Se la funzione non visualizza la finestra di dialogo e ha avuto esito positivo, il valore restituito è IDOK. Se la funzione ha esito negativo, il valore restituito è minore di zero.
Commenti
La funzione ExtDeviceMode chiama la funzione DocumentProperties (descritta nella documentazione di Windows SDK) per visualizzare una finestra delle proprietà che consente a un utente di selezionare le opzioni della stampante, ad esempio formato carta, orientamento della carta e qualità di output. I driver della stampante scritti per Windows 3.x e Windows 9x usano questa funzione.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | winspool.h (include Winspool.h) |
Libreria | Winspool.lib |
DLL | WinSpool.drv |