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/…
==============================================================================
--- 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;
}
/*