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所呼叫的函式中呼叫GdiplusStartup或GdiplusShutdown。 如果您想要建立使用 GDI+ 的 DLL,您應該使用下列其中一種技術來初始化 GDI+:
- 要求用戶端在呼叫 DLL 中的函式之前先呼叫 GdiplusStartup ,並在用戶端使用 DLL 完成時呼叫 GdiplusShutdown 。
- 匯出您自己呼叫 GdiplusStartup 的啟動函式,以及呼叫 GdiplusShutdown的自有關機函式。 要求用戶端在呼叫 DLL 中的其他函式之前先呼叫啟動函式,並在您使用 DLL 完成時呼叫您的關機函式。
- 在發出 GDI+ 呼叫的每個函式中呼叫 GdiplusStartup 和 GdiplusShutdown 。
範例
如需在 Windows 應用程式中呼叫GdiplusStartup和GdiplusShutdown的範例,請參閱消費者入門。
下列主控台應用程式會使用 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 |