Condividi tramite


Funzione EnumForms

La funzione EnumForms enumForms enumera i moduli supportati dalla stampante specificata.

Sintassi

BOOL EnumForms(
  _In_  HANDLE  hPrinter,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pForm,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

Parametri

hPrinter [in]

Handle nella stampante per cui è necessario enumerare i moduli. Usare la funzione OpenPrinter o AddPrinter per recuperare un handle della stampante.

Livello [in]

Specifica la versione della struttura a cui punta pForm . Questo valore deve essere 1 o 2.

pForm [out]

Puntatore a una o più strutture FORM_INFO_1 o a una o più strutture FORM_INFO_2 . Tutte le strutture avranno lo stesso livello.

cbBuf [in]

Specifica le dimensioni, in byte, del buffer a cui punta pForm .

pcbNeeded [out]

Puntatore a una variabile che riceve il numero di byte copiati nella matrice in cui i punti pForm (se l'operazione ha esito positivo) o il numero di byte necessari (se ha esito negativo perché cbBuf è troppo piccolo).

pcReturned [out]

Puntatore a una variabile che riceve il numero di strutture copiate nella matrice in cui pForm punta.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero.

Commenti

Nota

Si tratta di una funzione di blocco o sincrona e potrebbe non restituire immediatamente. La velocità con cui questa funzione restituisce dipende da fattori di runtime come lo stato della rete, la configurazione del server di stampa e i fattori di implementazione del driver della stampante difficili da prevedere durante la scrittura di un'applicazione. La chiamata a questa funzione da un thread che gestisce l'interazione con l'interfaccia utente potrebbe rendere l'applicazione non rispondente.

Se il chiamante è remoto e il livello è 2, il valore StringTypedelle strutture FORM_INFO_2 restituite sarà sempre STRING_LANGPAIR.

In Windows Vista, i dati del modulo restituiti da EnumForms vengono recuperati da una cache locale quando hPrinter fa riferimento a un server di stampa remoto o a una stampante ospitata da un server di stampa ed è presente almeno una connessione aperta a una stampante nel server di stampa remoto. In tutte le altre configurazioni, i dati del modulo vengono sottoposti a query dal server di stampa remoto.

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Winspool.h (includere Windows.h)
Libreria
Winspool.lib
DLL
Winspool.drv
Nomi Unicode e ANSI
EnumFormsW (Unicode) e EnumFormsA (ANSI)

Vedi anche

Stampa

Funzioni dell'API spooler di stampa

Addprinter

FORM_INFO_1

OpenPrinter