Коммит cfde03ec создал по автору Hervé Poussineau's avatar Hervé Poussineau
Просмотр файлов

[VIDEOPRT] Write monitor EDID to registry

This will be used later by win32k to give only valid display modes
to user mode.
владелец 177cbd81
......@@ -121,6 +121,8 @@ IntVideoPortChildQueryId(
{
PWCHAR Buffer = NULL, StaticBuffer;
UNICODE_STRING UnicodeStr;
HANDLE hKey;
NTSTATUS Status;
switch (IrpSp->Parameters.QueryId.IdType)
{
......@@ -197,6 +199,22 @@ IntVideoPortChildQueryId(
/* Add the second null terminator */
Buffer[wcslen(StaticBuffer) + 1] = UNICODE_NULL;
}
/* Try to write EDID to registry (ignore errors) */
Status = IoOpenDeviceRegistryKey(ChildExtension->PhysicalDeviceObject,
PLUGPLAY_REGKEY_DEVICE,
MAXIMUM_ALLOWED,
&hKey);
if (NT_SUCCESS(Status))
{
Status = RtlWriteRegistryValue(RTL_REGISTRY_HANDLE,
hKey,
ChildExtension->EdidValid ? L"EDID" : L"BAD_EDID",
REG_BINARY,
ChildExtension->ChildDescriptor,
sizeof(ChildExtension->ChildDescriptor));
ZwClose(hKey);
}
break;
default:
ASSERT(FALSE);
......
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать