Condividi tramite


Operazioni di configurazione della stampante personalizzate

Importante

È consigliabile usare il driver di classe IPP di Microsoft, insieme a Print Support Apps (PSA), per personalizzare l'esperienza di stampa in Windows 10 e 11 per lo sviluppo di dispositivi stampanti.

Per altre informazioni, vedere la guida alla progettazione dell'app di supporto stampa.

Per fornire operazioni di configurazione della stampante personalizzate per le stampanti installate usando Ntprint.dll, il programma di installazione predefinito della classe windows 2000 e versioni successive della stampante, è possibile includere una voce VendorSetup INF nel file INF della stampante.

Attenzione

Tenere presente che VendorSetup è ora deprecato e non deve essere usato da nuovi driver v3 o v4 sviluppati. Questo argomento viene fornito solo per informazioni di riferimento o per la manutenzione dei driver v3 esistenti che usano già questa direttiva INF.

Se si prevede di visualizzare gli elementi dell'interfaccia utente durante l'installazione di un driver di stampante, è necessario usare una voce VendorSetup INF. Tuttavia, è consigliabile usare una voce VendorSetup INF solo se è necessaria. Uno svantaggio significativo è che l'uso impedisce a un utente comune di installare una stampante con Plug and Play (l'utente deve essere un amministratore in questo caso).

Non è possibile installare un dispositivo usando un'installazione lato server quando il driver di dispositivo non è firmato o quando il file INF (firmato o non firmato) del driver contiene una voce VendorSetup INF. Quando il driver non è firmato, il programma di installazione aggiunge 0x8000 alla classificazione che il driver avrebbe se fosse un driver firmato. Se il file INF del driver contiene una voce VendorSetup , il programma di installazione determina che l'installazione del dispositivo richiede l'interazione utente (che non può verificarsi in un'installazione lato server) e arresta l'installazione.

Il programma di installazione arresta anche un'installazione lato server se la classificazione del driver è 0x8000 o maggiore. L'installazione può procedere quando un utente con privilegi amministrativi accede, in cui il programma di installazione riavvia l'installazione del dispositivo come installazione lato client. Per un driver il cui rango è 0x1000 o maggiore e non è quindi una corrispondenza id hardware, il programma di installazione avvia la Creazione guidata hardware trovato nella DLL nuovo dispositivo, che richiede all'utente di installare un driver.

Se il file INF per un driver firmato contiene una voce VendorSetup e la classificazione del driver è minore di 0x1000, il programma di installazione non avvia la Creazione guidata nuovo hardware trovato. Per altre informazioni, vedere How Setup Selects Drivers .For more information, see How Setup Selects Drivers.For more information, see How Setup Selects Drivers.

Il formato per la voce VendorSetup è il seguente:

VendorSetup= FileName, FunctionName

dove FileName è il nome di una DLL contenente una funzione di installazione e FunctionName è il nome della funzione. La DLL deve essere installata nella directory %windir%\system32. Il programma di installazione della classe stampante chiama la funzione di installazione in questa DLL solo quando la stampante viene installata da Plug and Play o dalla Creazione guidata stampante. La funzione di installazione non viene chiamata quando viene installato solo un driver, ad esempio usando la Procedura guidata Aggiungi driver stampante.

Per copiare uno o più file nella directory %windir%\system32, è possibile aggiungere il nome di una sezione definita dal writer INF alla sezione INF DestinationDirs . Nell'esempio seguente la sezione OEMVendorFiles elenca tutti i file da copiare.

[DestinationDirs]
OEMVendorFiles = 11
...
[OEMVendorFiles]
vendor.dll

La funzione specificata da FunctionName deve corrispondere al prototipo seguente:

VOID WINAPIFunctionname(HWND hWnd, HINSTANCE hInstance, LPSTR lpszCmdLine, UINT nCmdShow);

dove FunctionName è il nome della funzione di installazione. I parametri della funzione e le relative descrizioni sono visualizzati nella tabella seguente.

Parametro Descrizione
hWnd Specifica l'handle della finestra padre.
hInstance Specifica l'handle dell'istanza del processo di chiamata.
lpszCmdLine Specifica una stringa ANSI contenente il nome della stampante installata. Questa stringa viene analizzata da FunctionName.
nCmdShow Specifica la modalità di visualizzazione della finestra. I flag che controllano la modalità di visualizzazione della finestra sono definiti in Winuser.h.

Il programma di installazione della classe stampante chiama la funzione di installazione come uno dei passaggi finali dell'operazione di installazione.