[BDASUP]
authorJohannes Anderwald <johannes.anderwald@reactos.org>
Wed, 31 Mar 2010 15:37:36 +0000 (15:37 +0000)
committerJohannes Anderwald <johannes.anderwald@reactos.org>
Wed, 31 Mar 2010 15:37:36 +0000 (15:37 +0000)
- Fix initialization of filter /  pin automation table
- Add debug traces

svn path=/trunk/; revision=46622

reactos/drivers/multimedia/bdasup/bdasup.c

index 82a357a..f2589c1 100644 (file)
@@ -52,13 +52,13 @@ KSMETHOD_SET FilterMethodSet =
 KSAUTOMATION_TABLE FilterAutomationTable =
 {
     1,
-    sizeof(KSPROPERTY_SET),
+    sizeof(KSPROPERTY_ITEM),
     &FilterPropertySet,
     1,
-    sizeof(KSMETHOD_SET),
+    sizeof(KSMETHOD_ITEM),
     &FilterMethodSet,
     0,
-    sizeof(KSEVENT_SET),
+    sizeof(KSEVENT_ITEM),
     NULL
 };
 
@@ -80,13 +80,13 @@ KSPROPERTY_SET PinPropertySet =
 KSAUTOMATION_TABLE PinAutomationTable =
 {
     1,
-    sizeof(KSPROPERTY_SET),
+    sizeof(KSPROPERTY_ITEM),
     &PinPropertySet,
     0,
-    sizeof(KSMETHOD_SET),
+    sizeof(KSMETHOD_ITEM),
     NULL,
     0,
-    sizeof(KSEVENT_SET),
+    sizeof(KSEVENT_ITEM),
     NULL
 };
 
