- enable topology property handlers

svn path=/trunk/; revision=73021
This commit is contained in:
Johannes Anderwald 2016-10-22 19:52:51 +00:00
parent 5dc6c5bb88
commit a3f82b7d7b

View file

@ -1019,7 +1019,8 @@ IKsFilter_DispatchDeviceIoControl(
UNICODE_STRING GuidString; UNICODE_STRING GuidString;
PKSPROPERTY Property; PKSPROPERTY Property;
ULONG SetCount = 0; ULONG SetCount = 0;
//PKSP_NODE NodeProperty; PKSP_NODE NodeProperty;
PKSNODE_DESCRIPTOR NodeDescriptor;
/* obtain filter from object header */ /* obtain filter from object header */
Status = IKsFilter_GetFilterFromIrp(Irp, &Filter); Status = IKsFilter_GetFilterFromIrp(Irp, &Filter);
@ -1067,21 +1068,21 @@ IKsFilter_DispatchDeviceIoControl(
{ {
const KSPROPERTY_SET *PropertySet = NULL; const KSPROPERTY_SET *PropertySet = NULL;
ULONG PropertyItemSize = 0; ULONG PropertyItemSize = 0;
#if 0
/* check if the driver supports method sets */ /* check if the driver supports method sets */
if (Property->Flags & KSPROPERTY_TYPE_TOPOLOGY) if (Property->Flags & KSPROPERTY_TYPE_TOPOLOGY)
{ {
ASSERT(IoStack->Parameters.DeviceIoControl.InputBufferLength >= sizeof(KSP_NODE));
NodeProperty = (PKSP_NODE)Property; NodeProperty = (PKSP_NODE)Property;
if (FilterInstance->Descriptor->NodeDescriptors[NodeProperty->NodeId].AutomationTable != NULL) NodeDescriptor = (PKSNODE_DESCRIPTOR)((ULONG_PTR)FilterInstance->Descriptor->NodeDescriptors + FilterInstance->Descriptor->NodeDescriptorSize * NodeProperty->NodeId);
if (NodeDescriptor->AutomationTable != NULL)
{ {
SetCount = FilterInstance->Descriptor->NodeDescriptors[NodeProperty->NodeId].AutomationTable->PropertySetsCount; SetCount = NodeDescriptor->AutomationTable->PropertySetsCount;
PropertySet = FilterInstance->Descriptor->NodeDescriptors[NodeProperty->NodeId].AutomationTable->PropertySets; PropertySet = NodeDescriptor->AutomationTable->PropertySets;
PropertyItemSize = 0; PropertyItemSize = 0;
} }
}
} else else if (FilterInstance->Descriptor->AutomationTable->PropertySetsCount)
#endif
if (FilterInstance->Descriptor->AutomationTable->PropertySetsCount)
{ {
SetCount = FilterInstance->Descriptor->AutomationTable->PropertySetsCount; SetCount = FilterInstance->Descriptor->AutomationTable->PropertySetsCount;
PropertySet = FilterInstance->Descriptor->AutomationTable->PropertySets; PropertySet = FilterInstance->Descriptor->AutomationTable->PropertySets;