다음을 통해 공유


GdiplusStartup 함수(gdiplusinit.h)

GdiplusStartup 함수는 Windows GDI+를 초기화합니다. 다른 GDI+ 호출을 하기 전에 GdiplusStartup 을 호출하고 GDI+를 사용한 후 GdiplusShutdown 을 호출합니다.

구문

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

매개 변수

token

형식: [out] ULONG_PTR 토큰*

토큰을 받는 ULONG_PTR 대한 포인터입니다. GDI+사용을 마쳤으면 토큰을 GdiplusShutdown 에 전달합니다.

input

형식: [in] const GdiplusStartupInput*

GDI+ 버전, 디버그 콜백 함수에 대한 포인터, 백그라운드 스레드를 표시하지 않을지 여부를 지정하는 부울 값 및 외부 이미지 코덱을 표시하지 않을지 여부를 지정하는 부울 값을 포함하는 GdiplusStartupInput 구조체에 대한 포인터입니다.

output

형식: [out] GdiplusStartupOutput*

알림 후크 함수에 대한 포인터와 알림 해제 함수에 대한 포인터를 수신하는 GdiplusStartupOutput 구조체에 대한 포인터입니다. 입력 매개 변수의 SuppressBackgroundThread 데이터 멤버가 FALSE이면 이 매개 변수는 NULL일 수 있습니다.

반환 값

형식: 상태

함수가 성공하면 Status 열거형의 요소인 확인을 반환합니다.

함수가 실패하면 Status 열거형의 다른 요소 중 하나를 반환합니다.

설명

GDI+ 개체를 만들기 전에 GdiplusStartup을 호출해야 하며 GdiplusShutdown을 호출하기 전에 GDI+ 개체를 모두 삭제하거나 scope 제거해야 합니다.

GdiplusShutdown을 호출하기 전에 한 스레드에서 GdiplusStartup을 호출하고 GDI+ 개체를 모두 삭제하거나 scope 나가는 한 다른 스레드에서 GdiplusShutdown을 호출할 수 있습니다.

DllMain 또는 DllMain에서 호출되는 함수에서 GdiplusStartup 또는 GdiplusShutdown을 호출하지 마세요. GDI+를 사용하는 DLL을 만들려면 다음 기술 중 하나를 사용하여 GDI+를 초기화해야 합니다.

  • 클라이언트가 DLL에서 함수를 호출하기 전에 GdiplusStartup 을 호출하고 DLL 사용을 마쳤을 때 GdiplusShutdown 을 호출하도록 요구합니다.
  • GdiplusStartup을 호출하는 고유한 시작 함수와 GdiplusShutdown을 호출하는 고유한 종료 함수를 내보냅니다. 클라이언트가 DLL에서 다른 함수를 호출하기 전에 시작 함수를 호출하고 DLL 사용을 마쳤을 때 종료 함수를 호출하도록 요구합니다.
  • GDI+를 호출하는 각 함수에서 GdiplusStartupGdiplusShutdown 을 호출합니다.
경고 GDI+와 함께 DDE(동적 데이터 교환)를 사용하는 방법에 대한 자세한 내용은 Special CWinApp Services를 참조하세요.
 

예제

Windows 애플리케이션에서 GdiplusStartupGdiplusShutdown을 호출하는 예제는 시작 참조하세요.

다음 콘솔 애플리케이션은 GDI+Image 개체를 사용하여 JPEG 이미지의 너비와 높이를 검색합니다. 이 코드는 Image 개체를 만들기 전에 GdiplusStartup을 호출하고 종료하기 전에 GdiplusShutdown을 호출합니다. Image 개체는 GdiplusShutdown을 호출하기 전에 삭제됩니다.

다음 코드에서 gdiplusStartupInput 변수는 GdiplusStartupInput 구조체의 기본 생성자에 의해 초기화됩니다. 기본 생성자는 구조체의 데이터 멤버를 다음 값으로 설정합니다.

  • 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;
}

요구 사항

   
지원되는 최소 클라이언트 Windows XP, Windows 2000 Professional [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 gdiplusinit.h(Gdiplus.h 포함)
라이브러리 Gdiplus.lib
DLL Gdiplus.dll

참고 항목

GdiplusShutdown

GdiplusStartupInput

GdiplusStartupOutput

시작