Funzione EnumPorts
La funzione EnumPorts enumPorts enumera le porte disponibili per la stampa in un server specificato.
Sintassi
BOOL EnumPorts(
_In_ LPTSTR pName,
_In_ DWORD Level,
_Out_ LPBYTE pPorts,
_In_ DWORD cbBuf,
_Out_ LPDWORD pcbNeeded,
_Out_ LPDWORD pcReturned
);
Parametri
-
pName [in]
-
Puntatore a una stringa con terminazione Null che specifica il nome del server le cui porte della stampante si desidera enumerare.
Se pName è NULL, la funzione enumera le porte della stampante del computer locale.
-
Livello [in]
-
Tipo di informazioni restituite nel buffer pPorts . Se Level è 1, pPorts riceve una matrice di strutture PORT_INFO_1 . Se Level è 2, pPorts riceve una matrice di strutture PORT_INFO_2 .
-
pPorts [out]
-
Puntatore a un buffer che riceve una matrice di strutture PORT_INFO_1 o PORT_INFO_2 . Ogni struttura contiene dati che descrivono una porta della stampante disponibile. Il buffer deve essere sufficientemente grande da archiviare le stringhe a cui puntano i membri della struttura.
Per determinare le dimensioni del buffer necessarie, chiamare EnumPorts con cbBuf impostato su zero. EnumPorts ha esito negativo, GetLastError restituisce ERROR_INSUFFICIENT_BUFFER e il parametro pcbNeeded restituisce le dimensioni, in byte, del buffer necessario per contenere la matrice di strutture e i relativi dati.
-
cbBuf [in]
-
Dimensione, in byte, del buffer a cui punta pPorts.
-
pcbNeeded [out]
-
Puntatore a una variabile che riceve il numero di byte copiati nel buffer pPorts . Se il buffer è troppo piccolo, la funzione ha esito negativo e la variabile riceve il numero di byte necessari.
-
pcReturned [out]
-
Puntatore a una variabile che riceve il numero di strutture PORT_INFO_1 o PORT_INFO_2restituite nel buffer pPorts . Si tratta del numero di porte della stampante disponibili nel server specificato.
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à di restituzione di questa funzione 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. Chiamando questa funzione da un thread che gestisce l'interazione con l'interfaccia utente, l'applicazione potrebbe sembrare non rispondente.
La funzione EnumPorts può avere esito positivo anche se il server specificato da pName non dispone di una stampante definita.
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 |
EnumPortsW (Unicode) e EnumPortsA (ANSI) |