EngCreateBitmap 함수(winddi.h)
EngCreateBitmap 함수는 GDI가 비트맵을 만들고 관리해 줄 것을 요청합니다.
구문
ENGAPI HBITMAP EngCreateBitmap(
SIZEL sizl,
LONG lWidth,
[in] ULONG iFormat,
[in] FLONG fl,
[in] PVOID pvBits
);
매개 변수
sizl
만들 비트맵의 너비와 높이를 픽셀 단위로 포함하는 멤버의 SIZEL 구조를 지정합니다. SIZEL 구조체는 SIZE 구조체와 동일합니다.
pvBits가 NULL이 아닌 경우 이 값은 디바이스에 표시되는 모든 픽셀을 나타내야 하므로 디바이스가 화면 외부 메모리를 유지할 수 있습니다.
lWidth
한 검색 줄 아래로 이동하려면 포인터에 추가해야 하는 바이트 수인 비트맵의 할당 너비를 지정합니다.
[in] iFormat
필요한 픽셀당 색 정보의 비트 수 측면에서 비트맵의 형식을 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
BMF_1BPP | 단색 |
BMF_4BPP | 픽셀당 4비트 |
BMF_8BPP | 픽셀당 8비트 |
BMF_16BPP | 픽셀당 16비트 |
BMF_24BPP | 픽셀당 24비트 |
BMF_32BPP | 픽셀당 32비트 |
BMF_4RLE | 픽셀당 4비트; 실행 길이 인코딩됨 |
BMF_8RLE | 픽셀당 8비트; 실행 길이 인코딩됨 |
[in] fl
만들 비트맵에 대한 속성을 지정하는 비트 마스크입니다. 이 매개 변수는 0이거나 다음 값의 조합일 수 있습니다.
값 | 의미 |
---|---|
BMF_NOZEROINIT | GDI는 비트맵을 할당할 때 비트맵을 0으로 초기화하지 않습니다. 이 플래그는 pvBits 가 NULL인 경우에만 확인됩니다. |
BMF_TOPDOWN | 첫 번째 검사 줄은 비트맵의 위쪽을 나타냅니다. 표준 형식 비트맵은 기본적으로 맨 아래에 첫 번째 검사 줄이 있습니다. |
BMF_USERMEM | GDI는 사용자 메모리에서 비트맵에 대한 메모리를 할당합니다. 기본적으로 메모리는 커널의 주소 공간에서 할당됩니다. 이 플래그는 생성되는 비트맵이 다른 프로세스에서 사용되지 않는 경우에만 지정해야 합니다. 프린터 드라이버에서 사용자 메모리를 EngWritePrinter 에 전달할 수 없습니다. |
[in] pvBits
만들 비트맵의 첫 번째 검사 줄에 대한 포인터입니다. 이 매개 변수가 NULL이면 GDI는 비트맵의 픽셀에 대한 스토리지 공간을 할당합니다. pvBits가 NULL이 아닌 경우 비트맵에 대한 버퍼에 대한 포인터입니다.
반환 값
함수가 성공적으로 완료되면 반환 값은 생성된 비트맵을 식별하는 핸들입니다. 그렇지 않으면 반환 값은 0입니다. EngCreateBitmap 은 오류 코드를 기록하지 않습니다.
설명
비트맵에 대한 스토리지는 필요에 따라 드라이버에서 제공할 수 있습니다.
드라이버는 DrvEnableSurface에서 반환하기 전에 EngAssociateSurface를 호출하여 생성된 비트맵을 표면으로 연결해야 합니다.
비트맵은 더 이상 필요하지 않은 경우 EngDeleteSurface 를 사용하여 삭제해야 합니다.
프레임 버퍼 표시 드라이버는 pvBits 매개 변수를 사용해야 하므로 GDI가 디스플레이에 직접 대부분의 그리기를 수행할 수 있습니다.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | winddi.h(Winddi.h 포함) |
라이브러리 | Win32k.lib |
DLL | Win32k.sys |