Função GdiplusStartup (gdiplusinit.h)
A função GdiplusStartup inicializa o Windows GDI+. Chame GdiplusStartup antes de fazer qualquer outra chamada GDI+ e chame GdiplusShutdown quando terminar de usar GDI+.
Sintaxe
Status GdiplusStartup(
ULONG_PTR *token,
const GdiplusStartupInput *input,
GdiplusStartupOutput *output
);
Parâmetros
token
Tipo: [out] ULONG_PTR token*
Ponteiro para um ULONG_PTR que recebe um token. Passe o token para GdiplusShutdown quando terminar de usar GDI+.
input
Tipo: [in] const GdiplusStartupInput*
Ponteiro para uma estrutura GdiplusStartupInput que contém a versão GDI+, um ponteiro para uma função de retorno de chamada de depuração, um valor booliano que especifica se o thread em segundo plano deve ser suprimido e um valor booliano que especifica se os codecs de imagem externos devem ser suprimidos.
output
Tipo: [out] GdiplusStartupOutput*
Ponteiro para uma estrutura GdiplusStartupOutput que recebe um ponteiro para uma função de gancho de notificação e um ponteiro para uma função unhook de notificação. Se o membro de dados SuppressBackgroundThread do parâmetro de entrada for FALSE, esse parâmetro poderá ser NULL.
Valor retornado
Tipo: Status
Se a função for bem-sucedida, ela retornará Ok, que é um elemento da enumeração Status .
Se a função falhar, ela retornará um dos outros elementos da enumeração Status .
Comentários
Você deve chamar GdiplusStartup antes de criar qualquer objeto GDI+ e excluir todos os objetos GDI+ (ou fazer com que eles saiam do escopo) antes de chamar GdiplusShutdown.
Você pode chamar GdiplusStartup em um thread e chamar GdiplusShutdown em outro thread, desde que exclua todos os objetos GDI+ (ou faça com que eles saiam do escopo) antes de chamar GdiplusShutdown.
Não chame GdiplusStartup ou GdiplusShutdown em DllMain ou em qualquer função chamada por DllMain. Se você quiser criar uma DLL que use GDI+, deverá usar uma das seguintes técnicas para inicializar o GDI+:
- Exija que seus clientes chamem GdiplusStartup antes de chamar as funções em sua DLL e chamar GdiplusShutdown quando terminarem de usar sua DLL.
- Exporte sua própria função de inicialização que chama GdiplusStartup e sua própria função de desligamento que chama GdiplusShutdown. Exija que seus clientes chamem sua função de inicialização antes que chamem outras funções em sua DLL e chamem sua função de desligamento quando terminarem de usar sua DLL.
- Chame GdiplusStartup e GdiplusShutdown em cada uma de suas funções que fazem chamadas GDI+.
Exemplos
Para obter um exemplo de como chamar GdiplusStartup e GdiplusShutdown em um aplicativo do Windows, consulte Introdução.
O aplicativo de console a seguir usa um objeto GDI+Image para recuperar a largura e a altura de uma imagem JPEG. O código chama GdiplusStartup antes de criar o objeto Image e chama GdiplusShutdown antes de terminar. Observe que o objeto Image é excluído antes da chamada para GdiplusShutdown.
No código a seguir, a variável gdiplusStartupInput é inicializada pelo construtor padrão da estrutura GdiplusStartupInput . O construtor padrão define os membros de dados da estrutura com os seguintes valores:
- 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;
}
Requisitos
Cliente mínimo com suporte | Windows XP, Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | gdiplusinit.h (inclua Gdiplus.h) |
Biblioteca | Gdiplus.lib |
DLL | Gdiplus.dll |