Author: janderwald Date: Mon Aug 10 18:10:26 2009 New Revision: 42599
URL: http://svn.reactos.org/svn/reactos?rev=42599&view=rev Log: - Implement BdaPropertyGetPinControl
Modified: trunk/reactos/drivers/multimedia/bdasup/bdasup.c
Modified: trunk/reactos/drivers/multimedia/bdasup/bdasup.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/multimedia/bdasup/b... ============================================================================== --- trunk/reactos/drivers/multimedia/bdasup/bdasup.c [iso-8859-1] (original) +++ trunk/reactos/drivers/multimedia/bdasup/bdasup.c [iso-8859-1] Mon Aug 10 18:10:26 2009 @@ -532,7 +532,7 @@ }
/* - @unimplemented + @implemented */ NTSTATUS NTAPI @@ -541,8 +541,35 @@ IN KSPROPERTY *pKSProperty, OUT ULONG *pulProperty) { - UNIMPLEMENTED - return STATUS_NOT_IMPLEMENTED; + PKSPIN Pin; + PKSFILTER Filter; + PKSFILTERFACTORY FilterFactory; + PBDA_FILTER_INSTANCE_ENTRY InstanceEntry; + + /* first get the pin */ + Pin = KsGetPinFromIrp(Irp); + ASSERT(Pin); + + /* now get the parent filter */ + Filter = KsPinGetParentFilter(Pin); + ASSERT(Filter); + + /* get parent filter factory */ + FilterFactory = KsFilterGetParentFilterFactory(Filter); + ASSERT(FilterFactory); + + /* find instance entry */ + InstanceEntry = GetFilterInstanceEntry(FilterFactory); + ASSERT(InstanceEntry); + + /* sanity check */ + pKSProperty++; + ASSERT(pKSProperty->Id == KSPROPERTY_BDA_PIN_TYPE); + + /* store pin id */ + *pulProperty = Pin->Id; + + return STATUS_SUCCESS; }
/*