관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

CreateDC(A) 본문

API 관련/Win32 API 함수

CreateDC(A)

님투 2007. 11. 8. 22:40
반응형

CreateDC(A)

지정된 디바이스의 디바이스 콘텍스트를, 지정된 이름으로 작성합니다.

HDC CreateDCA(
    PCTSTR pszDriver,         // 드라이버명
    PCTSTR pszDevice,         // 디바이스명
    PCTSTR pszOutput,         // NULL
    CONST DEVMODE* pInitData  // 드라이버의 데이터
);

GDI32.DLL

인수

pszDriver

Windows 9x/Me: 0 (NULL) 또는 "WINSPL16" (프린트 프로바이더) (을)를 지정합니다.또, 디스플레이의 디바이스 콘텍스트의 핸들을 취득하려면 , 문자열 "DISPLAY" 또는 특정의 디스플레이 디바이스명을 나타내는 문자열에의 포인터를 지정합니다.이 경우는, 다른 인수를 모두0 (NULL) (으)로 하지 않으면 안됩니다.

Windows NT 4.0: 디스플레이의 디바이스 콘텍스트의 핸들을 취득하려면 , 문자열 "DISPLAY" 에의 포인터를 지정합니다.프린터의 디바이스 콘텍스트의 핸들을 취득하려면 , 프린트 프로바이더의 이름(통상은 "WINSPOOL" )(을)를 나타내는 문자열에의 포인터를 지정합니다.이 경우는, 다른 인수를 모두0 (NULL) (으)로 하지 않으면 안됩니다.

Windows 2000/XP: 디스플레이의 디바이스 콘텍스트의 핸들을 취득하려면 , 문자열 "DISPLAY" 또는 특정의 디스플레이 디바이스명을 나타내는 문자열에의 포인터를 지정합니다.프린터의 디바이스 콘텍스트의 핸들을 취득하려면 , 프린터 드라이버의 이름(통상은 "WINSPOOL" )(을)를 나타내는 문자열에의 포인터를 지정합니다.이 경우는, 다른 인수를 모두0 (NULL) (으)로 하지 않으면 안됩니다.

pszDevice

사용하는 특정의 출력 디바이스명을 나타내는 문자열에의 포인터를 지정합니다.이 디바이스명은, 프린터 모델명이 아니고, 프린트 매니져로 표시되도록(듯이)(예를 들면 「Epson FX-80」 등과) 지정합니다.

유효한 디스플레이 디바이스명을 취득하려면 ,EnumDisplayDevices함수를 호출합니다.

pszDriver에 문자열 "DISPLAY" 또는 특정의 디스플레이 디바이스명을 지정했을 경우는,pszDevice에는 같은 디바이스 명문자열에의 포인터 혹은0 (NULL) (을)를 지정하지 않으면 안됩니다.pszDriver0 (NULL) (을)를 지정하면, 디바이스 드라이버는 프라이머리 디스플레이 디바이스에 대해서 작성됩니다.

Windows NT 3.51/NT 4.0: 디스플레이 디바이스는1개(프라이머리 디스플레이) 뿐입니다.pszDevice에는0 (NULL) (으)로 하지 않으면 안됩니다.

Windows 2000이후: 시스템상에 복수의 모니터가 존재하는 경우,pszDriver에 문자열 "DISPLAY" (을)를 지정해, 다른 인수를 모두0 (NULL) (을)를 지정하면, 모든 모니터를 커버하는 디바이스 콘텍스트가 작성됩니다.

pszOutput

이 파라미터는 무시됩니다.0 (NULL) (을)를 지정합니다.

pInitData

디바이스 드라이버에 대한 디바이스 고유의 초기화 데이터를 격납했다DEVMODE구조체에의 포인터를 지정합니다.디폴트의 초기화를 사용하는 경우는0 (NULL) (을)를 지정합니다.

pszDriver에 문자열 "DISPLAY" (을)를 지정했을 경우는, 에는0 (NULL) (을)를 지정하지 않으면 안됩니다.디스플레이 디바이스의 현재의DEVMODE구조체의 정보가 사용됩니다.

반환값

성공하면 지정한 디바이스에 대한 디바이스 콘텍스트의 핸들이 돌아갑니다.

실패하면 0 (NULL) 하지만 돌아갑니다.

Windows NT/2000/XP: 확장 에러 정보를 취득하려면 , GetLastError함수를 사용합니다.

해설

디바이스 콘텍스트가 불필요하게 되면 DeleteDC함수로 삭제하지 않으면 안됩니다.

Windows 2000/XP: pszDriver(이)나pszDevice에 문자열 "DISPLAY" (을)를 지정했을 경우, 작성된 디바이스 콘텍스트의 핸들은 호출해 스렛드에 의해 소유됩니다.이 스렛드가 파기되면, 그 핸들은 무효가 됩니다.

대응 정보

Windows 95 이후 / Windows NT 3.1 이후

반응형

'API 관련 > Win32 API 함수' 카테고리의 다른 글

CreateFile(A)  (0) 2007.11.08
CreateEllipticRgn  (0) 2007.11.08
CreateCompatibleDC  (0) 2007.11.08
CreateCompatibleBitmap  (0) 2007.11.08
CreateBitmap  (0) 2007.11.08
Comments