GdiplusStartup 函式 (gdiplusinit.h)

GdiplusStartup函式會初始化 Windows GDI+。 在進行任何其他 GDI+ 呼叫之前呼叫 GdiplusStartup ,並在您使用 GDI+ 完成時呼叫 GdiplusShutdown

語法

Status GdiplusStartup(
  ULONG_PTR                 *token,
  const GdiplusStartupInput *input,
  GdiplusStartupOutput      *output
);

參數

token

類型:[out] ULONG_PTR token*

接收權杖 之ULONG_PTR 的指標。 當您使用 GDI+ 完成時,請將權杖傳遞至 GdiplusShutdown

input

類型:[in] const GdiplusStartupInput*

包含 GDI+ 版本的 GdiplusStartupInput結構的指標、偵錯回呼函式的指標、指定是否隱藏背景執行緒的布林值,以及指定是否隱藏外部影像編解碼器的布林值。

output

類型:[out] GdiplusStartupOutput*

GdiplusStartupOutput結構的指標,可接收通知攔截函式的指標,以及通知取消hook 函式的指標。 如果輸入參數的SuppressBackgroundThread資料成員為FALSE,則此參數可以是Null

傳回值

類型: 狀態

如果函式成功,它會傳回 Ok,這是 Status 列舉的元素。

如果函式失敗,它會傳回 Status 列舉的其他其中一個專案。

備註

您必須在建立任何 GDI+ 物件之前先呼叫 GdiplusStartup ,而且必須先刪除所有 GDI+ 物件 (,或讓它們超出範圍) ,再呼叫 GdiplusShutdown

您可以在一個執行緒上呼叫 GdiplusStartup ,並在另一個執行緒上呼叫 GdiplusShutdown ,只要刪除所有 GDI+ 物件 (或讓它們超出範圍) ,再呼叫 GdiplusShutdown即可。

請勿在DllMain 或任何 DllMain所呼叫的函式中呼叫GdiplusStartupGdiplusShutdown。 如果您想要建立使用 GDI+ 的 DLL,您應該使用下列其中一種技術來初始化 GDI+:

  • 要求用戶端在呼叫 DLL 中的函式之前先呼叫 GdiplusStartup ,並在用戶端使用 DLL 完成時呼叫 GdiplusShutdown
  • 匯出您自己呼叫 GdiplusStartup 的啟動函式,以及呼叫 GdiplusShutdown的自有關機函式。 要求用戶端在呼叫 DLL 中的其他函式之前先呼叫啟動函式,並在您使用 DLL 完成時呼叫您的關機函式。
  • 在發出 GDI+ 呼叫的每個函式中呼叫 GdiplusStartupGdiplusShutdown
警告 如需如何搭配 GDI+ 使用動態資料交換 (DDE) 的詳細資訊,請參閱 特殊 CWinApp Services
 

範例

如需在 Windows 應用程式中呼叫GdiplusStartupGdiplusShutdown的範例,請參閱消費者入門

下列主控台應用程式會使用 GDI+Image 物件來擷取 JPEG 影像的寬度和高度。 程式碼會在建立Image物件之前先呼叫GdiplusStartup,並在終止之前呼叫GdiplusShutdown。 請注意,在呼叫GdiplusShutdown之前,會刪除 Image物件。

在下列程式碼中, gdiplusStartupInput 變數是由 GdiplusStartupInput 結構的預設建構函式初始化。 預設建構函式會將 結構的資料成員設定為下列值:

  • GdiplusVersion = 1
  • DebugEventCallback =
  • SuppressBackgroundThread =
  • SuppressExternalCodecs =
#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;
}

需求

   
最低支援的用戶端 Windows XP、Windows 2000 Professional [僅限桌面應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 gdiplusinit.h (包含 Gdiplus.h)
程式庫 Gdiplus.lib
Dll Gdiplus.dll

另請參閱

GdiplusShutdown

GdiplusStartupInput

GdiplusStartupOutput

快速入門