mirror of
https://github.com/reactos/reactos.git
synced 2025-03-10 10:14:44 +00:00
231 lines
3.6 KiB
C++
231 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
|