[ros-diffs] [janderwald] 47786: [PORTCLS] - Fix infinite loop - Should fix gabriel_it and igorko1 problem with KsStudio - Add more debugging code to DumpFilterDescriptor

janderwald at svn.reactos.org janderwald at svn.reactos.org
Wed Jun 16 15:41:41 UTC 2010


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/portcls/undoc.cpp?rev=47786&r1=47785&r2=47786&view=diff
==============================================================================
--- 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");
 }




More information about the Ros-diffs mailing list