LCD screen brightness control for MacBook with Intel GMA X3100 chipset

In my previous post, The Strange DeviceIoControl result with IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS, I said that query LCD screen as described in MSDN document didn’t work. Today I found out the reason. To tell the truth, I use a MacBook 13″ White with Intel GMA 950 chipset for the graphics component. So, the Windos 7 x64 couldn’t find a proper device driver for the built-in LCD screen and just installed Generic PnP display driver.

When a proper device driver is installed, it registers its device name. However, in the “Generic PnP display” driver case, it doesn’t register itself as “LCD”. So, the CreateFile() can’t create a handle to an LCD screen with that device name.

Then, what is a proper name for the unregistered device? It is not documented in any MSDN document. However, with help of querydosdevice program, I could find out the device name.

This is the device name.

So, in a source code, you will access the unregistered device like this.

// 1. Query the Backlight supported device
// IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS s
HANDLE hLCDScreen;
hLCDScreen = CreateFile( _T("\\\\.\\DISPLAY#APP9C5F#4&30ca27f4&0&UID67568640#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}"), GENERIC_READ,			// No access to the drive 
						FILE_SHARE_READ | FILE_SHARE_WRITE,	// share mode
						NULL,								// default security attributes
						OPEN_EXISTING,						// Disposition
						0,
						NULL );
if( hLCDScreen == INVALID_HANDLE_VALUE )
{
	dwError = GetLastError();
	TRACE1( "CreateFile() error(%d)\n", dwError );

	return;
}

However, the Generic PnP Display driver doesn’t support brightness level. So, I couldn’t write any more codes to control the brightness.

Can anyone tell me what chipset MacBook with Intel GMA 940 uses for LCD screen? or tell me where I can find a proper device driver?

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: