mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 15:26:02 +00:00
[AUDIO-BRINGUP]
- Fix the famous node property handler bug, leading to lots of audio related crashes svn path=/branches/audio-bringup/; revision=49958
This commit is contained in:
parent
d8bb0e8df8
commit
b913ec3d17
1 changed files with 9 additions and 12 deletions
|
@ -165,7 +165,7 @@ PropertyItemDispatch(
|
|||
|
||||
// get instance / value size
|
||||
InstanceSize = IoStack->Parameters.DeviceIoControl.InputBufferLength;
|
||||
Instance = Data;
|
||||
Instance = Request;
|
||||
ValueSize = IoStack->Parameters.DeviceIoControl.OutputBufferLength;
|
||||
|
||||
// initialize property request
|
||||
|
@ -273,18 +273,15 @@ PropertyItemDispatch(
|
|||
if (PropertyRequest->PropertyItem && PropertyRequest->PropertyItem->Handler)
|
||||
{
|
||||
// now call the handler
|
||||
UNICODE_STRING GuidBuffer;
|
||||
RtlStringFromGUID(Property->Set, &GuidBuffer);
|
||||
DPRINT1("Calling Node %lu MajorTarget %p MinorTarget %p PropertySet %S PropertyId %lu PropertyFlags %lx InstanceSize %lu ValueSize %lu Handler %p PropertyRequest %p PropertyItemFlags %lx PropertyItemId %lu\n",
|
||||
PropertyRequest->Node, PropertyRequest->MajorTarget, PropertyRequest->MinorTarget, GuidBuffer.Buffer, Property->Id, Property->Flags, PropertyRequest->InstanceSize, PropertyRequest->ValueSize,
|
||||
PropertyRequest->PropertyItem->Handler, PropertyRequest, PropertyRequest->PropertyItem->Flags, PropertyRequest->PropertyItem->Id);
|
||||
#if 1
|
||||
//UNICODE_STRING GuidBuffer;
|
||||
//RtlStringFromGUID(Property->Set, &GuidBuffer);
|
||||
//DPRINT("Calling Node %lu MajorTarget %p MinorTarget %p PropertySet %S PropertyId %lu PropertyFlags %lx InstanceSize %lu ValueSize %lu Handler %p PropertyRequest %p PropertyItemFlags %lx PropertyItemId %lu\n",
|
||||
// PropertyRequest->Node, PropertyRequest->MajorTarget, PropertyRequest->MinorTarget, GuidBuffer.Buffer, Property->Id, Property->Flags, PropertyRequest->InstanceSize, PropertyRequest->ValueSize,
|
||||
// PropertyRequest->PropertyItem->Handler, PropertyRequest, PropertyRequest->PropertyItem->Flags, PropertyRequest->PropertyItem->Id);
|
||||
|
||||
Status = PropertyRequest->PropertyItem->Handler(PropertyRequest);
|
||||
DPRINT1("Status %lx ValueSize %lu Information %lu\n", Status, PropertyRequest->ValueSize, Irp->IoStatus.Information);
|
||||
#else
|
||||
Status = STATUS_NOT_FOUND;
|
||||
#endif
|
||||
Irp->IoStatus.Information = PropertyRequest->ValueSize;
|
||||
//DPRINT("Status %lx ValueSize %lu Information %lu\n", Status, PropertyRequest->ValueSize, Irp->IoStatus.Information);
|
||||
Irp->IoStatus.Information = PropertyRequest->ValueSize;
|
||||
|
||||
if (Status != STATUS_PENDING)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue