Condividi tramite


Funzione GdiplusStartup (gdiplusinit.h)

La funzione GdiplusStartup inizializza Windows GDI+. Chiamare GdiplusStartup prima di effettuare altre chiamate GDI+ e chiamare GdiplusShutdown al termine dell'uso di GDI+.

Sintassi

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

Parametri

token

Tipo: [out] ULONG_PTR token*

Puntatore a un ULONG_PTR che riceve un token. Passare il token a GdiplusShutdown al termine dell'uso di GDI+.

input

Tipo: [in] const GdiplusStartupInput*

Puntatore a una struttura GdiplusStartupInput contenente la versione GDI+, un puntatore a una funzione di callback di debug, un valore booleano che specifica se eliminare il thread di sfondo e un valore booleano che specifica se eliminare i codec dell'immagine esterna.

output

Tipo: [out] GdiplusStartupOutput*

Puntatore a una struttura GdiplusStartupOutput che riceve un puntatore a una funzione di hook di notifica e un puntatore a una funzione di annullamento delhook di notifica. Se il membro dati SuppressBackgroundThread del parametro di input è FALSE, questo parametro può essere NULL.

Valore restituito

Tipo: Stato

Se la funzione ha esito positivo, restituisce Ok, ovvero un elemento dell'enumerazione Status .

Se la funzione ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status .

Commenti

Prima di creare oggetti GDIplusShutdown, è necessario chiamare GdiplusStartup prima di creare oggetti GDI+ ed eliminare tutti gli oggetti GDI+ (o avereli fuori ambito) prima di chiamare GdiplusShutdown.

È possibile chiamare GdiplusStartup su un thread e chiamare GdiplusShutdown su un altro thread finché si eliminano tutti gli oggetti GDI+ (o si hanno loro fuori ambito) prima di chiamare GdiplusShutdown.

Non chiamare GdiplusStartup o GdiplusShutdown in DllMain o in qualsiasi funzione chiamata da DllMain. Se si vuole creare una DLL che usa GDI+, è consigliabile usare una delle tecniche seguenti per inizializzare GDI+:

  • Richiedere ai client di chiamare GdiplusStartup prima di chiamare le funzioni nella DLL e chiamare GdiplusShutdown al termine dell'uso della DLL.
  • Esportare la propria funzione di avvio che chiama GdiplusStartup e la propria funzione di arresto che chiama GdiplusShutdown. Richiedere ai client di chiamare la funzione di avvio prima di chiamare altre funzioni nella DLL e di chiamare la funzione di arresto al termine dell'uso della DLL.
  • Chiamare GdiplusStartup e GdiplusShutdown in ognuna delle funzioni che effettuano chiamate GDI+.
Avviso Per informazioni su come usare lo scambio di dati dinamici (DDE) con GDI+, vedere Special CWinApp Services.
 

Esempio

Per un esempio di chiamata a GdiplusStartup e GdiplusShutdown in un'applicazione Windows, vedere Introduzione.

L'applicazione console seguente usa un oggetto GDI+Image per recuperare la larghezza e l'altezza di un'immagine JPEG. Il codice chiama GdiplusStartup prima di creare l'oggetto Image e chiama GdiplusShutdown prima di terminare. Si noti che l'oggetto Image viene eliminato prima della chiamata a GdiplusShutdown.

Nel codice seguente la variabile gdiplusStartupInput viene inizializzata dal costruttore predefinito della struttura GdiplusStartupInput . Il costruttore predefinito imposta i membri dei dati della struttura sui valori seguenti:

  • 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;
}

Requisiti

   
Client minimo supportato Windows XP, Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione gdiplusinit.h (include Gdiplus.h)
Libreria Gdiplus.lib
DLL Gdiplus.dll

Vedi anche

GdiplusShutdown

GdiplusStartupInput

GdiplusStartupOutput

Per iniziare