- Topology nodes can have a nullable name

- Disable releasing resources when IPortFilterWaveCyclic is closed

svn path=/trunk/; revision=41363
This commit is contained in:
Johannes Anderwald 2009-06-09 21:55:12 +00:00
parent d5c66d9743
commit a895171aca
3 changed files with 15 additions and 7 deletions

View file

@ -236,7 +236,7 @@ IPortFilterWaveCyclic_fnClose(
IN PIRP Irp)
{
ULONG Index;
PMINIPORTWAVECYCLIC Miniport;
//PMINIPORTWAVECYCLIC Miniport;
IPortFilterWaveCyclicImpl * This = (IPortFilterWaveCyclicImpl *)iface;
for(Index = 0; Index < This->Descriptor->Factory.PinDescriptorCount; Index++)
@ -246,12 +246,12 @@ IPortFilterWaveCyclic_fnClose(
}
/* release reference to port */
This->Port->lpVtbl->Release(This->Port);
//This->Port->lpVtbl->Release(This->Port);
/* get the miniport driver */
Miniport = GetWaveCyclicMiniport(This->Port);
//Miniport = GetWaveCyclicMiniport(This->Port);
/* release miniport driver */
Miniport->lpVtbl->Release(Miniport);
//Miniport->lpVtbl->Release(Miniport);
Irp->IoStatus.Status = STATUS_SUCCESS;

View file

@ -393,13 +393,15 @@ IIrpQueue_fnGetMappingWithTag(
/* insert into list to free later */
ExInterlockedInsertTailList(&This->FreeHead, &CurMapping->Entry, &This->Lock);
DPRINT("IIrpQueue_fnGetMappingWithTag Tag %p Mapping %p\n", Tag, CurMapping);
}
else
{
/* we can free this entry now */
FreeItem(CurMapping, TAG_PORTCLASS);
DPRINT("IIrpQueue_fnGetMappingWithTag Tag %p Mapping %p FREED\n", Tag, CurMapping);
}
DPRINT("IIrpQueue_fnGetMappingWithTag Tag %p\n", Tag);
return STATUS_SUCCESS;
}

View file

@ -236,8 +236,14 @@ PcCreateSubdeviceDescriptor(
for(Index = 0; Index < FilterDescription->NodeCount; Index++)
{
RtlMoveMemory((PVOID)&Descriptor->Topology->TopologyNodes[Index], FilterDescription->Nodes[Index].Type, sizeof(GUID));
RtlMoveMemory((PVOID)&Descriptor->Topology->TopologyNodesNames[Index], FilterDescription->Nodes[Index].Name, sizeof(GUID));
if (FilterDescription->Nodes[Index].Type)
{
RtlMoveMemory((PVOID)&Descriptor->Topology->TopologyNodes[Index], FilterDescription->Nodes[Index].Type, sizeof(GUID));
}
if (FilterDescription->Nodes[Index].Name)
{
RtlMoveMemory((PVOID)&Descriptor->Topology->TopologyNodesNames[Index], FilterDescription->Nodes[Index].Name, sizeof(GUID));
}
}
Descriptor->Topology->TopologyNodesCount = FilterDescription->NodeCount;
}