Condividi tramite


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
Winspool.h (include Windows.h)
Libreria
Winspool.lib
DLL
Winspool.drv
Nomi Unicode e ANSI
EnumPrinterDataExW (Unicode) e EnumPrinterDataExA (ANSI)

Vedi anche

Stampa

Funzioni dell'API spooler di stampa

DeletePrinterDataEx

EnumPrinterKey

GetPrinterDataEx

OpenPrinter

PRINTER_ENUM_VALUES

SetPrinterData

SetPrinterDataEx