Author: janderwald
Date: Wed Jun 16 15:41:41 2010
New Revision: 47786
URL:
http://svn.reactos.org/svn/reactos?rev=47786&view=rev
Log:
[PORTCLS]
- Fix infinite loop
- Should fix gabriel_it and igorko1 problem with KsStudio
- Add more debugging code to DumpFilterDescriptor
Modified:
trunk/reactos/drivers/wdm/audio/backpln/portcls/undoc.cpp
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/undoc.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/…
==============================================================================
--- trunk/reactos/drivers/wdm/audio/backpln/portcls/undoc.cpp [iso-8859-1] (original)
+++ trunk/reactos/drivers/wdm/audio/backpln/portcls/undoc.cpp [iso-8859-1] Wed Jun 16
15:41:41 2010
@@ -133,7 +133,7 @@
for (Index = 0; Index < Node->AutomationTable->PropertyCount; Index++)
{
BOOL Found = FALSE;
- for (SubIndex = 0; SubIndex < Count; Index++)
+ for (SubIndex = 0; SubIndex < Count; SubIndex++)
{
if (IsEqualGUIDAligned(Buffer[SubIndex], *PropertyItem->Set))
{
@@ -346,7 +346,7 @@
{
//request completed
Irp->IoStatus.Information = PropertyRequest->ValueSize;
- ExFreePool(PropertyRequest);
+ FreeItem(PropertyRequest, TAG_PORTCLASS);
}
// done
@@ -440,12 +440,12 @@
- DPRINT1("======================\n");
- DPRINT1("Descriptor Automation
Table%p\n",FilterDescription->AutomationTable);
+ DPRINT("======================\n");
+ DPRINT("Descriptor Automation Table
%p\n",FilterDescription->AutomationTable);
if (FilterDescription->AutomationTable)
{
- DPRINT1("FilterPropertiesCount %u FilterPropertySize %u Expected %u Events
%u EventItemSize %u expected %u\n",
FilterDescription->AutomationTable->PropertyCount,
FilterDescription->AutomationTable->PropertyItemSize, sizeof(PCPROPERTY_ITEM),
+ DPRINT("FilterPropertiesCount %u FilterPropertySize %u Expected %u Events %u
EventItemSize %u expected %u\n",
FilterDescription->AutomationTable->PropertyCount,
FilterDescription->AutomationTable->PropertyItemSize, sizeof(PCPROPERTY_ITEM),
FilterDescription->AutomationTable->EventCount,
FilterDescription->AutomationTable->EventItemSize, sizeof(PCEVENT_ITEM));
if (FilterDescription->AutomationTable->PropertyCount)
{
@@ -463,7 +463,7 @@
for(Index = 0; Index <
FilterDescription->AutomationTable->EventCount; Index++)
{
RtlStringFromGUID(*EventItem->Set, &GuidString);
- DPRINT1("EventIndex %u GUID %S Id %u Flags %x\n", Index,
GuidString.Buffer, EventItem->Id, EventItem->Flags);
+ DPRINT("EventIndex %u GUID %S Id %u Flags %x\n", Index,
GuidString.Buffer, EventItem->Id, EventItem->Flags);
EventItem = (PPCEVENT_ITEM)((ULONG_PTR)EventItem +
FilterDescription->AutomationTable->EventItemSize);
}
@@ -473,7 +473,7 @@
if (FilterDescription->Nodes)
{
- DPRINT1("NodeCount %u NodeSize %u expected %u\n",
FilterDescription->NodeCount, FilterDescription->NodeSize,
sizeof(PCNODE_DESCRIPTOR));
+ DPRINT("NodeCount %u NodeSize %u expected %u\n",
FilterDescription->NodeCount, FilterDescription->NodeSize,
sizeof(PCNODE_DESCRIPTOR));
NodeDescriptor = (PPCNODE_DESCRIPTOR)FilterDescription->Nodes;
for(Index = 0; Index < FilterDescription->NodeCount; Index++)
{
@@ -481,12 +481,12 @@
if (NodeDescriptor->AutomationTable)
{
- DPRINT1("Index %u EventCount %u\n", Index,
NodeDescriptor->AutomationTable->EventCount);
+ DPRINT(" Index %u EventCount %u\n", Index,
NodeDescriptor->AutomationTable->EventCount);
EventItem =
(PPCEVENT_ITEM)NodeDescriptor->AutomationTable->Events;
for(SubIndex = 0; SubIndex <
NodeDescriptor->AutomationTable->EventCount; SubIndex++)
{
RtlStringFromGUID(*EventItem->Set, &GuidString);
- DPRINT1("EventIndex %u GUID %S Id %u Flags %x\n", Index,
GuidString.Buffer, EventItem->Id, EventItem->Flags);
+ DPRINT(" EventIndex %u GUID %S Id %u Flags %x\n",
SubIndex, GuidString.Buffer, EventItem->Id, EventItem->Flags);
EventItem = (PPCEVENT_ITEM)((ULONG_PTR)EventItem +
NodeDescriptor->AutomationTable->EventItemSize);
}
@@ -501,7 +501,21 @@
}
-
+ DPRINT("ConnectionCount: %lu\n", FilterDescription->ConnectionCount);
+
+ if (FilterDescription->ConnectionCount)
+ {
+ DPRINT("------ Start of Nodes Connections ----------------\n");
+ for(Index = 0; Index < FilterDescription->ConnectionCount; Index++)
+ {
+ DPRINT1("Index %ld FromPin %ld FromNode %ld -> ToPin %ld ToNode
%ld\n", Index,
+
FilterDescription->Connections[Index].FromNodePin,
+
FilterDescription->Connections[Index].FromNode,
+
FilterDescription->Connections[Index].ToNodePin,
+
FilterDescription->Connections[Index].ToNode);
+ }
+ DPRINT("------ End of Nodes Connections----------------\n");
+ }
DPRINT1("======================\n");
}