PRINTER_INFO_2 struttura

La struttura PRINTER_INFO_2 specifica informazioni dettagliate sulla stampante.

Sintassi

typedef struct _PRINTER_INFO_2 {
  LPTSTR               pServerName;
  LPTSTR               pPrinterName;
  LPTSTR               pShareName;
  LPTSTR               pPortName;
  LPTSTR               pDriverName;
  LPTSTR               pComment;
  LPTSTR               pLocation;
  LPDEVMODE            pDevMode;
  LPTSTR               pSepFile;
  LPTSTR               pPrintProcessor;
  LPTSTR               pDatatype;
  LPTSTR               pParameters;
  PSECURITY_DESCRIPTOR pSecurityDescriptor;
  DWORD                Attributes;
  DWORD                Priority;
  DWORD                DefaultPriority;
  DWORD                StartTime;
  DWORD                UntilTime;
  DWORD                Status;
  DWORD                cJobs;
  DWORD                AveragePPM;
} PRINTER_INFO_2, *PPRINTER_INFO_2;

Members

pServerName

Puntatore a una stringa con terminazione null che identifica il server che controlla la stampante. Se questa stringa è NULL, la stampante viene controllata localmente.

pPrinterName

Puntatore a una stringa con terminazione null che specifica il nome della stampante.

pShareName

Puntatore a una stringa con terminazione null che identifica il punto di condivisione per la stampante. Questa stringa viene usata solo se la costante PRINTER_ATTRIBUTE_SHARED è stata impostata per il membro Attributes .

pPortName

Puntatore a una stringa con terminazione null che identifica le porte usate per trasmettere i dati alla stampante. Se una stampante è connessa a più porte, i nomi di ogni porta devono essere separati da virgole, ad esempio "LPT1:,LPT2:,LPT3:").

pDriverName

Puntatore a una stringa con terminazione null che specifica il nome del driver della stampante.

pComment

Puntatore a una stringa con terminazione null che fornisce una breve descrizione della stampante.

pLocation

Puntatore a una stringa con terminazione null che specifica la posizione fisica della stampante, ad esempio "Bldg. 38, Room 1164").

pDevMode

Puntatore a una struttura DEVMODE che definisce i dati predefiniti della stampante, ad esempio l'orientamento della carta e la risoluzione.

pSepFile

Puntatore a una stringa con terminazione null che specifica il nome del file usato per creare la pagina separatore. Questa pagina viene usata per separare i processi di stampa inviati alla stampante.

pPrintProcessor

Puntatore a una stringa con terminazione null che specifica il nome del processore di stampa usato dalla stampante. È possibile usare la funzione EnumPrintProcessors per ottenere un elenco di processori di stampa installati in un server.

pDatatype

Puntatore a una stringa con terminazione null che specifica il tipo di dati usato per registrare il processo di stampa. È possibile usare la funzione EnumPrintProcessorDatatypes per ottenere un elenco di tipi di dati supportati da un processore di stampa specifico.

pParameters

Puntatore a una stringa con terminazione null che specifica i parametri predefiniti del processore di stampa.

pSecurityDescriptor

Puntatore a una struttura SECURITY_DESCRIPTOR per la stampante. Questo membro può essere NULL.

Attributes (Attributi)

Attributi della stampante. Questo membro può essere una combinazione ragionevole dei valori seguenti.

Valore Significato
PRINTER_ATTRIBUTE_DIRECT Il processo viene inviato direttamente alla stampante (non è spooled).
PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST Se set e stampante sono impostati per lo spooling di stampa, tutti i processi che hanno completato il spooling vengono pianificati per stampare prima che i processi che non abbiano completato il spooling.
PRINTER_ATTRIBUTE_ENABLE_DEVQ Se impostato, DevQueryPrint viene chiamato. DevQueryPrint potrebbe non riuscire se le configurazioni del documento e della stampante non corrispondono. L'impostazione di questo flag causa la mancata corrispondenza dei documenti nella coda.
PRINTER_ATTRIBUTE_HIDDEN Riservato.
PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS Se impostato, i processi vengono mantenuti dopo la stampa. Se non viene impostato, i processi vengono eliminati.
PRINTER_ATTRIBUTE_LOCAL La stampante è una stampante locale.
PRINTER_ATTRIBUTE_NETWORK La stampante è una connessione della stampante di rete.
PRINTER_ATTRIBUTE_PUBLISHED Indica se la stampante viene pubblicata nel servizio directory.
PRINTER_ATTRIBUTE_QUEUED Se impostata, la stampante spools e avvia la stampa dopo la spooling dell'ultima pagina. Se non è impostato e PRINTER_ATTRIBUTE_DIRECT non è impostato, lo spool della stampante e le stampe durante lo spooling.
PRINTER_ATTRIBUTE_RAW_ONLY Indica che è possibile eseguire lo spooling solo dei processi di stampa dei tipi di dati non elaborati.
PRINTER_ATTRIBUTE_SHARED La stampante è condivisa.

