Fungsi GdiplusStartup (gdiplusinit.h)

Fungsi GdiplusStartup menginisialisasi Windows GDI+. Hubungi GdiplusStartup sebelum melakukan panggilan GDI+ lainnya, dan panggil GdiplusShutdown ketika Anda telah selesai menggunakan GDI+.

Sintaks

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

Parameter

token

Jenis: [out] ULONG_PTR token*

Arahkan ke ULONG_PTR yang menerima token. Teruskan token ke GdiplusShutdown setelah Anda selesai menggunakan GDI+.

input

Jenis: [in] const GdiplusStartupInput*

Penunjuk ke struktur GdiplusStartupInput yang berisi versi GDI+, penunjuk ke fungsi panggilan balik debug, nilai Boolean yang menentukan apakah akan menekan utas latar belakang, dan nilai Boolean yang menentukan apakah akan menekan codec gambar eksternal.

output

Jenis: [out] GdiplusStartupOutput*

Penunjuk ke struktur GdiplusStartupOutput yang menerima penunjuk ke fungsi hook pemberitahuan dan penunjuk ke fungsi unhook pemberitahuan. Jika anggota data SuppressBackgroundThread dari parameter inputadalah FALSE, maka parameter ini dapat berupa NULL.

Menampilkan nilai

Jenis: Status

Jika fungsi berhasil, fungsi mengembalikan Ok, yang merupakan elemen enumerasi Status .

Jika fungsi gagal, fungsi mengembalikan salah satu elemen lain dari enumerasi Status .

Keterangan

Anda harus memanggil GdiplusStartup sebelum membuat objek GDI+, dan Anda harus menghapus semua objek GDI+ Anda (atau mengeluarkannya dari cakupan) sebelum Anda memanggil GdiplusShutdown.

Anda dapat memanggil GdiplusStartup pada satu utas dan memanggil GdiplusShutdown di utas lain selama Anda menghapus semua objek GDI+ Anda (atau mengeluarkannya dari cakupan) sebelum Anda memanggil GdiplusShutdown.

Jangan panggil GdiplusStartup atau GdiplusShutdown di DllMain atau dalam fungsi apa pun yang dipanggil oleh DllMain. Jika Anda ingin membuat DLL yang menggunakan GDI+, Anda harus menggunakan salah satu teknik berikut untuk menginisialisasi GDI+:

  • Wajibkan klien Anda untuk memanggil GdiplusStartup sebelum mereka memanggil fungsi di DLL Anda dan untuk memanggil GdiplusShutdown ketika mereka telah selesai menggunakan DLL Anda.
  • Ekspor fungsi startup Anda sendiri yang memanggil GdiplusStartup dan fungsi matikan Anda sendiri yang memanggil GdiplusShutdown. Wajibkan klien Anda untuk memanggil fungsi startup Anda sebelum mereka memanggil fungsi lain di DLL Anda dan untuk memanggil fungsi matikan Anda ketika mereka telah selesai menggunakan DLL Anda.
  • Panggil GdiplusStartup dan GdiplusShutdown di setiap fungsi Anda yang melakukan panggilan GDI+.
Peringatan Untuk informasi tentang cara menggunakan pertukaran data dinamis (DDE) dengan GDI+, lihat Layanan CWinApp Khusus.
 

Contoh

Untuk contoh memanggil GdiplusStartup dan GdiplusShutdown di aplikasi Windows, lihat Memulai.

Aplikasi konsol berikut menggunakan objek GDI+Image untuk mengambil lebar dan tinggi gambar JPEG. Kode memanggil GdiplusStartup sebelum membuat objek Gambar dan memanggil GdiplusShutdown sebelum mengakhiri. Perhatikan bahwa objek Gambar dihapus sebelum panggilan ke GdiplusShutdown.

Dalam kode berikut, variabel gdiplusStartupInput diinisialisasi oleh konstruktor default struktur GdiplusStartupInput . Konstruktor default mengatur anggota data struktur ke nilai berikut:

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

Persyaratan

   
Klien minimum yang didukung Windows XP, Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header gdiplusinit.h (termasuk Gdiplus.h)
Pustaka Gdiplus.lib
DLL Gdiplus.dll

Lihat juga

GdiplusShutdown

GdiplusStartupInput

GdiplusStartupOutput

Memulai