@@ -157,6 +157,8 @@ NTAPI
 DllInitialize(
     PUNICODE_STRING  RegistryPath)
 {
+    DPRINT("BDASUP::DllInitialize\n");
+
     KeInitializeSpinLock(&g_Settings.FilterFactoryInstanceListLock);
     InitializeListHead(&g_Settings.FilterFactoryInstanceList);
     g_Settings.Initialized = TRUE;
@@ -171,6 +173,8 @@ NTSTATUS
 NTAPI
 BdaCheckChanges(IN PIRP  Irp)
 {
+    DPRINT("BdaCheckChanges\n");
+
     if (!Irp)
         return STATUS_INVALID_PARAMETER;
 
@@ -184,6 +188,8 @@ NTSTATUS
 NTAPI
 BdaCommitChanges(IN PIRP  Irp)
 {
+    DPRINT("BdaCommitChanges\n");
+
     if (!Irp)
         return STATUS_INVALID_PARAMETER;
 
@@ -257,6 +263,7 @@ BdaCreateFilterFactoryEx(
     NTSTATUS Status;
     KSFILTER_DESCRIPTOR FilterDescriptor;
 
+    DPRINT("BdaCreateFilterFactoryEx\n");
     /* backup filter descriptor */
     RtlMoveMemory(&FilterDescriptor, pFilterDescriptor, sizeof(KSFILTER_DESCRIPTOR));
 
@@ -265,7 +272,10 @@ BdaCreateFilterFactoryEx(
 
     /* check for success */
     if (!NT_SUCCESS(Status))
+    {
+        DPRINT1("KsMergeAutomationTables failed with %lx\n", Status);
         return Status;
+    }
 
     /* allocate filter instance */
     FilterInstance = AllocateItem(NonPagedPool, sizeof(BDA_FILTER_INSTANCE_ENTRY));
@@ -287,6 +297,7 @@ BdaCreateFilterFactoryEx(
         if (!NT_SUCCESS(Status))
         {
             /* destroy filter instance */
+            DPRINT1("KsAddItemToObjectBag failed with %lx\n", Status);
             FreeItem(FilterInstance);
             KsDeleteFilterFactory(FilterFactory);
             return Status;
@@ -316,9 +327,11 @@ BdaCreateFilterFactoryEx(
     {
         /* failed to create filter factory */
         FreeItem(FilterInstance);
+        DPRINT1("KsCreateFilterFactory failed with %lx\n", Status);
     }
 
     /* done */
+    DPRINT("BdaCreateFilterFactoryEx Status %x\n", Status);
     return Status;
 }
 
@@ -339,6 +352,8 @@ BdaCreatePin(
     ULONG PinId;
     KSPIN_DESCRIPTOR_EX NewPinDescriptor;
 
+    DPRINT("BdaCreatePin\n");
+
     if (!pulPinId || !pKSFilter)
         return STATUS_INVALID_PARAMETER;
 
@@ -419,6 +434,8 @@ BdaMethodCreatePin(
     PKSM_PIN Pin;
     PKSFILTER Filter;
 
+    DPRINT("BdaMethodCreatePin\n");
+
     if (!Irp)
     {
         /* invalid parameter */
@@ -453,6 +470,8 @@ BdaInitFilter(
     ULONG Index, PinId;
     NTSTATUS Status = STATUS_SUCCESS;
 
+    DPRINT("BdaInitFilter\n");
+
     /* check input parameters */
     if (!pKSFilter)
         return STATUS_INVALID_PARAMETER;
@@ -501,6 +520,8 @@ BdaCreateTopology(
     PKSFILTERFACTORY FilterFactory;
     KSTOPOLOGY_CONNECTION Connection;
 
+    DPRINT("BdaCreateTopology\n");
+
     /* check input parameters */
     if (!pKSFilter)
         return STATUS_INVALID_PARAMETER;
@@ -547,6 +568,7 @@ BdaDeletePin(
     IN ULONG *pulPinId)
 {
     UNIMPLEMENTED
+    DPRINT("BdaDeletePin\n");
     return STATUS_NOT_IMPLEMENTED;
 }
 
@@ -559,6 +581,7 @@ BdaFilterFactoryUpdateCacheData(
     IN PKSFILTERFACTORY FilterFactory,
     IN const KSFILTER_DESCRIPTOR *FilterDescriptor OPTIONAL)
 {
+    DPRINT("BdaFilterFactoryUpdateCacheData\n");
     return KsFilterFactoryUpdateCacheData(FilterFactory, FilterDescriptor);
 }
 
@@ -571,6 +594,8 @@ BdaGetChangeState(
     IN PIRP Irp,
     OUT BDA_CHANGE_STATE *ChangeState)
 {
+    DPRINT("BdaGetChangeState\n");
+
     if (Irp && ChangeState)
     {
         *ChangeState = BDA_CHANGES_COMPLETE;
@@ -595,6 +620,8 @@ BdaMethodCreateTopology(
     PKSFILTER Filter;
     PKSP_BDA_NODE_PIN Node;
 
+    DPRINT("BdaMethodCreateTopology\n");
+
     /* check input parameters */
     if (!Irp || !pKSMethod)
         return STATUS_INVALID_PARAMETER;
@@ -622,6 +649,8 @@ BdaMethodDeletePin(
     IN KSMETHOD *pKSMethod,
     OPTIONAL PVOID pvIgnored)
 {
+    DPRINT("BdaMethodDeletePin\n");
+
     if (!Irp)
         return STATUS_INVALID_PARAMETER;
 
@@ -639,6 +668,7 @@ BdaPropertyGetControllingPinId(
     OUT ULONG *pulControllingPinId)
 {
     UNIMPLEMENTED
+    DPRINT("BdaPropertyGetControllingPinId\n");
     return STATUS_NOT_IMPLEMENTED;
 }
 
@@ -657,6 +687,8 @@ BdaPropertyGetPinControl(
     PKSFILTERFACTORY FilterFactory;
     PBDA_FILTER_INSTANCE_ENTRY InstanceEntry;
 
+    DPRINT("BdaPropertyGetPinControl\n");
+
     /* first get the pin */
     Pin = KsGetPinFromIrp(Irp);
     ASSERT(Pin);
@@ -694,6 +726,7 @@ BdaPropertyNodeDescriptors(
     OUT BDANODE_DESCRIPTOR *pNodeDescriptorProperty)
 {
     UNIMPLEMENTED
+    DPRINT("BdaPropertyNodeDescriptors\n");
     return STATUS_NOT_IMPLEMENTED;
 }
 
@@ -708,6 +741,7 @@ BdaPropertyNodeEvents(
     OUT GUID *pguidProperty)
 {
     UNIMPLEMENTED
+    DPRINT("BdaPropertyNodeEvents\n");
     return STATUS_NOT_IMPLEMENTED;
 }
 
@@ -722,6 +756,7 @@ BdaPropertyNodeMethods(
     OUT GUID *pguidProperty)
 {
     UNIMPLEMENTED
+    DPRINT("BdaPropertyNodeMethods\n");
     return STATUS_NOT_IMPLEMENTED;
 }
 
@@ -736,6 +771,7 @@ BdaPropertyNodeProperties(
     OUT GUID *pguidProperty)
 {
     UNIMPLEMENTED
+    DPRINT("BdaPropertyNodeProperties\n");
     return STATUS_NOT_IMPLEMENTED;
 }
 
@@ -755,6 +791,8 @@ BdaPropertyNodeTypes(
     PIO_STACK_LOCATION IoStack;
     ULONG Index;
 
+    DPRINT("BdaPropertyNodeTypes\n");
+
     /* check input parameter */
     if (!Irp || !pKSProperty)
         return STATUS_INVALID_PARAMETER;
@@ -821,6 +859,8 @@ BdaPropertyPinTypes(
     PIO_STACK_LOCATION IoStack;
     ULONG Index;
 
+    DPRINT("BdaPropertyPinTypes\n");
+
     /* check input parameter */
     if (!Irp || !pKSProperty)
         return STATUS_INVALID_PARAMETER;
@@ -886,6 +926,8 @@ BdaPropertyTemplateConnections(
     PIO_STACK_LOCATION IoStack;
     ULONG Index;
 
+    DPRINT("BdaPropertyTemplateConnections\n");
+
     /* validate parameters */
     if (!Irp || !pKSProperty)
         return STATUS_INVALID_PARAMETER;
@@ -941,6 +983,8 @@ NTSTATUS
 NTAPI
 BdaStartChanges(IN PIRP Irp)
 {
+    DPRINT("BdaStartChanges\n");
+
     if (Irp)
         return STATUS_SUCCESS;
     else
@@ -955,6 +999,7 @@ NTSTATUS
 NTAPI
 BdaUninitFilter(IN PKSFILTER pKSFilter)
 {
+    DPRINT("BdaUninitFilter\n");
     return STATUS_SUCCESS;
 }
 
@@ -967,6 +1012,8 @@ BdaValidateNodeProperty(
     IN PIRP Irp,
     IN KSPROPERTY *KSProperty)
 {
+    DPRINT("BdaValidateNodeProperty\n");
+
     /* check for valid parameter */
     if (Irp && KSProperty)
         return STATUS_SUCCESS;