/*++ 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