Author: cgutman
Date: Sun Aug 21 02:46:00 2011
New Revision: 53351
URL:
http://svn.reactos.org/svn/reactos?rev=53351&view=rev
Log:
[PO]
- Don't mess with the device interface string
- Fixes receiving power button events
- The "ACPI Shutdown" option in the VirtualBox menu works now
Modified:
trunk/reactos/ntoskrnl/po/events.c
Modified: trunk/reactos/ntoskrnl/po/events.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/po/events.c?rev=5…
==============================================================================
--- trunk/reactos/ntoskrnl/po/events.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/po/events.c [iso-8859-1] Sun Aug 21 02:46:00 2011
@@ -166,8 +166,6 @@
BOOLEAN Arrival;
ULONG Caps;
NTSTATUS Status;
- UNICODE_STRING DeviceName;
- UNICODE_STRING DeviceNamePrefix = RTL_CONSTANT_STRING(L"\\??\\");
DPRINT("PopAddRemoveSysCapsCallback(%p %p)\n",
NotificationStructure, Context);
@@ -188,20 +186,10 @@
{
DPRINT("Arrival of %wZ\n", Notification->SymbolicLinkName);
- DeviceName.Length = 0;
- DeviceName.MaximumLength = Notification->SymbolicLinkName->MaximumLength +
DeviceNamePrefix.MaximumLength;
- DeviceName.Buffer = ExAllocatePool(PagedPool, DeviceName.MaximumLength);
- if (!DeviceName.Buffer) return STATUS_INSUFFICIENT_RESOURCES;
-
- RtlCopyUnicodeString(&DeviceName, &DeviceNamePrefix);
- RtlAppendUnicodeStringToString(&DeviceName, Notification->SymbolicLinkName);
-
- DPRINT("Opening handle to %wZ\n", &DeviceName);
-
/* Open the device */
InitializeObjectAttributes(
&ObjectAttributes,
- &DeviceName,
+ Notification->SymbolicLinkName,
OBJ_KERNEL_HANDLE,
NULL,
NULL);
@@ -214,7 +202,7 @@
0);
if (!NT_SUCCESS(Status))
{
- DPRINT("ZwOpenFile() failed with status 0x%08lx\n", Status);
+ DPRINT1("ZwOpenFile() failed with status 0x%08lx\n", Status);
return Status;
}
Status = ObReferenceObjectByHandle(
@@ -226,7 +214,7 @@
NULL);
if (!NT_SUCCESS(Status))
{
- DPRINT("ObReferenceObjectByHandle() failed with status 0x%08lx\n", Status);
+ DPRINT1("ObReferenceObjectByHandle() failed with status 0x%08lx\n",
Status);
ZwClose(FileHandle);
return Status;
}
@@ -247,7 +235,7 @@
&IoStatusBlock);
if (!Irp)
{
- DPRINT("IoBuildDeviceIoControlRequest() failed\n");
+ DPRINT1("IoBuildDeviceIoControlRequest() failed\n");
ZwClose(FileHandle);
return STATUS_INSUFFICIENT_RESOURCES;
}
@@ -260,7 +248,7 @@
}
if (!NT_SUCCESS(Status))
{
- DPRINT("Sending IOCTL_GET_SYS_BUTTON_CAPS failed with status 0x%08x\n",
Status);
+ DPRINT1("Sending IOCTL_GET_SYS_BUTTON_CAPS failed with status 0x%08x\n",
Status);
ZwClose(FileHandle);
return STATUS_INSUFFICIENT_RESOURCES;
}
@@ -277,7 +265,7 @@
SysButtonContext = ExAllocatePool(NonPagedPool, sizeof(SYS_BUTTON_CONTEXT));
if (!SysButtonContext)
{
- DPRINT("ExAllocatePool() failed\n");
+ DPRINT1("ExAllocatePool() failed\n");
ZwClose(FileHandle);
return STATUS_INSUFFICIENT_RESOURCES;
}
@@ -287,7 +275,7 @@
SysButtonContext->DeviceObject = DeviceObject;
if (!SysButtonContext->WorkItem)
{
- DPRINT("IoAllocateWorkItem() failed\n");
+ DPRINT1("IoAllocateWorkItem() failed\n");
ZwClose(FileHandle);
ExFreePool(SysButtonContext);
return STATUS_INSUFFICIENT_RESOURCES;