ReactOS  0.4.15-dev-3287-gfec35dc
fxqueryinterface.hpp
Go to the documentation of this file.
1 /*++
2 
3 Copyright (c) Microsoft Corporation
4 
5 Module Name:
6 
7  FxQueryInterface.hpp
8 
9 Abstract:
10 
11  This module implements the "query" interface object.
12 
13 Author:
14 
15 
16 
17 Environment:
18 
19  Both kernel and user mode
20 
21 Revision History:
22 
23 --*/
24 
25 #ifndef _FXQUERYINTERFACE_H_
26 #define _FXQUERYINTERFACE_H_
27 
29 
30 public:
31 
33  VOID
34  ) :
35  m_Method(NULL)
36  {
37  }
38 
40  NTSTATUS
42  __in WDFDEVICE Device,
43  __in LPGUID InterfacType,
46  )
47  {
48  if (m_Method != NULL) {
50 
51  CallbackStart();
53  InterfacType,
56  CallbackEnd();
57 
58  return status;
59  }
60  else {
61  return STATUS_SUCCESS;
62  }
63  }
64 
65 public:
67 };
68 
69 struct FxQueryInterface : public FxStump {
70 
71 public:
75  );
76 
78  VOID
79  );
80 
81  VOID
85  );
86 
87  static
91  )
92  {
94  }
95 
96  static
97  VOID
98  _FormatIrp(
99  __in PIRP Irp,
100  __in const GUID* InterfaceGuid,
102  __in USHORT InterfaceSize,
103  __in USHORT InterfaceVersion,
105  );
106 
108  static
109  NTSTATUS
111  __in PDEVICE_OBJECT TopOfStack,
112  __in const GUID* InterfaceType,
114  __in USHORT Size,
117  );
118 
119 public:
121 
123 
125 
127 
129 
131 
133 
135 };
136 
137 #endif // _FXQUERYINTERFACE_H_
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT _In_opt_ PVOID InterfaceSpecificData
Definition: wdffdo.h:461
PFN_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST m_Method
Definition: ntbasedef.h:628
#define __in_opt
Definition: dbghelp.h:38
LONG NTSTATUS
Definition: precomp.h:26
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:361
WDF_EXTERN_C_START typedef _In_ LPGUID _Inout_ PINTERFACE ExposedInterface
SINGLE_LIST_ENTRY m_Entry
_In_ PIRP Irp
Definition: csq.h:116
#define __out
Definition: dbghelp.h:62
unsigned char BOOLEAN
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
_Must_inspect_result_ NTSTATUS Invoke(__in WDFDEVICE Device, __in LPGUID InterfacType, __out PINTERFACE ExposedInterface, __in_opt PVOID ExposedInterfaceSpecificData)
IN PVOID IN PVOID IN USHORT Version
Definition: pci.h:361
VOID SetEmbedded(__in PWDF_QUERY_INTERFACE_CONFIG Config, __in PINTERFACE Interface)
static const GUID InterfaceGuid
Definition: wlanapi.c:25
FxDeviceProcessQueryInterfaceRequest m_ProcessRequest
#define _Must_inspect_result_
Definition: ms_sal.h:558
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfchildlist.h:474
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
Definition: wdfchildlist.h:474
EVT_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST * PFN_WDF_DEVICE_PROCESS_QUERY_INTERFACE_REQUEST
FxQueryInterface(__in CfxDevice *Device, __in PWDF_QUERY_INTERFACE_CONFIG Config)
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
Definition: pci.h:361
static _Must_inspect_result_ NTSTATUS _QueryForInterface(__in PDEVICE_OBJECT TopOfStack, __in const GUID *InterfaceType, __out PINTERFACE Interface, __in USHORT Size, __in USHORT Version, __in_opt PVOID InterfaceSpecificData)
unsigned short USHORT
Definition: pedump.c:61
#define NULL
Definition: types.h:112
static VOID _FormatIrp(__in PIRP Irp, __in const GUID *InterfaceGuid, __out PINTERFACE Interface, __in USHORT InterfaceSize, __in USHORT InterfaceVersion, __in_opt PVOID InterfaceSpecificData=NULL)
WDF_EXTERN_C_START typedef _In_ LPGUID _Inout_ PINTERFACE _Inout_opt_ PVOID ExposedInterfaceSpecificData
void __inline CallbackStart(VOID)
Definition: fxcallback.hpp:64
#define STATUS_SUCCESS
Definition: shellext.h:65
static FxQueryInterface * _FromEntry(__in PSINGLE_LIST_ENTRY Entry)
#define __in
Definition: dbghelp.h:35
static SERVICE_STATUS status
Definition: service.c:31
void __inline CallbackEnd(VOID)
Definition: fxcallback.hpp:74
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType
Definition: wdffdo.h:461
base of all file and directory entries
Definition: entries.h:82
BOOLEAN m_SendQueryToParentStack
Definition: ps.c:97