Funzione EnumPrinterDataEx
La funzione EnumPrinterDataEx enumera tutti i nomi di valore e i dati per una stampante e una chiave specificati.
I dati della stampante vengono archiviati nel Registro di sistema. Durante l'enumerazione dei dati della stampante, non chiamare funzioni del Registro di sistema che potrebbero modificare i dati.
Sintassi
DWORD EnumPrinterDataEx(
_In_ HANDLE hPrinter,
_In_ LPCTSTR pKeyName,
_Out_ LPBYTE pEnumValues,
_In_ DWORD cbEnumValues,
_Out_ LPDWORD pcbEnumValues,
_Out_ LPDWORD pnEnumValues
);
Parametri
-
hPrinter [in]
-
Handle per la stampante per cui la funzione recupera i dati di configurazione. Utilizzare la funzione OpenPrinter o AddPrinter per recuperare un handle della stampante.
-
pKeyName [in]
-
Puntatore a una stringa con terminazione Null che specifica la chiave contenente i valori da enumerare. Usare il carattere barra rovesciata ( \ ) come delimitatore per specificare un percorso con una o più sottochiavi. EnumPrinterDataEx enumera tutti i valori della chiave, ma non enumera i valori delle sottochiavi della chiave specificata. Usare la funzione EnumPrinterKey per enumerare le sottochiavi.
Se pKeyName è NULL o una stringa vuota, EnumPrinterDataEx restituisce ERROR_INVALID_PARAMETER.
-
pEnumValues [out]
-
Puntatore a un buffer che riceve una matrice di strutture PRINTER_ENUM_VALUES . Ogni struttura contiene il nome del valore, il tipo, i dati e le dimensioni di un valore sotto la chiave.
-
cbEnumValues [in]
-
Dimensioni, in byte, del buffer a cui punta pcbEnumValues. Se si imposta cbEnumValues su zero, il parametro pcbEnumValues restituisce le dimensioni del buffer necessarie.
-
pcbEnumValues [out]
-
Puntatore a una variabile che riceve le dimensioni, in byte, dei dati di configurazione recuperati. Se la dimensione del buffer specificata da cbEnumValues è troppo piccola, la funzione restituisce ERROR_MORE_DATA e pcbEnumValues indica le dimensioni del buffer necessarie.
-
pnEnumValues [out]
-
Puntatore a una variabile che riceve il numero di strutture PRINTER_ENUM_VALUES restituite in pEnumValues.
Valore restituito
Se la funzione ha esito positivo, il valore restituito viene ERROR_SUCCESS.
Se la funzione ha esito negativo, il valore restituito è un codice di errore di sistema.
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.
EnumPrinterDataEx recupera i dati di configurazione della stampante impostati dalle funzioni SetPrinterDataEx e SetPrinterData .
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 |
EnumPrinterDataExW (Unicode) e EnumPrinterDataExA (ANSI) |