AddPrinterConnection2-Funktion
Fügt dem angegebenen Drucker für den aktuellen Benutzer eine Verbindung hinzu und gibt Verbindungsdetails an.
Syntax
BOOL AddPrinterConnection2(
_In_ HWND hWnd,
_In_ LPCTSTR pszName,
DWORD dwLevel,
_In_ PVOID pConnectionInfo
);
Parameter
-
hWnd [in]
-
Ein Handle für das übergeordnete Fenster, in dem das Dialogfeld angezeigt wird, wenn das Drucksystem einen Druckertreiber vom Druckserver für diese Verbindung herunterladen muss.
-
pszName [in]
-
Ein Zeiger auf eine konstante NULL-endende Zeichenfolge, die den Namen des Druckers angibt, mit dem der aktuelle Benutzer eine Verbindung herstellen möchte.
-
dwLevel
-
Die Version der Struktur, auf die pConnectionInfo verweist. Derzeit ist nur Ebene 1 definiert, sodass der Wert von dwLevel 1 sein muss.
-
pConnectionInfo [in]
-
Ein Zeiger auf eine PRINTER_CONNECTION_INFO_1-Struktur . Weitere Informationen zu diesem Parameter finden Sie im Abschnitt Hinweise.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Wert ungleich null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
Bemerkungen
Hinweis
Dies ist eine blockierende oder synchrone Funktion, die möglicherweise nicht sofort zurückgegeben wird. Wie schnell diese Funktion zurückgibt, hängt von Laufzeitfaktoren wie Netzwerk-status, Druckserverkonfiguration und Druckertreiberimplementierungsfaktoren ab, die beim Schreiben einer Anwendung schwer vorherzusagen sind. Das Aufrufen dieser Funktion aus einem Thread, der die Interaktion mit der Benutzeroberfläche verwaltet, könnte dazu führen, dass die Anwendung nicht mehr reagiert.
Wenn Windows Vista eine Verbindung mit einem Drucker herstellt, müssen möglicherweise Druckertreiberdateien von dem Server kopiert werden, an den der Drucker angeschlossen ist. Wenn der Benutzer nicht über die Berechtigung zum Kopieren von Dateien an den entsprechenden Speicherort verfügt, schlägt die AddPrinterConnection2-Funktion fehl, und GetLastError gibt ERROR_ACCESS_DENIED zurück.
Wenn die Druckertreiberdateien vom Druckserver kopiert werden müssen, aber aufgrund der in Kraft stehenden Gruppenrichtlinien nicht automatisch kopiert werden können und PRINTER_CONNECTION_NO_UI in pConnectionInfo-dwFlags> festgelegt ist, werden keine Dialogfelder angezeigt, und der Aufruf schlägt fehl.
Wenn der lokale Druckertreiber zum Rendern von Druckaufträgen für diesen Drucker verwendet werden kann und die Version des lokalen Treibers nicht mit der Version des Druckertreibers auf dem Server übereinstimmen darf, legen Sie PRINTER_CONNECTION_MISMATCH in pConnectionInfo-dwFlags> fest, und weisen Sie den Zeiger auf eine Zeichenfolgenvariable zu, die den Pfad zum lokalen Druckertreiber zu pConnectionInfo-pszDriverName> enthält.
Eine Druckerverbindung, die durch Aufrufen von AddPrinterConnection2 hergestellt wird, wird aufgelistet, wenn EnumPrinters aufgerufen wird, wobei dwType auf PRINTER_ENUM_CONNECTION festgelegt ist.
Die ANSI-Version dieser Funktion, AddPrinterConnection2A, wird nicht unterstützt und gibt ERROR_NOT_SUPPORTED zurück.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2008 [nur Desktop-Apps] |
Header |
|
Bibliothek |
|
DLL |
|
Unicode- und ANSI-Name |
AddPrinterConnection2W (Unicode) |