In Windows XP e versioni successive di Windows è anche possibile usare il valore seguente.

Valore Significato
PRINTER_ATTRIBUTE_FAX Se impostata, la stampante è una stampante fax. Questo può essere impostato solo da AddPrinter, ma può essere recuperato da EnumPrinters e GetPrinter.

In Windows Vista e versioni successive di Windows è anche possibile usare i valori seguenti.

Valore Significato
PRINTER_ATTRIBUTE_FRIENDLY_NAME Un computer è connesso a questa stampante e lo ha dato un nome descrittivo.
PRINTER_ATTRIBUTE_MACHINE La stampante è una connessione per computer.
PRINTER_ATTRIBUTE_PUSHED_USER La stampante è stata installata usando il criterio utente Connessioni stampanti push.
PRINTER_ATTRIBUTE_PUSHED_MACHINE La stampante è stata installata usando i criteri computer Connessioni stampante push.

In Windows Server 2003 è anche possibile usare il valore seguente.

Valore Significato
PRINTER_ATTRIBUTE_TS Indica che la stampante è attualmente connessa tramite un server terminale.

Priorità

Valore di priorità usato dal spooler per instradare i processi di stampa.

DefaultPriority

Valore di priorità predefinito assegnato a ogni processo di stampa.

StartTime

La prima volta in cui la stampante stampa un processo. Questo valore viene espresso come minuti trascorsi dalle 12:00 GMT (Greenwich Mean Time).

UntilTime

Ora più recente in cui la stampante stampa un processo. Questo valore viene espresso come minuti trascorsi dalle 12:00 GMT (Greenwich Mean Time).

Status

Stato della stampante. Questo membro può essere una combinazione ragionevole dei valori seguenti.

Valore Significato
PRINTER_STATUS_BUSY La stampante è occupata.
PRINTER_STATUS_DOOR_OPEN La porta della stampante è aperta.
PRINTER_STATUS_ERROR La stampante è in uno stato di errore.
PRINTER_STATUS_INITIALIZING È in corso l'inizializzazione della stampante.
PRINTER_STATUS_IO_ACTIVE La stampante si trova in uno stato di input/output attivo
PRINTER_STATUS_MANUAL_FEED La stampante si trova in uno stato di feed manuale.
PRINTER_STATUS_NO_TONER La stampante ha esaurito il toner.
PRINTER_STATUS_NOT_AVAILABLE La stampante non è disponibile per la stampa.
PRINTER_STATUS_OFFLINE La stampante non è in linea.
PRINTER_STATUS_OUT_OF_MEMORY La stampante ha esaurito memoria.
PRINTER_STATUS_OUTPUT_BIN_FULL Il cassetto di uscita della stampante è pieno.
PRINTER_STATUS_PAGE_PUNT La stampante non può stampare la pagina corrente.
PRINTER_STATUS_PAPER_JAM La carta viene inceppata nella stampante
PRINTER_STATUS_PAPER_OUT La stampante è fuori carta.
PRINTER_STATUS_PAPER_PROBLEM La stampante presenta un problema di carta.
PRINTER_STATUS_PAUSED La stampante viene sospesa.
PRINTER_STATUS_PENDING_DELETION La stampante viene eliminata.
PRINTER_STATUS_POWER_SAVE La stampante è in modalità risparmio energia.
PRINTER_STATUS_PRINTING La stampante sta stampando.
PRINTER_STATUS_PROCESSING La stampante elabora un processo di stampa.
PRINTER_STATUS_SERVER_UNKNOWN Lo stato della stampante è sconosciuto.
PRINTER_STATUS_TONER_LOW La stampante è bassa sul toner.
PRINTER_STATUS_USER_INTERVENTION La stampante ha un errore che richiede all'utente di eseguire qualcosa.
PRINTER_STATUS_WAITING La stampante è in attesa.
PRINTER_STATUS_WARMING_UP La stampante è in fase di riscaldamento.

cJobs

Numero di processi di stampa in coda per la stampante.

MediaPPM

Numero medio di pagine al minuto stampate sulla stampante.

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Winspool.h (include Windows.h)
Nomi Unicode e ANSI
_PRINTER_INFO_2W (Unicode) e _PRINTER_INFO_2A (ANSI)

Vedi anche

Stampa

Stampare strutture API Spooler

DEVMODE

Enumprinters

PRINTER_INFO_1

PRINTER_INFO_3

PRINTER_INFO_4

SECURITY_DESCRIPTOR