Share via


CreateDCW-Funktion (wingdi.h)

Die CreateDC-Funktion erstellt unter Verwendung des angegebenen Namens einen Gerätekontext (DC) für ein Gerät.

Syntax

HDC CreateDCW(
       LPCWSTR        pwszDriver,
  [in] LPCWSTR        pwszDevice,
       LPCWSTR        pszPort,
  [in] const DEVMODEW *pdm
);

Parameter

pwszDriver

Ein Zeiger auf eine NULL-endende Zeichenfolge, die entweder DISPLAY oder den Namen eines bestimmten Anzeigegeräts angibt. Beim Drucken wird empfohlen, NULL an lpszDriver zu übergeben, da GDI lpszDriver für Druckergeräte ignoriert.

[in] pwszDevice

Ein Zeiger auf eine NULL-endende Zeichenfolge, die den Namen des verwendeten Ausgabegeräts angibt, wie vom Druck-Manager dargestellt (z. B. Epson FX-80). Dies ist nicht der Name des Druckermodells. Der parameter lpszDevice muss verwendet werden.

Rufen Sie EnumDisplayDevices auf, um gültige Namen für Anzeigen zu erhalten.

Wenn lpszDriver DISPLAY oder der Gerätename eines bestimmten Anzeigegeräts ist, muss lpszDeviceNULL oder derselbe Gerätename sein. Wenn lpszDeviceNULL ist, wird ein DC für das primäre Anzeigegerät erstellt.

Wenn mehrere Monitore auf dem System vorhanden sind, wird beim Aufrufen CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL) eines DC erstellt, der alle Monitore abdeckt.

pszPort

Dieser Parameter wird ignoriert und sollte auf NULL festgelegt werden. Es wird nur zur Kompatibilität mit 16-Bit-Windows bereitgestellt.

[in] pdm

Ein Zeiger auf eine DEVMODE-Struktur , die gerätespezifische Initialisierungsdaten für den Gerätetreiber enthält. Die DocumentProperties-Funktion ruft diese Für ein angegebenes Gerät ausgefüllte Struktur ab. Der pdm-Parameter muss NULL sein, wenn der Gerätetreiber die vom Benutzer angegebene Standardinitialisierung (sofern vorhanden) verwenden soll.

Wenn lpszDriver AUF DISPLAY festgelegt ist, muss pdmNULL sein. GDI verwendet dann den aktuellen DEVMODE des Anzeigegeräts.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert das Handle für einen DC für das angegebene Gerät.

Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL.

Hinweise

Beachten Sie, dass das Handle für den DC nur von einem einzelnen Thread gleichzeitig verwendet werden kann.

Rufen Sie für die Parameter lpszDriver und lpszDeviceEnumDisplayDevices auf , um gültige Namen für Displays zu erhalten.

Wenn Sie den DC nicht mehr benötigen, rufen Sie die DeleteDC-Funktion auf.

Wenn lpszDriver oder lpszDevice AUF DISPLAY festgelegt ist, besitzt der Thread, der CreateDC aufruft, den erstellten HDC . Wenn dieser Thread zerstört wird, ist die HDC nicht mehr gültig. Wenn Sie also die HDC erstellen und an einen anderen Thread übergeben, beenden Sie den ersten Thread, kann der zweite Thread den HDC nicht verwenden.

Wenn Sie CreateDC aufrufen, um die HDC für ein Anzeigegerät zu erstellen, müssen Sie entweder NULL oder einen Zeiger auf DEVMODE an pdm übergeben, der mit dem aktuellen DEVMODE des Anzeigegeräts übereinstimmt, das lpszDevice angibt. Es wird empfohlen, NULL zu übergeben und nicht zu versuchen, genau mit dem DEVMODE für das aktuelle Anzeigegerät übereinzugleichen.

Wenn Sie CreateDC aufrufen, um die HDC für ein Druckergerät zu erstellen, überprüft der Druckertreiber devmode. Wenn der Druckertreiber feststellt, dass DEVMODE ungültig ist (d. h., der Druckertreiber kann devmode nicht konvertieren oder nutzen), stellt der Druckertreiber eine DEVMODE-Standardeinstellung bereit, um die HDC für das Druckergerät zu erstellen.

ICM: Legen Sie zum Aktivieren von ICM den dmICMMethod-Member der DEVMODE-Struktur (auf den der pInitData-Parameter verweist) auf den entsprechenden Wert fest.

Beispiele

Ein Beispiel finden Sie unter Erfassen eines Bilds.

Hinweis

Der wingdi.h-Header definiert CreateDC als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wingdi.h (windows.h einschließen)
Bibliothek Gdi32.lib
DLL Gdi32.dll

Weitere Informationen

DEVMODE

DOCINFO

DeleteDC

Gerätekontextfunktionen

Übersicht über Gerätekontexte

Documentproperties

EnumDisplayDevices

Mehrere Anzeigemonitore

StartDoc