Snap of code is here:
/*This is the syncmaster monitor EDID*/
UCHAR EDID= {0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x4C,0x2D,0xB7,0x01,0x37,0x31,0x41,0x48,0x10,0x11,0x01,0x03,0x0E,0x22,0x1B,0x78,0x2A,0xAA,0xA5,0xA6,0x54,0x54,0x99,0x26,0x14,0x50,0x54,0xBF,0xEF,0x80,0x81,0x80,0x81,0x40,0x71,0x4F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x30,0x2A,0x00,0x98,0x51,0x00,0x2A,0x40,0x30,0x70,0x13,0x00,0x52,0x0E,0x11,0x00,0x00,0x1E,0x00,0x00,0x00,0xFD,0x00,0x38,0x4B,0x1E,0x51,0x0E,0x00,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0xFC,0x00,0x53,0x79,0x6E,0x63,0x4D,0x61,0x73,0x74,0x65,0x72,0x0A,0x20,0x20,0x00,0x00,0x00,0xFF,0x00,0x48,0x48,0x42,0x50,0x34,0x30,0x33,0x38,0x37,0x35,0x0A,0x20,0x20,0x00,0x59};
if(FALSE==deviceExt->IsMonConnected)
{
*pChildType=Monitor;
VideoDebugPrint((0, “MiniPort::Reporting the monitor info…\r\n”));
RtlCopyMemory(pChildDescriptor,EDID,128);
*pUId=0x1;
deviceExt->IsMonConnected =true;
return VIDEO_ENUM_MORE_DEVICES;
}
return ERROR_NO_MORE_DEVICES;
and once i goto display properties , it alway call IOCTL_VIDEO_GET_CHILD_STATE where i am doing :
if(DevChildIndex==*((ULONG *)RequestPacket->InputBuffer))
{
PULONG ptr;
VideoDebugPrint((0, “—>Miniport:MATHCHING CHILD FOUND\r\n”));
ptr =(ULONG*)RequestPacket->OutputBuffer;
*ptr=(ULONG)VIDEO_CHILD_ACTIVE;
RequestPacket->OutputBufferLength = sizeof(ULONG);
RequestPacket->StatusBlock->Information = sizeof(ULONG);
RequestPacket->StatusBlock->Status =NO_ERROR;
return TRUE;
}
else
{
VideoDebugPrint((0, “—>Miniport:MATHCHING CHILD NOT FOUND\r\n”));
//RequestPacket->OutputBufferLength = sizeof(ULONG);
RequestPacket->StatusBlock->Information = 0;
RequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION;
return TRUE;
}
when i goto display properties, it alway call IOCTL_VIDEO_GET_CHILD_STATE ,3 -4 times and does nt show in display properties. but it is showing the monitor name in “advanced->colormanagement->devices” dropdown list.
Am i doing anything wrong?