24#include "..\..\FxTargetsShared.hpp"
27#if defined(EVENT_TRACING)
28#include "FxIoTargetUm.tmh"
50 "Could not initialize m_SentIoEvent event for "
51 "WFIOTARGET %p, %!STATUS!",
60 "Could not initialize m_DisposeEventUm event for "
61 "WFIOTARGET %p, %!STATUS!",
99 if (pContext ==
NULL) {
101 "could not allocate context for request");
132 ioLength = IoBuffer->GetBufferLength();
138 "Could not retrieve i/o buffer, %!STATUS!",
155 irp->
GetIoIrp()->SetReadParametersForNextStackLocation(
167 irp->
GetIoIrp()->SetWriteParametersForNextStackLocation(
198 Request->VerifierSetFormatted();
201 Request->ContextReleaseAndRestore();
220 ULONG inLength, outLength;
239 if (pContext ==
NULL) {
242 "Could not allocate context for request");
260 "Could not retrieve input buffer, %!STATUS!",
269 "Could not retrieve output buffer, %!STATUS!",
292 irp->
GetIoIrp()->SetDeviceIoControlParametersForNextStackLocation(
306 Request->VerifierSetFormatted();
309 Request->ContextReleaseAndRestore();
__inline VOID CopyFileObjectAndFlags(__in FxRequestBase *Request)
FxCREvent m_DisposeEventUm
_Must_inspect_result_ NTSTATUS InitModeSpecific(__in CfxDeviceBase *Device)
_Must_inspect_result_ NTSTATUS FormatIoctlRequest(__in FxRequestBase *Request, __in ULONG Ioctl, __in BOOLEAN Internal, __in FxRequestBuffer *InputBuffer, __in FxRequestBuffer *OutputBuffer, __in_opt FxFileObject *FileObject=NULL)
_Must_inspect_result_ NTSTATUS FormatIoRequest(__inout FxRequestBase *Request, __in UCHAR MajorCode, __in FxRequestBuffer *IoBuffer, __in_opt PLONGLONG StartingOffset, __in_opt FxFileObject *FileObject=NULL)
IWudfIoIrp * GetIoIrp(VOID)
VOID SetMajorFunction(__in UCHAR MajorFunction)
VOID ClearNextStackLocation(VOID)
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
#define NT_SUCCESS(StatCode)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
return pObject GetObjectHandle()
_Must_inspect_result_ __in WDFIOTARGET __in_opt WDFREQUEST __in ULONG Ioctl
#define _Must_inspect_result_
#define UNREFERENCED_PARAMETER(P)
__GNU_EXTENSION typedef __int64 * PLONGLONG
#define IRP_MJ_DEVICE_CONTROL
#define TRACE_LEVEL_ERROR
CHECK_RETURN_IF_USER_MODE NTSTATUS Initialize(__in BOOLEAN InitialState=FALSE)
VOID StoreAndReferenceOtherMemory(__in FxRequestBuffer *Buffer)
VOID SwapIrpBuffer(_In_ FxRequestBase *Request, _In_ ULONG NewInputBufferCb, _In_reads_bytes_opt_(NewInputBufferCb) PVOID NewInputBuffer, _In_ ULONG NewOutputBufferCb, _In_reads_bytes_opt_(NewOutputBufferCb) PVOID NewOutputBuffer)
virtual VOID StoreAndReferenceMemory(__in FxRequestBuffer *Buffer)
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ _In_ WDFDEVICE Device
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG DeviceOffset
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer