mirror of
https://github.com/reactos/reactos.git
synced 2025-03-10 18:24:02 +00:00
232 lines
3.6 KiB
C++
232 lines
3.6 KiB
C++
![]() |
/*++
|
||
|
|
||
|
Copyright (c) Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
FxIoQueueUm.hpp
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This module implements um specific functions for FxIoQueue.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
User mode only
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _FXIOQUEUEUM_HPP_
|
||
|
#define _FXIOQUEUEUM_HPP_
|
||
|
|
||
|
__inline
|
||
|
BOOLEAN
|
||
|
IsPagingIo(
|
||
|
__in PIRP Irp
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
Dummy UM implementation.
|
||
|
--*/
|
||
|
{
|
||
|
UNREFERENCED_PARAMETER(Irp);
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
__inline
|
||
|
_Must_inspect_result_
|
||
|
NTSTATUS
|
||
|
FxIoQueue::QueueForwardProgressIrpLocked(
|
||
|
__in MdIrp Irp
|
||
|
)
|
||
|
{
|
||
|
UNREFERENCED_PARAMETER(Irp);
|
||
|
|
||
|
UfxVerifierTrapNotImpl();
|
||
|
return STATUS_NOT_IMPLEMENTED;
|
||
|
}
|
||
|
|
||
|
|
||
|
__inline
|
||
|
_Must_inspect_result_
|
||
|
MdIrp
|
||
|
FxIoQueue::GetForwardProgressIrpLocked(
|
||
|
__in_opt PFILE_OBJECT FileObject
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
Remove an IRP from the pending irp list if it matches with the input
|
||
|
fileobject. If the fileobject value is NULL, return the first one from
|
||
|
the pending list.
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
UNREFERENCED_PARAMETER(FileObject);
|
||
|
|
||
|
UfxVerifierTrapNotImpl();
|
||
|
return NULL;
|
||
|
|
||
|
}
|
||
|
|
||
|
__inline
|
||
|
VOID
|
||
|
FxIoQueue::FreeAllReservedRequests(
|
||
|
__in BOOLEAN Verify
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
Called from dispose to Free all the reserved requests.
|
||
|
|
||
|
Verify -
|
||
|
TRUE - Make sure the number of request freed matches with the count of
|
||
|
request created.
|
||
|
FALSE - Called when we fail to allocate all the reserved requests
|
||
|
during config at init time. So we don't verify because the
|
||
|
count of request freed wouldn't match with the configured value.
|
||
|
--*/
|
||
|
{
|
||
|
UNREFERENCED_PARAMETER(Verify);
|
||
|
|
||
|
UfxVerifierTrapNotImpl();
|
||
|
return;
|
||
|
|
||
|
}
|
||
|
|
||
|
__inline
|
||
|
VOID
|
||
|
FxIoQueue::ReturnReservedRequest(
|
||
|
__in FxRequest *ReservedRequest
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
Reuse the ReservedRequest if there are pended IRPs otherwise
|
||
|
add it back to the reserve list.
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
|
||
|
UNREFERENCED_PARAMETER(ReservedRequest);
|
||
|
|
||
|
UfxVerifierTrapNotImpl();
|
||
|
return ;
|
||
|
|
||
|
}
|
||
|
|
||
|
__inline
|
||
|
VOID
|
||
|
FxIoQueue::GetForwardProgressIrps(
|
||
|
__in PLIST_ENTRY IrpListHead,
|
||
|
__in_opt MdFileObject FileObject
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
This function is called to retrieve the list of reserved queued IRPs.
|
||
|
The IRP's Tail.Overlay.ListEntry field is used to link these structs together.
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
UNREFERENCED_PARAMETER(IrpListHead);
|
||
|
UNREFERENCED_PARAMETER(FileObject);
|
||
|
|
||
|
UfxVerifierTrapNotImpl();
|
||
|
return;
|
||
|
|
||
|
}
|
||
|
|
||
|
__inline
|
||
|
VOID
|
||
|
FxIoQueue::FlushQueuedDpcs(
|
||
|
VOID
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
This is the kernel mode routine to flush queued DPCs.
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
UfxVerifierTrapNotImpl();
|
||
|
}
|
||
|
|
||
|
|
||
|
__inline
|
||
|
VOID
|
||
|
FxIoQueue::InsertQueueDpc(
|
||
|
VOID
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
This is the kernel mode routine to insert a dpc.
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
UfxVerifierTrapNotImpl();
|
||
|
}
|
||
|
|
||
|
__inline
|
||
|
_Must_inspect_result_
|
||
|
NTSTATUS
|
||
|
FxIoQueue::GetReservedRequest(
|
||
|
__in MdIrp Irp,
|
||
|
__deref_out_opt FxRequest **ReservedRequest
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
Use the policy configured on the queue to decide whether to allocate a
|
||
|
reserved request.
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
UNREFERENCED_PARAMETER(Irp);
|
||
|
UNREFERENCED_PARAMETER(ReservedRequest);
|
||
|
|
||
|
UfxVerifierTrapNotImpl();
|
||
|
return STATUS_NOT_IMPLEMENTED;
|
||
|
}
|
||
|
|
||
|
__inline
|
||
|
_Must_inspect_result_
|
||
|
NTSTATUS
|
||
|
FxIoQueue::AssignForwardProgressPolicy(
|
||
|
__in PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY Policy
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
Configure the queue for forward Progress.
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
UNREFERENCED_PARAMETER(Policy);
|
||
|
|
||
|
UfxVerifierTrapNotImpl();
|
||
|
return STATUS_NOT_IMPLEMENTED;
|
||
|
}
|
||
|
|
||
|
|
||
|
#endif // _FXIOQUEUEUM_HPP
|