Compartir a través de


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+.
Advertencia Para obtener información sobre cómo usar el intercambio dinámico de datos (DDE) con GDI+, consulta Servicios especiales de CWinApp.
 

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

Consulte también

GdiplusShutdown

GdiplusStartupInput

GdiplusStartupOutput

Introducción