GdiplusStartup, fonction (gdiplusinit.h)
La fonction GdiplusStartup initialise Windows GDI+. Appelez GdiplusStartup avant d’effectuer d’autres appels GDI+ et appelez GdiplusShutdown lorsque vous avez terminé d’utiliser GDI+.
Syntaxe
Status GdiplusStartup(
ULONG_PTR *token,
const GdiplusStartupInput *input,
GdiplusStartupOutput *output
);
Paramètres
token
Type : [out] jeton ULONG_PTR*
Pointeur vers un ULONG_PTR qui reçoit un jeton. Passez le jeton à GdiplusShutdown lorsque vous avez terminé d’utiliser GDI+.
input
Type : [in] const GdiplusStartupInput*
Pointeur vers une structure GdiplusStartupInput qui contient la version GDI+, pointeur vers une fonction de rappel de débogage, valeur booléenne qui spécifie s’il faut supprimer le thread d’arrière-plan et valeur booléenne qui spécifie s’il faut supprimer les codecs d’image externes.
output
Type : [out] GdiplusStartupOutput*
Pointeur vers une structure GdiplusStartupOutput qui reçoit un pointeur vers une fonction de hook de notification et un pointeur vers une fonction de déconnexion de notification. Si le membre de données SuppressBackgroundThread du paramètre d’entrée est FALSE, ce paramètre peut être NULL.
Valeur retournée
Type : État
Si la fonction réussit, elle retourne OK, qui est un élément de l’énumération Status .
Si la fonction échoue, elle retourne l’un des autres éléments de l’énumération Status .
Notes
Vous devez appeler GdiplusStartup avant de créer des objets GDI+, et vous devez supprimer tous vos objets GDI+ (ou les faire sortir de l’étendue) avant d’appeler GdiplusShutdown.
Vous pouvez appeler GdiplusStartup sur un thread et appeler GdiplusShutdown sur un autre thread tant que vous supprimez tous vos objets GDI+ (ou que vous les faites sortir de l’étendue) avant d’appeler GdiplusShutdown.
N’appelez pas GdiplusStartup ou GdiplusShutdown dans DllMain ou dans une fonction appelée par DllMain. Si vous souhaitez créer une DLL qui utilise GDI+, vous devez utiliser l’une des techniques suivantes pour initialiser GDI+ :
- Demandez à vos clients d’appeler GdiplusStartup avant d’appeler les fonctions de votre DLL et d’appeler GdiplusShutdown lorsqu’ils ont terminé d’utiliser votre DLL.
- Exportez votre propre fonction de démarrage qui appelle GdiplusStartup et votre propre fonction d’arrêt qui appelle GdiplusShutdown. Demandez à vos clients d’appeler votre fonction de démarrage avant d’appeler d’autres fonctions dans votre DLL et d’appeler votre fonction d’arrêt lorsqu’ils ont terminé d’utiliser votre DLL.
- Appelez GdiplusStartup et GdiplusShutdown dans chacune de vos fonctions qui effectuent des appels GDI+.
Exemples
Pour obtenir un exemple d’appel de GdiplusStartup et GdiplusShutdown dans une application Windows, consultez Prise en main.
L’application console suivante utilise un objet GDI+Image pour récupérer la largeur et la hauteur d’une image JPEG. Le code appelle GdiplusStartup avant de créer l’objet Image et appelle GdiplusShutdown avant de se terminer. Notez que l’objet Image est supprimé avant l’appel à GdiplusShutdown.
Dans le code suivant, la variable gdiplusStartupInput est initialisée par le constructeur par défaut de la structure GdiplusStartupInput . Le constructeur par défaut définit les membres de données de la structure sur les valeurs suivantes :
- GdiplusVersion = 1
- DebugEventCallback = NULL
- SuppressBackgroundThread = FAUX
- SuppressExternalCodecs = FAUX
#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;
}
Configuration requise
Client minimal pris en charge | Windows XP, Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | gdiplusinit.h (inclure Gdiplus.h) |
Bibliothèque | Gdiplus.lib |
DLL | Gdiplus.dll |