26#ifndef _FXREQUESTVALIDATEFUNCTIONS_HPP_
27#define _FXREQUESTVALIDATEFUNCTIONS_HPP_
29#if defined(EVENT_TRACING)
31#include "FxRequestValidateFunctions.hpp.tmh"
35#if (FX_CORE_MODE == FX_CORE_KERNEL_MODE)
36#define WDF_REQUEST_SEND_OPTIONS_VALID_FLAGS \
37 (WDF_REQUEST_SEND_OPTION_TIMEOUT | \
38 WDF_REQUEST_SEND_OPTION_SYNCHRONOUS | \
39 WDF_REQUEST_SEND_OPTION_IGNORE_TARGET_STATE | \
40 WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET)
43#define WDF_REQUEST_SEND_OPTIONS_VALID_FLAGS \
44 (WDF_REQUEST_SEND_OPTION_TIMEOUT | \
45 WDF_REQUEST_SEND_OPTION_SYNCHRONOUS | \
46 WDF_REQUEST_SEND_OPTION_IGNORE_TARGET_STATE | \
47 WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET | \
48 WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT | \
49 WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE)
69 "Options %p Size incorrect, expected %d, got %d",
81 "Options %p Flags 0x%x invalid, valid mask is 0x%x",
88#if (FX_CORE_MODE == FX_CORE_KERNEL_MODE)
99 "Options %p, if WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET (0x%x) is "
100 "set, no other Flags 0x%x can be set",
117 "Options %p, if WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET (0x%x) is "
118 "set, no other Flags 0x%x can be set except impersonation flags "
139 "WDF_REQUEST_SEND_OPTION impersonation flags may only "
140 "be set on Create requests. %!status!",
150 "Driver must set WDF_REQUEST_SEND_OPTION_IMPERSONATION_"
151 "IGNORE_FAILURE with WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT."
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
#define WDF_REQUEST_SEND_OPTION_IMPERSONATION_FLAGS
#define WDF_REQUEST_SEND_OPTIONS_VALID_FLAGS
NTSTATUS __inline FxValidateRequestOptions(_In_ PFX_DRIVER_GLOBALS FxDriverGlobals, _In_ PWDF_REQUEST_SEND_OPTIONS Options, _In_opt_ FxRequestBase *Request=NULL)
#define UNREFERENCED_PARAMETER(P)
#define TRACE_LEVEL_ERROR
#define STATUS_INVALID_PARAMETER
#define STATUS_INFO_LENGTH_MISMATCH
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
@ WDF_REQUEST_SEND_OPTION_IMPERSONATE_CLIENT
@ WDF_REQUEST_SEND_OPTION_SEND_AND_FORGET
@ WDF_REQUEST_SEND_OPTION_IMPERSONATION_IGNORE_FAILURE