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 |
|
Libreria |
|
DLL |
|
Nomi Unicode e ANSI |
EnumFormsW (Unicode) e EnumFormsA (ANSI) |