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+.
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 |