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