DeletePrinterDriverEx-Funktion
Die DeletePrinterDriverEx-Funktion entfernt den angegebenen Druckertreibernamen aus der Liste der Namen der unterstützten Treiber auf einem Server und löscht die dateien, die dem Treiber zugeordnet sind. Diese Funktion kann auch bestimmte Versionen des Treibers löschen.
Syntax
BOOL DeletePrinterDriverEx(
_In_ LPTSTR pName,
_In_ LPTSTR pEnvironment,
_In_ LPTSTR pDriverName,
_In_ DWORD dwDeleteFlag,
_In_ DWORD dwVersionFlag
);
Parameter
-
pName [ In]
-
Ein Zeiger auf eine auf NULL endende Zeichenfolge, die den Namen des Servers angibt, von dem der Treiber gelöscht werden soll. Wenn dieser Parameter NULL ist, löscht die Funktion den Druckertreiber vom lokalen Computer.
-
pEnvironment [ In]
-
Ein Zeiger auf eine auf NULL endende Zeichenfolge, die die Umgebung angibt, aus der der Treiber gelöscht werden soll (z. B. Windows NT x86, Windows IA64 oder Windows x64). Wenn dieser Parameter NULL ist, wird der Treibername aus der aktuellen Umgebung der aufrufenden Anwendung und des Clientcomputers (nicht der Zielanwendung und des Druckerservers) gelöscht.
-
pDriverName [ In]
-
Ein Zeiger auf eine auf NULL endende Zeichenfolge, die den Namen des zu löschenden Treibers angibt.
-
dwDeleteFlag [ In]
-
Die Optionen zum Löschen von Dateien und Versionen des Treibers. Bei diesem Parameter kann es sich um einen oder mehrere der folgenden Werte handelt.
Wert Bedeutung - DPD _ DELETE _ SPECIFIC _ VERSION
Löscht die in dwVersionFlag angegebene Version. Dadurch wird nicht sichergestellt, dass der Treiber aus der Liste der unterstützten Treiber für den Server entfernt wird. - DPD _ DELETE _ UNUSED FILES (NICHT VERWENDETE DATEIEN LÖSCHEN) _
Entfernt alle nicht verwendeten Treiberdateien. - DPD _ DELETE _ ALL _ FILES
Löscht den Treiber nur, wenn alle zugehörigen Dateien entfernt werden können. Der Löschvorgang schlägt fehl, wenn eine der Treiberdateien von einem anderen installierten Treiber verwendet wird. Wenn DPD _ DELETE SPECIFIC VERSION nicht angegeben _ _ ist, löscht die Funktion alle Versionen des Treibers, wenn keine davon verwendet wird. Wenn weder DPD _ DELETE _ UNUSED _ FILES noch DPD DELETE ALL FILES _ angegeben _ _ ist, löscht die Funktion keine Treiberdateien.
-
dwVersionFlag [ In]
-
Die Version des zu löschenden Treibers. Dieser Parameter kann 0, 1, 2 oder 3 sein. Dieser Parameter wird nur verwendet, wenn dwDeleteFlag das FLAG DPD _ DELETE SPECIFIC VERSION _ _ enthält.
Rückgabewert
Wenn die Funktion erfolgreich ausgeführt wird, ist der Rückgabewert ein Wert ungleich 0 (null).
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.
Bemerkungen
Hinweis
Dies ist eine blockierende oder synchrone Funktion und wird möglicherweise nicht sofort zurückgegeben. Wie schnell diese Funktion zurückgegeben wird, hängt von Laufzeitfaktoren wie Netzwerkstatus, Druckerserverkonfiguration und Implementierungsfaktoren für Druckertreiber ab, die beim Schreiben einer Anwendung schwer vorherzusagen sind. Das Aufrufen dieser Funktion über einen Thread, der die Interaktion mit der Benutzeroberfläche verwaltet, kann dazu bringen, dass die Anwendung scheinbar nicht reagiert.
Bevor die Funktion die Treiberdateien löscht, ruft sie die DrvDriverEvent-Funktion des Treibers auf, sodass der Treiber alle privaten Dateien entfernen kann, die nicht verwendet werden. Weitere Informationen zu DrvDriverEvent finden Sie im Microsoft Windows Driver Development Kit (DDK).
Wenn die Treiberdateien derzeit geladen sind, verschiebt die Funktion sie in ein temporäres Verzeichnis und markiert sie zum Löschen beim Neustart.
Vor dem Aufrufen von DeletePrinterDriverEx müssen Sie alle Druckerobjekte löschen, die den Druckertreiber verwenden.
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
| Header |
|
| Bibliothek |
|
| DLL |
|
| Unicode- und ANSI-Name |
DeletePrinterDriverExW (Unicode) und DeletePrinterDriverExA (ANSI) |