GdiplusStartup-Funktion (gdiplusinit.h)

Die GdiplusStartup-Funktion initialisiert Windows GDI+. Rufen Sie GdiplusStartup an , bevor Sie andere GDI+-Anrufe tätigen, und rufen Sie GdiplusShutdown an, wenn Sie die Verwendung von GDI+ abgeschlossen haben.

Syntax

Status GdiplusStartup(
  ULONG_PTR                 *token,
  const GdiplusStartupInput *input,
  GdiplusStartupOutput      *output
);

Parameter

token

Typ: [out] ULONG_PTR Token*

Zeiger auf eine ULONG_PTR , die ein Token empfängt. Übergeben Sie das Token an GdiplusShutdown , wenn Sie die Verwendung von GDI+ abgeschlossen haben.

input

Typ: [in] const GdiplusStartupInput*

Zeiger auf eine GdiplusStartupInput-Struktur , die die GDI+-Version enthält, einen Zeiger auf eine Debugrückruffunktion, einen booleschen Wert, der angibt, ob der Hintergrundthread unterdrückt werden soll, und einen booleschen Wert, der angibt, ob externe Bildcodecs unterdrückt werden sollen.

output

Typ: [out] GdiplusStartupOutput*

Zeiger auf eine GdiplusStartupOutput-Struktur , die einen Zeiger auf eine Benachrichtigungshakenfunktion und einen Zeiger auf eine Benachrichtigungs-Unhook-Funktion empfängt. Wenn der SuppressBackgroundThread-Datenmember des Eingabeparameters FALSE ist, kann dieser Parameter NULL sein.

Rückgabewert

Typ: Status

Wenn die Funktion erfolgreich ist, gibt sie Ok zurück, ein Element der Status-Enumeration .

Wenn die Funktion fehlschlägt, gibt sie eines der anderen Elemente der Status-Enumeration zurück.

Hinweise

Sie müssen GdiplusStartup aufrufen, bevor Sie GDI+-Objekte erstellen, und Sie müssen alle Ihre GDI+-Objekte löschen (oder sie aus dem Bereich entfernen), bevor Sie GdiplusShutdown aufrufen.

Sie können GdiplusStartup für einen Thread aufrufen und GdiplusShutdown in einem anderen Thread aufrufen, solange Sie alle Ihre GDI+-Objekte löschen (oder deren Gültigkeitsbereich abgelaufen ist), bevor Sie GdiplusShutdown aufrufen.

Rufen Sie GdiplusStartup oder GdiplusShutdown nicht in DllMain oder in einer Funktion auf, die von DllMain aufgerufen wird. Wenn Sie eine DLL erstellen möchten, die GDI+ verwendet, sollten Sie eine der folgenden Techniken verwenden, um GDI+ zu initialisieren:

  • Fordern Sie, dass Ihre Clients GdiplusStartup aufrufen, bevor sie die Funktionen in Ihrer DLL aufrufen, und GdiplusShutdown aufrufen, wenn sie die Verwendung Ihrer DLL abgeschlossen haben.
  • Exportieren Sie Ihre eigene Startfunktion, die GdiplusStartup aufruft, und Ihre eigene Herunterfahrfunktion, die GdiplusShutdown aufruft. Fordern Sie, dass Ihre Clients Ihre Startfunktion aufrufen, bevor sie andere Funktionen in Ihrer DLL aufrufen, und ihre Herunterfahrfunktion aufrufen, wenn sie die Verwendung Ihrer DLL abgeschlossen haben.
  • Rufen Sie GdiplusStartup und GdiplusShutdown in jeder Ihrer Funktionen auf, die GDI+-Aufrufe tätigen.
Warnung Informationen zur Verwendung des dynamischen Datenaustauschs (DDE) mit GDI+ finden Sie unter Special CWinApp Services.
 

Beispiele

Ein Beispiel für das Aufrufen von GdiplusStartup und GdiplusShutdown in einer Windows-Anwendung finden Sie unter Erste Schritte.

Die folgende Konsolenanwendung verwendet ein GDI+Image-Objekt , um die Breite und Höhe eines JPEG-Bildes abzurufen. Der Code ruft GdiplusStartup auf, bevor das Image-Objekt erstellt wird, und ruft vor dem Beenden GdiplusShutdown auf. Beachten Sie, dass das Image-Objekt vor dem Aufruf von GdiplusShutdown gelöscht wird.

Im folgenden Code wird die Variable gdiplusStartupInput vom Standardkonstruktor der GdiplusStartupInput-Struktur initialisiert. Der Standardkonstruktor legt die Datenmber der Struktur auf die folgenden Werte fest:

  • GdiplusVersion = 1
  • DebugEventCallback = NULL
  • SuppressBackgroundThread = FALSE
  • SuppressExternalCodecs = FALSE
#include <windows.h>
#include <gdiplus.h>
#include <stdio.h>
using namespace Gdiplus;

INT main()
{
   GdiplusStartupInput gdiplusStartupInput;
   ULONG_PTR gdiplusToken;
   GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

   Image* image = new Image(L"FakePhoto.jpg");
   printf("The width of the image is %u.\n", image->GetWidth());
   printf("The height of the image is %u.\n", image->GetHeight()); 

   delete image;
   GdiplusShutdown(gdiplusToken);
   return 0;
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP, Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile gdiplusinit.h (include Gdiplus.h)
Bibliothek Gdiplus.lib
DLL Gdiplus.dll

Weitere Informationen

GdiplusShutdown

GdiplusStartupInput

GdiplusStartupOutput

Erste Schritte