mirror of
https://github.com/reactos/reactos.git
synced 2024-10-05 00:43:21 +00:00
- Filter dispatch is optional, handle it when creating new filters
svn path=/trunk/; revision=42622
This commit is contained in:
parent
15900e1f91
commit
555a242381
|
@ -443,6 +443,13 @@ IKsFilter_DispatchClose(
|
|||
/* free object header */
|
||||
KsFreeObjectHeader(This->ObjectHeader);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* complete and forget */
|
||||
Irp->IoStatus.Status = Status;
|
||||
/* complete irp */
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
}
|
||||
|
||||
/* done */
|
||||
return Status;
|
||||
|
@ -1085,6 +1092,12 @@ KspCreateFilter(
|
|||
return Status;
|
||||
}
|
||||
|
||||
/* does the filter have a filter dispatch */
|
||||
if (Factory->FilterDescriptor->Dispatch)
|
||||
{
|
||||
/* does it have a create routine */
|
||||
if (Factory->FilterDescriptor->Dispatch->Create)
|
||||
{
|
||||
/* now let driver initialize the filter instance */
|
||||
Status = Factory->FilterDescriptor->Dispatch->Create(&This->Filter, Irp);
|
||||
|
||||
|
@ -1101,6 +1114,8 @@ KspCreateFilter(
|
|||
FreeItem(CreateItem);
|
||||
return Status;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* now allocate the object header */
|
||||
Status = KsAllocateObjectHeader((PVOID*)&This->ObjectHeader, 2, CreateItem, Irp, &DispatchTable);
|
||||
|
|
Loading…
Reference in a new issue