31#include "FxFileObjectUm.tmh"
55 FX_VERIFY(INTERNAL, CHECK_QI(hrQi, pIoIrp));
58 pIoIrp->SetFrameworkFileObjectContext(
Device->GetDeviceObject(),
75 ioIrp->GetFrameworkRelatedFileObjectContext(
79 if (pCxtFramework !=
NULL) {
99 FX_VERIFY(DRIVER(BadArgument,
TODO), TRAPMSG(
"Cannot increment "
100 "process keep alive count from a file object that doesn't "
101 "have a WDM file object"));
109 FX_VERIFY(DRIVER(BadArgument,
TODO), TRAPMSG(
"Cannot increment "
110 "process keep alive count unless UmdfFsContextUsePolicy INF "
111 "directive is set to WdfCannotUseFsContexts"));
MdDeviceObject __inline GetDeviceObject(VOID)
static NTSTATUS NtStatusFromHr(_In_ IWudfDeviceStack *DevStack, _In_ HRESULT Hr)
IWudfDeviceStack2 * GetDeviceStack2(VOID)
WDF_FS_CONTEXT_USE_POLICY_TYPE m_FsContextUsePolicy
VOID Initialize(_In_ MdIrp CreateIrp)
VOID SetFileObjectContext(_In_ MdFileObject WdmFileObject, _In_ WDF_FILEOBJECT_CLASS NormalizedFileClass, _In_ MdIrp Irp, _In_ FxDevice *Device)
_Must_inspect_result_ NTSTATUS UpdateProcessKeepAliveCount(_In_ BOOLEAN Increment)
FxFileObject * m_RelatedFileObject
IWudfIoIrp * GetIoIrp(VOID)
ULONG __inline AddRef(__in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG Increment
FX_VERIFY(INTERNAL, CHECK_NOT_NULL(LoaderInterface->pIWudfHost))
return pFO GetWdmFileObject()
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
PFILE_OBJECT MdFileObject
#define _Must_inspect_result_
#define UNREFERENCED_PARAMETER(P)
#define STATUS_INVALID_DEVICE_REQUEST
#define STATUS_INVALID_PARAMETER
_Must_inspect_result_ _In_ WDFDEVICE Device
enum _WDF_FILEOBJECT_CLASS WDF_FILEOBJECT_CLASS
@ WdfFileObjectWdfCannotUseFsContexts