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