Condividi tramite


Funzione AddPrintDeviceObject (winsplp.h)

Avvertimento

A partire da Windows 10, le API che supportano provider di stampa di terze parti sono deprecate. Microsoft non consiglia alcun investimento in provider di stampa di terze parti. Inoltre, nei prodotti Windows 8 e versioni successive in cui è disponibile il modello di driver di stampa v4, i provider di stampa di terze parti potrebbero non creare o gestire code che usano driver di stampa v4.

La funzione del provider di stampa AddPrintDeviceObject crea un oggetto dispositivo per una coda del provider di stampa.

Sintassi

HRESULT AddPrintDeviceObject(
  [in]  HANDLE hPrinter,
  [out] HANDLE *phDeviceObject
);

Parametri

[in] hPrinter

Handle per una stampante aperta. Deve trattarsi di un handle restituito dalle funzioni di spooler AddPrinter o OpenPrinter.

[out] phDeviceObject

Handle per l'oggetto dispositivo, se è stato creato correttamente.

Valore restituito

La funzione AddPrintDeviceObject restituisce S_OK, se l'oggetto dispositivo è stato creato correttamente. In caso contrario, restituisce un errore.

Osservazioni

La funzione AddPrintDeviceObject deve essere chiamata nelle situazioni seguenti:

L'utente installa una stampante

  • Il provider di stampa deve chiamare questa funzione dopo l'installazione della stampante.

  • La funzione deve essere chiamata rappresentando l'utente che sta installando la stampante.

Il provider di stampa deve chiamare questa funzione per ogni stampante installata in precedenza di proprietà del provider. Durante questo periodo di tempo, AddPrintDeviceObject non deve rappresentare il contesto utente quando viene chiamato.

Qualsiasi oggetto dispositivo aggiunto tramite AddPrintDeviceObject verrà mantenuto fino a quando non viene rimosso tramite RemovePrintDeviceObjecto fino al riavvio del servizio spooler. E quando i servizi di spooler si arrestano, tutti gli oggetti dispositivo vengono eliminati automaticamente.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione winsplp.h (include Winspool.h)
libreria WinSpool.lib
dll WinSpool.drv

Vedere anche

RemovePrintDeviceObject