- Implement BdaPropertyGetPinControl

svn path=/trunk/; revision=42599
This commit is contained in:
Johannes Anderwald 2009-08-10 16:10:26 +00:00
parent dd5e13f449
commit da8d2f0bd8

View file

@ -532,7 +532,7 @@ BdaPropertyGetControllingPinId(
} }
/* /*
@unimplemented @implemented
*/ */
NTSTATUS NTSTATUS
NTAPI NTAPI
@ -541,8 +541,35 @@ BdaPropertyGetPinControl(
IN KSPROPERTY *pKSProperty, IN KSPROPERTY *pKSProperty,
OUT ULONG *pulProperty) OUT ULONG *pulProperty)
{ {
UNIMPLEMENTED PKSPIN Pin;
return STATUS_NOT_IMPLEMENTED; 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;
} }
/* /*