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