Delen via


Aangepaste printerinstallatiebewerkingen

Belangrijk

Het moderne afdrukplatform is de voorkeursmiddel van Windows om te communiceren met printers. U wordt aangeraden het IPP-inboxstuurprogramma van Microsoft te gebruiken, samen met Print Support Apps (PSA), om de afdrukervaring in Windows 10 en 11 aan te passen voor de ontwikkeling van printerapparaten.

Zie de ontwerphandleiding voor Print Support App v1 en v2 voor meer informatie.

Om aangepaste installatiebewerkingen voor printers te bieden die zijn geïnstalleerd met Ntprint.dll, de standaard Windows 2000 en latere installatieprogramma voor printerklassen, kunt u een VendorSetup INF-item opnemen in het INF-bestand van de printer.

Voorzichtigheid

Houd er rekening mee dat VendorSetup- nu is afgeschaft en niet mag worden gebruikt door nieuwe v3- of v4-stuurprogramma's die u ontwikkelt. Dit onderwerp wordt alleen ter referentie verstrekt of voor het onderhoud van bestaande v3-stuurprogramma's die al gebruikmaken van deze INF-instructie.

Als u gebruikersinterface-elementen wilt weergeven tijdens de installatie van een printerstuurprogramma, moet u een VendorSetup INF-vermelding gebruiken. U moet echter alleen een VendorSetup INF-vermelding gebruiken als dit nodig is. Een belangrijk nadeel is dat het gebruik ervan voorkomt dat een gewone gebruiker een printer installeert met Plug en Play (de gebruiker moet in dit geval een beheerder zijn).

Het is niet mogelijk om een apparaat te installeren met behulp van een installatie aan de serverzijde wanneer het apparaatstuurprogramma niet is ondertekend of wanneer het INF-bestand van het stuurprogramma (ondertekend of niet-ondertekend) een VendorSetup- INF-vermelding bevat. Wanneer het stuurprogramma niet is ondertekend, voegt Setup 0x8000 toe aan de positie die het stuurprogramma zou hebben als het een ondertekend stuurprogramma zou zijn. Als het INF-bestand van het stuurprogramma een VendorSetup- vermelding bevat, bepaalt Setup dat gebruikersinteractie (die niet kan optreden in een installatie aan de serverzijde) is vereist en de installatie wordt gestopt.

Setup stopt ook een server-side installatie als de rangorde van het stuurprogramma 0x8000 of hoger is. De installatie kan doorgaan wanneer een gebruiker met beheerdersbevoegdheden zich aanmeldt, waarna setup de installatie van het apparaat opnieuw start als installatie aan de clientzijde. Voor een stuurprogramma met een waarde van 0x1000 of hoger, en dat daarom geen overeenkomend hardware-id is, start Installatie de wizard 'Nieuwe hardware gevonden' in de nieuwe apparaatherkenning-DLL, die de gebruiker vraagt om een stuurprogramma te installeren.

Als het INF-bestand voor een ondertekend stuurprogramma een VendorSetup vermelding bevat en de rang van het stuurprogramma kleiner is dan 0x1000, wordt de wizard Nieuwe hardware gevonden niet gestart. Zie Hoe Setup stuurprogramma's selecteertvoor meer informatie.

De indeling voor de VendorSetup vermelding is als volgt:

VendorSetup= FileName, FunctionName

waarbij FileName de naam is van een DLL met een installatiefunctie en FunctionName de naam van de functie is. Het DLL-bestand moet worden geïnstalleerd in de map %windir%\system32. Het installatieprogramma van de printerklasse roept de set-upfunctie in deze DLL alleen op wanneer de printer via Plug en Play of de wizard 'Printer toevoegen' is geïnstalleerd. De installatiefunctie wordt niet aangeroepen wanneer alleen een stuurprogramma is geïnstalleerd (bijvoorbeeld via de wizard Printerstuurprogramma toevoegen).

Als u een of meer bestanden naar de map %windir%\system32 wilt kopiëren, kunt u de naam van een inf-schrijver gedefinieerde sectie toevoegen aan de sectie INF DestinationDirs. In het volgende voorbeeld bevat de sectie OEMVendorFiles alle bestanden die moeten worden gekopieerd.

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

De functie die is opgegeven door FunctionName moet overeenkomen met het volgende prototype:

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

waarbij FunctionName de naam van de installatiefunctie is. De parameters en beschrijvingen van de functie worden weergegeven in de volgende tabel.

Parameter Beschrijving
hWnd Hiermee specificeert u de hendel van het bovenliggende venster.
hInstance Hiermee wordt de exemplaarhandle van het aanroepende proces gespecificeerd.
lpszCmdLine Geeft een ANSI-tekenreeks op met de naam van de printer die is geïnstalleerd. Deze tekenreeks wordt geparseerd door FunctionName.
nCmdShow Hiermee geeft u op hoe het venster moet worden weergegeven. De vlaggen die bepalen hoe het venster wordt weergegeven, worden gedefinieerd in Winuser.h.

Het installatieprogramma van de printerklasse roept de installatiefunctie aan als een van de laatste stappen in de installatiebewerking.