다음을 통해 공유


IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS 제어 코드

[이 컨트롤 코드는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이 컨트롤 코드에 대한 지원은 Windows Server 2008 및 Windows Vista에서 제거되었습니다. 대신 WmiMonitorBrightness 클래스를 사용합니다.]

현재 AC 및 DC 백라이트 수준 및 현재 전원 상태를 검색합니다.

이 작업을 수행하려면 다음 매개 변수를 사용하여 DeviceIoControl 함수를 호출합니다.

BOOL DeviceIoControl(
  (HANDLE) hDevice,                // handle to device
  IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS,  // dwIoControlCode
  NULL,                            // lpInBuffer
  0,                               // nInBufferSize
  (LPVOID) lpOutBuffer,            // output buffer
  (DWORD) nOutBufferSize,          // size of output buffer
  (LPDWORD) lpBytesReturned,       // number of bytes returned
  (LPOVERLAPPED) lpOverlapped      // OVERLAPPED structure
);

매개 변수

hDevice

\\.\LCD 디바이스에 대한 핸들입니다. 디바이스 핸들을 검색하려면 CreateFile 함수를 호출합니다.

dwIoControlCode

작업을 위한 제어 코드입니다. 이 값은 수행할 특정 작업과 수행할 디바이스 유형을 식별합니다. 이 작업에 는 IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS 사용합니다.

lpInBuffer

이 작업에는 사용되지 않습니다. NULL로 설정합니다.

nInBufferSize

이 작업에는 사용되지 않습니다. 를 0으로 설정합니다.

lpOutBuffer

DISPLAY_BRIGHTNESS 구조를 수신할 버퍼에 대한 포인터입니다.

nOutBufferSize

출력 버퍼의 크기(바이트)입니다.

lpBytesReturned

반환된 출력 데이터의 크기(바이트)를 수신하는 변수에 대한 포인터입니다.

출력 버퍼가 너무 작아서 데이터를 반환하지 못하면 호출이 실패하고 GetLastError 는 ERROR_INSUFFICIENT_BUFFER 오류 코드를 반환하고 반환된 바이트 수는 0입니다.

출력 버퍼가 너무 작아서 모든 데이터를 저장할 수 없지만 일부 항목을 보유할 수 있는 경우 운영 체제는 가능한 한 많이 반환되고, 호출이 실패하고, GetLastError 가 ERROR_MORE_DATA 오류 코드를 반환하고, lpBytesReturned은 반환되는 데이터의 양을 나타냅니다. 애플리케이션은 동일한 작업으로 DeviceIoControl 을 다시 호출하고 새 시작점을 지정해야 합니다.

lpOverlappedNULL(오버랩되지 않은 I/O)인 경우 lpBytesReturnedNULL일 수 없습니다.

lpOverlappedNULL(겹치는 I/O)이 아닌 경우 lpBytesReturnedNULL일 수 있습니다. 겹치는 작업인 경우 GetOverlappedResult 함수를 호출하여 반환된 바이트 수를 검색할 수 있습니다. hDevice가 I/O 완성 포트와 연결된 경우 GetQueuedCompletionStatus 함수를 호출하여 반환된 바이트 수를 가져올 수 있습니다.

lpOverlapped

OVERLAPPED 구조에 대한 포인터입니다.

FILE_FLAG_OVERLAPPED 플래그를 사용하여 hDevice 를 연 경우 lpOverlapped 는 유효한 OVERLAPPED 구조를 가리킵니다. 이 경우 작업은 겹치는(비동기) 작업으로 수행됩니다. 디바이스가 FILE_FLAG_OVERLAPPED 플래그로 열렸고 lpOverlappedNULL인 경우 예기치 않은 방식으로 함수가 실패합니다.

FILE_FLAG_OVERLAPPED 플래그를 지정하지 않고 hDevice 를 연 경우 lpOverlapped 는 무시되고 DeviceIoControl 은 작업이 완료될 때까지 또는 오류가 발생할 때까지 반환되지 않습니다.

반환 값

작업이 성공적으로 완료되면 DeviceIoControl은 0이 아닌 값을 반환합니다.

작업이 실패하거나 보류 중인 경우 DeviceIoControl은 0을 반환합니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

이 기능인 Ntddvdeo.h를 포함하는 애플리케이션을 빌드하는 데 사용되는 헤더 파일은 Microsoft Windows DDK(드라이버 개발 키트)에 포함되어 있습니다. DDK를 가져오는 방법에 대한 자세한 내용은 를 참조하세요 https://www.microsoft.com/whdc/devtools/ddk/default.mspx.

또는 다음과 같이 이 제어 코드를 정의할 수 있습니다.

#define IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS \
  CTL_CODE(FILE_DEVICE_VIDEO, 0x126, METHOD_BUFFERED, FILE_ANY_ACCESS)

요구 사항

요구 사항
지원되는 최소 클라이언트
SP1이 설치된 Windows XP[데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003 [데스크톱 앱만 해당]
클라이언트 지원 종료
Windows XP SP2
서버 지원 종료
Windows Server 2003 R2
헤더
Ntddvdeo.h

추가 정보

백라이트 컨트롤 인터페이스

DeviceIoControl

DISPLAY_BRIGHTNESS

IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS