- Fix initialization of filter /  pin automation table
- Add debug traces

svn path=/trunk/; revision=46622
This commit is contained in:
Johannes Anderwald 2010-03-31 15:37:36 +00:00
parent 1d4dbb9cb7
commit af6dcb5bf0

View file

@ -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;