Auf Englisch lesen

Freigeben über


CreateDCA-Funktion (wingdi.h)

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

Syntax

HDC CreateDCA(
       LPCSTR         pwszDriver,
  [in] LPCSTR         pwszDevice,
       LPCSTR         pszPort,
  [in] const DEVMODEA *pdm
);

Parameter

pwszDriver

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

[in] pwszDevice

Ein Zeiger auf eine mit Null beendete Zeichenfolge, die den Namen des verwendeten Ausgabegeräts angibt, wie der Druck-Manager zeigt (z. B. Epson FX-80). Es handelt sich nicht um den Namen des Druckermodells. Der parameter lpszDevice muss verwendet werden.

Rufen Sie EnumDisplayDevicesauf, um gültige Namen für Displays zu erhalten.

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

Wenn mehrere Monitore auf dem System vorhanden sind, erstellt das Aufrufen von CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL) eine DC-Abdeckung aller Monitore.

pszPort

Dieser Parameter wird ignoriert und sollte auf NULL-festgelegt werden. Sie 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 Struktur ab, die für ein angegebenes Gerät ausgefüllt ist. Der pdm--Parameter muss NULL- sein, wenn der Gerätetreiber die vom Benutzer angegebene Standardinitialisierung (sofern vorhanden) verwenden soll.

Wenn lpszDriver DISPLAY ist, muss pdmNULL-sein; GDI verwendet dann die aktuelle DEVMODE-des Anzeigegeräts.

Rückgabewert

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

Wenn die Funktion fehlschlägt, ist der Rückgabewert NULL-.

Bemerkungen

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

Rufen Sie für Parameter lpszDriver und lpszDevice, EnumDisplayDevices auf, um gültige Namen für Displays abzurufen.

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

Wenn lpszDriver oder lpszDevice DISPLAY ist, besitzt der Thread, der CreateDC- aufruft, die HDC-, die erstellt wird. 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 an PDM- entweder NULL- oder einen Zeiger auf DEVMODE- übergeben, der dem aktuellen DEVMODE- des Anzeigegeräts entspricht, 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 die DEVMODE-. Wenn der Druckertreiber feststellt, dass die DEVMODE- ungültig ist (d. h. der Druckertreiber kann den DEVMODE nicht konvertieren oder verbrauchen), stellt der Druckertreiber eine Standard-DEVMODE- zum Erstellen der HDC für das Druckergerät bereit.

ICM: Um ICM zu aktivieren, legen Sie den dmICMMethod- Member der DEVMODE--Struktur (verweist auf den pInitData-Parameter) auf den entsprechenden Wert fest.

Beispiele

Ein Beispiel finden Sie unter Aufnehmen eines Bilds.

Hinweis

Der wingdi.h-Header definiert CreateDC als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- wingdi.h (enthalten Windows.h)
Library Gdi32.lib
DLL- Gdi32.dll

Siehe auch

DEVMODE-

DOCINFO-

DeleteDC-

Gerätekontextfunktionen

übersicht über Gerätekontexte

DocumentProperties-

EnumDisplayDevices

mehrere Bildschirme

StartDoc-