다음을 통해 공유


CreateDCA 함수(wingdi.h)

CreateDC 함수는 지정된 이름을 사용하여 디바이스에 대한 DC(디바이스 컨텍스트)를 만듭니다.

구문

HDC CreateDCA(
       LPCSTR         pwszDriver,
  [in] LPCSTR         pwszDevice,
       LPCSTR         pszPort,
  [in] const DEVMODEA *pdm
);

매개 변수

pwszDriver

DISPLAY 또는 특정 디스플레이 디바이스의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 인쇄의 경우 GDI가 프린터 디바이스에 대해 lpszDriver를 무시하므로 lpszDriverNULL을 전달하는 것이 좋습니다.

[in] pwszDevice

인쇄 관리자(예: Epson FX-80)에 표시된 대로 사용 중인 특정 출력 디바이스의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 프린터 모델 이름이 아닙니다. lpszDevice 매개 변수를 사용해야 합니다.

디스플레이에 유효한 이름을 가져오려면 EnumDisplayDevices를 호출합니다.

lpszDriver가 DISPLAY이거나 특정 디스플레이 디바이스의 디바이스 이름인 경우 lpszDeviceNULL 또는 동일한 디바이스 이름이어야 합니다. lpszDeviceNULL이면 기본 디스플레이 디바이스에 대한 DC가 만들어집니다.

시스템에 모니터가 여러 대 있는 경우 를 호출 CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL) 하면 모든 모니터를 포함하는 DC가 만들어집니다.

pszPort

이 매개 변수는 무시되며 NULL로 설정해야 합니다. 16비트 Windows와의 호환성을 위해서만 제공됩니다.

[in] pdm

디바이스 드라이버에 대한 디바이스별 초기화 데이터를 포함하는 DEVMODE 구조체에 대한 포인터입니다. DocumentProperties 함수는 지정된 디바이스에 대해 채워진 이 구조를 검색합니다. 디바이스 드라이버가 사용자가 지정한 기본 초기화(있는 경우)를 사용하는 경우 pdm 매개 변수는 NULL 이어야 합니다.

lpszDriver가 DISPLAY이면 pdmNULL이어야 합니다. 그런 다음 GDI는 디스플레이 디바이스의 현재 DEVMODE를 사용합니다.

반환 값

함수가 성공하면 반환 값은 지정된 디바이스에 대한 DC에 대한 핸들입니다.

함수가 실패하면 반환 값은 NULL입니다.

설명

DC에 대한 핸들은 한 번에 단일 스레드에서만 사용할 수 있습니다.

lpszDriverlpszDevice 매개 변수의 경우 EnumDisplayDevices를 호출하여 표시에 대한 유효한 이름을 가져옵니다.

DC가 더 이상 필요하지 않은 경우 DeleteDC 함수를 호출합니다.

lpszDriver 또는 lpszDevice가 DISPLAY인 경우 CreateDC를 호출하는 스레드는 생성된 HDC를 소유합니다. 이 스레드가 제거되면 HDC 가 더 이상 유효하지 않습니다. 따라서 HDC 를 만들고 다른 스레드에 전달한 다음 첫 번째 스레드를 종료하면 두 번째 스레드는 HDC를 사용할 수 없습니다.

CreateDC를 호출하여 디스플레이 디바이스에 대한 HDC를 만들 때 lpszDevice가 지정하는 디스플레이 디바이스의 현재 DEVMODE와 일치하는 NULL 또는 DEVMODE에 대한 포인터를 pdm에 전달해야 합니다. NULL을 전달하는 것이 좋으며 현재 디스플레이 디바이스의 DEVMODE와 정확히 일치하지 않는 것이 좋습니다.

CreateDC를 호출하여 프린터 디바이스에 대한 HDC를 만들면 프린터 드라이버가 DEVMODE의 유효성을 검사합니다. 프린터 드라이버가 DEVMODE 가 유효하지 않다고 판단하는 경우(즉, 프린터 드라이버가 DEVMODE를 변환하거나 사용할 수 없음) 프린터 드라이버는 프린터 디바이스에 대한 HDC를 만드는 기본 DEVMODE 를 제공합니다.

Icm: ICM을 사용하도록 설정하려면 DEVMODE 구조체의 dmICMMethod 멤버(pInitData 매개 변수로 가리킴)를 적절한 값으로 설정합니다.

예제

예제는 이미지 캡처를 참조하세요.

참고

wingdi.h 헤더는 CREATEDC를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 wingdi.h(Windows.h 포함)
라이브러리 Gdi32.lib
DLL Gdi32.dll

추가 정보

Devmode

DOCINFO

DeleteDC

디바이스 컨텍스트 함수

디바이스 컨텍스트 개요

DocumentProperties

EnumDisplayDevices

여러 디스플레이 모니터

Startdoc