Función GdiplusStartup (gdiplusinit.h)
La función GdiplusStartup inicializa Windows GDI+. Llame a GdiplusStartup antes de realizar otras llamadas de GDI+ y llame a GdiplusShutdown cuando haya terminado de usar GDI+.
Sintaxis
Status GdiplusStartup(
ULONG_PTR *token,
const GdiplusStartupInput *input,
GdiplusStartupOutput *output
);
Parámetros
token
Tipo: [out] ULONG_PTR token*
Puntero a un ULONG_PTR que recibe un token. Pase el token a GdiplusShutdown cuando haya terminado de usar GDI+.
input
Tipo: [in] const GdiplusStartupInput*
Puntero a una estructura GdiplusStartupInput que contiene la versión de GDI+, un puntero a una función de devolución de llamada de depuración, un valor booleano que especifica si se debe suprimir el subproceso en segundo plano y un valor booleano que especifica si se deben suprimir los códecs de imagen externos.
output
Tipo: [out] GdiplusStartupOutput*
Puntero a una estructura GdiplusStartupOutput que recibe un puntero a una función de enlace de notificación y un puntero a una función de unhook de notificación. Si el miembro de datos SuppressBackgroundThread del parámetro de entrada es FALSE, este parámetro puede ser NULL.
Valor devuelto
Tipo: Estado
Si la función se ejecuta correctamente, devuelve Ok, que es un elemento de la enumeración Status .
Si se produce un error en la función, devuelve uno de los otros elementos de la enumeración Status .
Comentarios
Debe llamar a GdiplusStartup antes de crear cualquier objeto GDI+ y debe eliminar todos los objetos GDI+ (o tenerlos fuera del ámbito) antes de llamar a GdiplusShutdown.
Puede llamar a GdiplusStartup en un subproceso y llamar a GdiplusShutdown en otro subproceso siempre que elimine todos los objetos GDI+ (o que salgan del ámbito) antes de llamar a GdiplusShutdown.
No llame a GdiplusStartup o GdiplusShutdown en DllMain o en cualquier función a la que llama DllMain. Si desea crear un archivo DLL que use GDI+, debe usar una de las técnicas siguientes para inicializar GDI+:
- Requerir que los clientes llamen a GdiplusStartup antes de llamar a las funciones del archivo DLL y llamar a GdiplusShutdown cuando hayan terminado de usar el archivo DLL.
- Exporte su propia función de inicio que llama a GdiplusStartup y su propia función de apagado que llama a GdiplusShutdown. Exija a los clientes que llamen a la función de inicio antes de llamar a otras funciones del archivo DLL y que llamen a la función de apagado cuando hayan terminado de usar el archivo DLL.
- Llame a GdiplusStartup y GdiplusShutdown en cada una de las funciones que realizan llamadas de GDI+.
Ejemplos
Para obtener un ejemplo de llamada a GdiplusStartup y GdiplusShutdown en una aplicación Windows, consulte Introducción.
La siguiente aplicación de consola usa un objeto GDI+Image para recuperar el ancho y el alto de una imagen JPEG. El código llama a GdiplusStartup antes de crear el objeto Image y llama a GdiplusShutdown antes de finalizar. Tenga en cuenta que el objeto Image se elimina antes de la llamada a GdiplusShutdown.
En el código siguiente, la variable gdiplusStartupInput se inicializa mediante el constructor predeterminado de la estructura GdiplusStartupInput . El constructor predeterminado establece los miembros de datos de la estructura en los valores siguientes:
- GdiplusVersion = 1
- DepurarEventCallback = NULL
- SuppressBackgroundThread = FALSO
- SuppressExternalCodecs = FALSO
#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;
}
Requisitos
Cliente mínimo compatible | Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | gdiplusinit.h (include Gdiplus.h) |
Library | Gdiplus.lib |
Archivo DLL | Gdiplus.dll |