ReactOS  0.4.15-dev-2359-g0dedb9b
wdfobject.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _WDF_OBJECT_ATTRIBUTES
 
struct  _WDF_OBJECT_CONTEXT_TYPE_INFO
 
struct  _WDF_CUSTOM_TYPE_CONTEXT
 

Macros

#define WDF_EXTERN_C
 
#define WDF_EXTERN_C_START
 
#define WDF_EXTERN_C_END
 
#define WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE(_attributes, _contexttype)   (_attributes)->ContextTypeInfo = WDF_GET_CONTEXT_TYPE_INFO(_contexttype)->UniqueType
 
#define WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(_attributes, _contexttype)
 
#define WDF_TYPE_NAME_TO_TYPE_INFO(_contexttype)   _WDF_ ## _contexttype ## _TYPE_INFO
 
#define WDF_TYPE_NAME_TO_EXTERNAL_INIT(_contexttype)   _WDF_ ## _contexttype ## _EXTERNAL_INIT
 
#define WDF_TYPE_NAME_TO_EXTERNAL_INIT_FUNCTION(_contexttype)   _contexttype ## _EXTERNAL_INIT_FUNCTION
 
#define WDF_GET_CONTEXT_TYPE_INFO(_contexttype)   (&WDF_TYPE_NAME_TO_TYPE_INFO(_contexttype))
 
#define WDF_TYPE_NAME_POINTER_TYPE(_contexttype)   WDF_POINTER_TYPE_ ## _contexttype
 
#define WDF_DECLARE_CONTEXT_TYPE(_contexttype)   WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(_contexttype, WdfObjectGet_ ## _contexttype)
 
#define WDF_TYPE_INIT_BASE_SECTION_NAME   ".kmdftypeinit"
 
#define WDF_TYPE_INIT_SECTION_NAME   ".kmdftypeinit$b"
 
#define WDF_TYPE_DEFAULT_SECTION_NAME   ".data"
 
#define WDF_DECLARE_TYPE_AND_GLOBALS(_contexttype, _UniqueType, _GetUniqueType, _section)
 
#define WDF_DECLARE_CASTING_FUNCTION(_contexttype, _castingfunction)
 
#define WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(_contexttype, _castingfunction)
 
#define WDF_DECLARE_SHARED_CONTEXT_TYPE_WITH_NAME(_contexttype, _castingfunction)
 
#define WdfObjectGetTypedContext(handle, type)
 
#define WDF_CUSTOM_TYPE_CONTEXT_NAME(_type)   WdfCustomType_ ## _type
 
#define WDF_GET_CUSTOM_TYPE_FUNCTION_NAME(_type)   WdfObjectGetCustomType_ ## _type
 
#define WDF_ADD_CUSTOM_TYPE_FUNCTION_NAME(_type)   WdfObjectAddCustomType_ ## _type
 
#define WDF_DECLARE_CUSTOM_TYPE(_type)
 
#define WdfObjectIsCustomType(_handle, _type)
 
#define WdfObjectAddCustomTypeWithData(_handle, _type, _data, _cleanup, _destroy)   WDF_ADD_CUSTOM_TYPE_FUNCTION_NAME(_type)(_handle, _data, _cleanup, _destroy)
 
#define WdfObjectAddCustomType(_handle, _type)   WdfObjectAddCustomTypeWithData(_handle, _type, 0, NULL, NULL)
 
#define WdfObjectGetCustomTypeData(_handle, _type)   (WDF_GET_CUSTOM_TYPE_FUNCTION_NAME(_type)(_handle)->Data)
 
#define WdfObjectReference(Handle)   WdfObjectReferenceWithTag(Handle, NULL)
 
#define WdfObjectReferenceWithTag(Handle, Tag)   WdfObjectReferenceActual(Handle, Tag, __LINE__, __FILE__)
 
#define WdfObjectDereference(Handle)   WdfObjectDereferenceWithTag(Handle, NULL)
 
#define WdfObjectDereferenceWithTag(Handle, Tag)   WdfObjectDereferenceActual(Handle, Tag, __LINE__, __FILE__)
 

Typedefs

typedef WDF_EXTERN_C_START enum _WDF_EXECUTION_LEVEL WDF_EXECUTION_LEVEL
 
typedef enum _WDF_SYNCHRONIZATION_SCOPE WDF_SYNCHRONIZATION_SCOPE
 
typedef EVT_WDF_OBJECT_CONTEXT_CLEANUP * PFN_WDF_OBJECT_CONTEXT_CLEANUP
 
typedef EVT_WDF_OBJECT_CONTEXT_DESTROY * PFN_WDF_OBJECT_CONTEXT_DESTROY
 
typedef const struct _WDF_OBJECT_CONTEXT_TYPE_INFOPCWDF_OBJECT_CONTEXT_TYPE_INFO
 
typedef struct _WDF_OBJECT_ATTRIBUTES WDF_OBJECT_ATTRIBUTES
 
typedef struct _WDF_OBJECT_ATTRIBUTESPWDF_OBJECT_ATTRIBUTES
 
typedef PCWDF_OBJECT_CONTEXT_TYPE_INFO(__cdeclPFN_GET_UNIQUE_CONTEXT_TYPE) (VOID)
 
typedef struct _WDF_OBJECT_CONTEXT_TYPE_INFO WDF_OBJECT_CONTEXT_TYPE_INFO
 
typedef struct _WDF_OBJECT_CONTEXT_TYPE_INFOPWDF_OBJECT_CONTEXT_TYPE_INFO
 
typedef struct _WDF_CUSTOM_TYPE_CONTEXT WDF_CUSTOM_TYPE_CONTEXT
 
typedef struct _WDF_CUSTOM_TYPE_CONTEXTPWDF_CUSTOM_TYPE_CONTEXT
 
typedef WDFAPI PVOID(FASTCALLPFN_WDFOBJECTGETTYPEDCONTEXTWORKER) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFOBJECT Handle, _In_ PCWDF_OBJECT_CONTEXT_TYPE_INFO TypeInfo)
 
typedef WDFAPI NTSTATUS(STDCALLPFN_WDFOBJECTALLOCATECONTEXT) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFOBJECT Handle, _In_ PWDF_OBJECT_ATTRIBUTES ContextAttributes, _Outptr_opt_ PVOID *Context)
 
typedef WDFAPI WDFOBJECT(FASTCALLPFN_WDFOBJECTCONTEXTGETOBJECT) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ PVOID ContextPointer)
 
typedef WDFAPI VOID(STDCALLPFN_WDFOBJECTREFERENCEACTUAL) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFOBJECT Handle, _In_opt_ PVOID Tag, _In_ LONG Line, _In_z_ PCHAR File)
 
typedef WDFAPI VOID(STDCALLPFN_WDFOBJECTDEREFERENCEACTUAL) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFOBJECT Handle, _In_opt_ PVOID Tag, _In_ LONG Line, _In_z_ PCHAR File)
 
typedef _Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFOBJECTCREATE) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals
 
typedef _Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
 
typedef _Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFOBJECTObject
 
typedef _Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUIDGuid
 
typedef _Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID _In_ ULONG QueryBufferLength
 
typedef _Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID _In_ ULONG _Out_writes_bytes_(QueryBufferLength) PVOID QueryBuffer)
 

Enumerations

enum  _WDF_EXECUTION_LEVEL { WdfExecutionLevelInvalid = 0x00, WdfExecutionLevelInheritFromParent, WdfExecutionLevelPassive, WdfExecutionLevelDispatch }
 
enum  _WDF_SYNCHRONIZATION_SCOPE {
  WdfSynchronizationScopeInvalid = 0x00, WdfSynchronizationScopeInheritFromParent, WdfSynchronizationScopeDevice, WdfSynchronizationScopeQueue,
  WdfSynchronizationScopeNone
}
 

Functions

typedef _Function_class_ (EVT_WDF_OBJECT_CONTEXT_CLEANUP) _IRQL_requires_same_ _IRQL_requires_max_(DISPATCH_LEVEL) VOID STDCALL EVT_WDF_OBJECT_CONTEXT_CLEANUP(_In_ WDFOBJECT Object)
 
typedef _Function_class_ (EVT_WDF_OBJECT_CONTEXT_DESTROY) _IRQL_requires_same_ _IRQL_requires_max_(DISPATCH_LEVEL) VOID STDCALL EVT_WDF_OBJECT_CONTEXT_DESTROY(_In_ WDFOBJECT Object)
 
FORCEINLINE VOID WDF_OBJECT_ATTRIBUTES_INIT (_Out_ PWDF_OBJECT_ATTRIBUTES Attributes)
 
FORCEINLINE PVOID WdfObjectGetTypedContextWorker (_In_ WDFOBJECT Handle, _In_ PCWDF_OBJECT_CONTEXT_TYPE_INFO TypeInfo)
 
FORCEINLINE NTSTATUS WdfObjectAllocateContext (_In_ WDFOBJECT Handle, _In_ PWDF_OBJECT_ATTRIBUTES ContextAttributes, _Outptr_opt_ PVOID *Context)
 
FORCEINLINE WDFOBJECT WdfObjectContextGetObject (_In_ PVOID ContextPointer)
 
FORCEINLINE VOID WdfObjectReferenceActual (_In_ WDFOBJECT Handle, _In_opt_ PVOID Tag, _In_ LONG Line, _In_z_ PCHAR File)
 
FORCEINLINE VOID WdfObjectDereferenceActual (_In_ WDFOBJECT Handle, _In_opt_ PVOID Tag, _In_ LONG Line, _In_z_ PCHAR File)
 
_Must_inspect_result_ _IRQL_requires_max_ (DISPATCH_LEVEL) FORCEINLINE NTSTATUS WdfObjectCreate(_In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
 
_Must_inspect_result_ _In_ CONST GUID _In_ ULONG _Out_writes_bytes_ (QueryBufferLength) PVOID QueryBuffer)
 

Macro Definition Documentation

◆ WDF_ADD_CUSTOM_TYPE_FUNCTION_NAME

#define WDF_ADD_CUSTOM_TYPE_FUNCTION_NAME (   _type)    WdfObjectAddCustomType_ ## _type

Definition at line 426 of file wdfobject.h.

◆ WDF_CUSTOM_TYPE_CONTEXT_NAME

#define WDF_CUSTOM_TYPE_CONTEXT_NAME (   _type)    WdfCustomType_ ## _type

Definition at line 414 of file wdfobject.h.

◆ WDF_DECLARE_CASTING_FUNCTION

#define WDF_DECLARE_CASTING_FUNCTION (   _contexttype,
  _castingfunction 
)
Value:
_castingfunction( \
) \
{ \
return (WDF_TYPE_NAME_POINTER_TYPE(_contexttype)) \
WdfObjectGetTypedContextWorker( \
Handle, \
WDF_GET_CONTEXT_TYPE_INFO(_contexttype)->UniqueType \
); \
}
#define WDF_GET_CONTEXT_TYPE_INFO(_contexttype)
Definition: wdfobject.h:238
#define _In_
Definition: no_sal2.h:158
_In_ HANDLE Handle
Definition: extypes.h:390
#define WDF_TYPE_NAME_POINTER_TYPE(_contexttype)
Definition: wdfobject.h:249

Definition at line 333 of file wdfobject.h.

◆ WDF_DECLARE_CONTEXT_TYPE

#define WDF_DECLARE_CONTEXT_TYPE (   _contexttype)    WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(_contexttype, WdfObjectGet_ ## _contexttype)

Definition at line 259 of file wdfobject.h.

◆ WDF_DECLARE_CONTEXT_TYPE_WITH_NAME

#define WDF_DECLARE_CONTEXT_TYPE_WITH_NAME (   _contexttype,
  _castingfunction 
)
Value:
\
WDF_DECLARE_TYPE_AND_GLOBALS( \
_contexttype, \
WDF_GET_CONTEXT_TYPE_INFO(_contexttype), \
NULL, \
WDF_DECLARE_CASTING_FUNCTION(_contexttype, _castingfunction)
#define WDF_GET_CONTEXT_TYPE_INFO(_contexttype)
Definition: wdfobject.h:238
#define WDF_TYPE_DEFAULT_SECTION_NAME
Definition: wdfobject.h:310
#define NULL
Definition: types.h:112
#define WDF_DECLARE_CASTING_FUNCTION(_contexttype, _castingfunction)
Definition: wdfobject.h:333

Definition at line 350 of file wdfobject.h.

◆ WDF_DECLARE_CUSTOM_TYPE

#define WDF_DECLARE_CUSTOM_TYPE (   _type)

Definition at line 443 of file wdfobject.h.

◆ WDF_DECLARE_SHARED_CONTEXT_TYPE_WITH_NAME

#define WDF_DECLARE_SHARED_CONTEXT_TYPE_WITH_NAME (   _contexttype,
  _castingfunction 
)
Value:
\
WDF_DECLARE_TYPE_AND_GLOBALS( \
_contexttype, \
NULL, \
WDF_DECLARE_CASTING_FUNCTION(_contexttype, _castingfunction)
#define WDF_TYPE_NAME_TO_EXTERNAL_INIT_FUNCTION(_contexttype)
Definition: wdfobject.h:232
#define WDF_TYPE_INIT_SECTION_NAME
Definition: wdfobject.h:302
#define NULL
Definition: types.h:112
#define WDF_DECLARE_CASTING_FUNCTION(_contexttype, _castingfunction)
Definition: wdfobject.h:333

Definition at line 378 of file wdfobject.h.

◆ WDF_DECLARE_TYPE_AND_GLOBALS

#define WDF_DECLARE_TYPE_AND_GLOBALS (   _contexttype,
  _UniqueType,
  _GetUniqueType,
  _section 
)
Value:
\
typedef _contexttype* WDF_TYPE_NAME_POINTER_TYPE(_contexttype); \
\
WDF_EXTERN_C \
DECLSPEC_SELECTANY \
WDF_TYPE_NAME_TO_TYPE_INFO(_contexttype) = \
{ \
#_contexttype, \
sizeof(_contexttype), \
_UniqueType, \
_GetUniqueType, \
}; \
#define WDF_TYPE_NAME_TO_TYPE_INFO(_contexttype)
Definition: wdfobject.h:222
#define WDF_TYPE_NAME_POINTER_TYPE(_contexttype)
Definition: wdfobject.h:249

Definition at line 316 of file wdfobject.h.

◆ WDF_EXTERN_C

#define WDF_EXTERN_C

Definition at line 35 of file wdfobject.h.

◆ WDF_EXTERN_C_END

#define WDF_EXTERN_C_END

Definition at line 37 of file wdfobject.h.

◆ WDF_EXTERN_C_START

#define WDF_EXTERN_C_START

Definition at line 36 of file wdfobject.h.

◆ WDF_GET_CONTEXT_TYPE_INFO

#define WDF_GET_CONTEXT_TYPE_INFO (   _contexttype)    (&WDF_TYPE_NAME_TO_TYPE_INFO(_contexttype))

Definition at line 238 of file wdfobject.h.

◆ WDF_GET_CUSTOM_TYPE_FUNCTION_NAME

#define WDF_GET_CUSTOM_TYPE_FUNCTION_NAME (   _type)    WdfObjectGetCustomType_ ## _type

Definition at line 420 of file wdfobject.h.

◆ WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE

#define WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE (   _attributes,
  _contexttype 
)
Value:
WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE(_attributes, _contexttype)
FORCEINLINE VOID WDF_OBJECT_ATTRIBUTES_INIT(_Out_ PWDF_OBJECT_ATTRIBUTES Attributes)
Definition: wdfobject.h:147

Definition at line 170 of file wdfobject.h.

◆ WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE

#define WDF_OBJECT_ATTRIBUTES_SET_CONTEXT_TYPE (   _attributes,
  _contexttype 
)    (_attributes)->ContextTypeInfo = WDF_GET_CONTEXT_TYPE_INFO(_contexttype)->UniqueType

Definition at line 157 of file wdfobject.h.

◆ WDF_TYPE_DEFAULT_SECTION_NAME

#define WDF_TYPE_DEFAULT_SECTION_NAME   ".data"

Definition at line 310 of file wdfobject.h.

◆ WDF_TYPE_INIT_BASE_SECTION_NAME

#define WDF_TYPE_INIT_BASE_SECTION_NAME   ".kmdftypeinit"

Definition at line 301 of file wdfobject.h.

◆ WDF_TYPE_INIT_SECTION_NAME

#define WDF_TYPE_INIT_SECTION_NAME   ".kmdftypeinit$b"

Definition at line 302 of file wdfobject.h.

◆ WDF_TYPE_NAME_POINTER_TYPE

#define WDF_TYPE_NAME_POINTER_TYPE (   _contexttype)    WDF_POINTER_TYPE_ ## _contexttype

Definition at line 249 of file wdfobject.h.

◆ WDF_TYPE_NAME_TO_EXTERNAL_INIT

#define WDF_TYPE_NAME_TO_EXTERNAL_INIT (   _contexttype)    _WDF_ ## _contexttype ## _EXTERNAL_INIT

Definition at line 229 of file wdfobject.h.

◆ WDF_TYPE_NAME_TO_EXTERNAL_INIT_FUNCTION

#define WDF_TYPE_NAME_TO_EXTERNAL_INIT_FUNCTION (   _contexttype)    _contexttype ## _EXTERNAL_INIT_FUNCTION

Definition at line 232 of file wdfobject.h.

◆ WDF_TYPE_NAME_TO_TYPE_INFO

#define WDF_TYPE_NAME_TO_TYPE_INFO (   _contexttype)    _WDF_ ## _contexttype ## _TYPE_INFO

Definition at line 222 of file wdfobject.h.

◆ WdfObjectAddCustomType

#define WdfObjectAddCustomType (   _handle,
  _type 
)    WdfObjectAddCustomTypeWithData(_handle, _type, 0, NULL, NULL)

Definition at line 524 of file wdfobject.h.

◆ WdfObjectAddCustomTypeWithData

#define WdfObjectAddCustomTypeWithData (   _handle,
  _type,
  _data,
  _cleanup,
  _destroy 
)    WDF_ADD_CUSTOM_TYPE_FUNCTION_NAME(_type)(_handle, _data, _cleanup, _destroy)

Definition at line 511 of file wdfobject.h.

◆ WdfObjectDereference

#define WdfObjectDereference (   Handle)    WdfObjectDereferenceWithTag(Handle, NULL)

Definition at line 826 of file wdfobject.h.

◆ WdfObjectDereferenceWithTag

#define WdfObjectDereferenceWithTag (   Handle,
  Tag 
)    WdfObjectDereferenceActual(Handle, Tag, __LINE__, __FILE__)

Definition at line 829 of file wdfobject.h.

◆ WdfObjectGetCustomTypeData

#define WdfObjectGetCustomTypeData (   _handle,
  _type 
)    (WDF_GET_CUSTOM_TYPE_FUNCTION_NAME(_type)(_handle)->Data)

Definition at line 537 of file wdfobject.h.

◆ WdfObjectGetTypedContext

#define WdfObjectGetTypedContext (   handle,
  type 
)
Value:
(type*) \
WDF_GET_CONTEXT_TYPE_INFO(type)->UniqueType \
)
namespace GUID const ADDRINFOEXW ADDRINFOEXW struct timeval OVERLAPPED LPLOOKUPSERVICE_COMPLETION_ROUTINE HANDLE * handle
Definition: sock.c:82
FORCEINLINE PVOID WdfObjectGetTypedContextWorker(_In_ WDFOBJECT Handle, _In_ PCWDF_OBJECT_CONTEXT_TYPE_INFO TypeInfo)
Definition: wdfobject.h:558
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545

Definition at line 404 of file wdfobject.h.

◆ WdfObjectIsCustomType

#define WdfObjectIsCustomType (   _handle,
  _type 
)
Value:
== NULL ? FALSE : TRUE)
#define TRUE
Definition: types.h:120
#define WDF_CUSTOM_TYPE_CONTEXT_NAME(_type)
Definition: wdfobject.h:414
#define FALSE
Definition: types.h:117
#define WdfObjectGetTypedContext(handle, type)
Definition: wdfobject.h:404
#define NULL
Definition: types.h:112

Definition at line 494 of file wdfobject.h.

◆ WdfObjectReference

#define WdfObjectReference (   Handle)    WdfObjectReferenceWithTag(Handle, NULL)

Definition at line 803 of file wdfobject.h.

◆ WdfObjectReferenceWithTag

#define WdfObjectReferenceWithTag (   Handle,
  Tag 
)    WdfObjectReferenceActual(Handle, Tag, __LINE__, __FILE__)

Definition at line 806 of file wdfobject.h.

Typedef Documentation

◆ _IRQL_requires_max_

Definition at line 697 of file wdfobject.h.

◆ _Out_writes_bytes_

typedef _Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID _In_ ULONG _Out_writes_bytes_(QueryBufferLength) PVOID QueryBuffer)

Definition at line 765 of file wdfobject.h.

◆ Attributes

◆ Guid

Definition at line 760 of file wdfobject.h.

◆ Object

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFOBJECT * Object
Definition: wdfobject.h:704
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
Definition: wdfobject.h:704

Definition at line 704 of file wdfobject.h.

◆ PCWDF_OBJECT_CONTEXT_TYPE_INFO

◆ PFN_GET_UNIQUE_CONTEXT_TYPE

typedef PCWDF_OBJECT_CONTEXT_TYPE_INFO(__cdecl * PFN_GET_UNIQUE_CONTEXT_TYPE) (VOID)

Definition at line 176 of file wdfobject.h.

◆ PFN_WDF_OBJECT_CONTEXT_CLEANUP

typedef EVT_WDF_OBJECT_CONTEXT_CLEANUP* PFN_WDF_OBJECT_CONTEXT_CLEANUP

Definition at line 82 of file wdfobject.h.

◆ PFN_WDF_OBJECT_CONTEXT_DESTROY

typedef EVT_WDF_OBJECT_CONTEXT_DESTROY* PFN_WDF_OBJECT_CONTEXT_DESTROY

Definition at line 95 of file wdfobject.h.

◆ PFN_WDFOBJECTALLOCATECONTEXT

Definition at line 574 of file wdfobject.h.

◆ PFN_WDFOBJECTCONTEXTGETOBJECT

Definition at line 605 of file wdfobject.h.

◆ PFN_WDFOBJECTDEREFERENCEACTUAL

Definition at line 663 of file wdfobject.h.

◆ PFN_WDFOBJECTGETTYPEDCONTEXTWORKER

Definition at line 547 of file wdfobject.h.

◆ PFN_WDFOBJECTREFERENCEACTUAL

Definition at line 628 of file wdfobject.h.

◆ PWDF_CUSTOM_TYPE_CONTEXT

◆ PWDF_OBJECT_ATTRIBUTES

◆ PWDF_OBJECT_CONTEXT_TYPE_INFO

◆ QueryBufferLength

◆ WDF_CUSTOM_TYPE_CONTEXT

◆ WDF_EXECUTION_LEVEL

◆ WDF_OBJECT_ATTRIBUTES

◆ WDF_OBJECT_CONTEXT_TYPE_INFO

◆ WDF_SYNCHRONIZATION_SCOPE

Enumeration Type Documentation

◆ _WDF_EXECUTION_LEVEL

Enumerator
WdfExecutionLevelInvalid 
WdfExecutionLevelInheritFromParent 
WdfExecutionLevelPassive 
WdfExecutionLevelDispatch 

Definition at line 51 of file wdfobject.h.

◆ _WDF_SYNCHRONIZATION_SCOPE

Enumerator
WdfSynchronizationScopeInvalid 
WdfSynchronizationScopeInheritFromParent 
WdfSynchronizationScopeDevice 
WdfSynchronizationScopeQueue 
WdfSynchronizationScopeNone 

Definition at line 61 of file wdfobject.h.

Function Documentation

◆ _Function_class_() [1/2]

typedef _Function_class_ ( EVT_WDF_OBJECT_CONTEXT_CLEANUP  )

◆ _Function_class_() [2/2]

typedef _Function_class_ ( EVT_WDF_OBJECT_CONTEXT_DESTROY  )

◆ _IRQL_requires_max_()

_Must_inspect_result_ _IRQL_requires_max_ ( DISPATCH_LEVEL  )

Definition at line 737 of file wdfobject.h.

744 {
746 }
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFOBJECT * Object
Definition: wdfobject.h:704
PWDF_DRIVER_GLOBALS WdfDriverGlobals

◆ _Out_writes_bytes_()

Definition at line 780 of file wdfobject.h.

783 {
784  return ((PFN_WDFOBJECTQUERY) WdfFunctions[WdfObjectQueryTableIndex])(WdfDriverGlobals, Object, Guid, QueryBufferLength, QueryBuffer);
785 }
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID _In_ ULONG QueryBufferLength
Definition: wdfobject.h:760
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFOBJECT * Object
Definition: wdfobject.h:704
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID * Guid
Definition: wdfobject.h:760

◆ WDF_OBJECT_ATTRIBUTES_INIT()

FORCEINLINE VOID WDF_OBJECT_ATTRIBUTES_INIT ( _Out_ PWDF_OBJECT_ATTRIBUTES  Attributes)

Definition at line 147 of file wdfobject.h.

150 {
152  Attributes->Size = sizeof(WDF_OBJECT_ATTRIBUTES);
155 }
struct _WDF_OBJECT_ATTRIBUTES WDF_OBJECT_ATTRIBUTES
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes

Referenced by _IRQL_requires_max_(), FxUsbPipeContinuousReader::Config(), DeviceErrorHandlerForMmc(), DeviceSendStartUnit(), DriverEvtDeviceAdd(), FxInterrupt::InitializeWorker(), FxPkgGeneral::OnCreate(), and FxPkgGeneral::PostCreateDeviceInitialize().

◆ WdfObjectAllocateContext()

FORCEINLINE NTSTATUS WdfObjectAllocateContext ( _In_ WDFOBJECT  Handle,
_In_ PWDF_OBJECT_ATTRIBUTES  ContextAttributes,
_Outptr_opt_ PVOID Context 
)

Definition at line 587 of file wdfobject.h.

595 {
597 }
#define WdfFunctions
Definition: wdf.h:66
WDFAPI NTSTATUS(STDCALL * PFN_WDFOBJECTALLOCATECONTEXT)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFOBJECT Handle, _In_ PWDF_OBJECT_ATTRIBUTES ContextAttributes, _Outptr_opt_ PVOID *Context)
Definition: wdfobject.h:574
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ HANDLE Handle
Definition: extypes.h:390
struct tagContext Context
Definition: acpixf.h:1034

◆ WdfObjectContextGetObject()

FORCEINLINE WDFOBJECT WdfObjectContextGetObject ( _In_ PVOID  ContextPointer)

Definition at line 614 of file wdfobject.h.

618 {
620 }
__in PVOID ContextPointer
Definition: handleapi.cpp:679
WDFAPI WDFOBJECT(FASTCALL * PFN_WDFOBJECTCONTEXTGETOBJECT)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ PVOID ContextPointer)
Definition: wdfobject.h:605
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals

◆ WdfObjectDereferenceActual()

FORCEINLINE VOID WdfObjectDereferenceActual ( _In_ WDFOBJECT  Handle,
_In_opt_ PVOID  Tag,
_In_ LONG  Line,
_In_z_ PCHAR  File 
)

Definition at line 678 of file wdfobject.h.

688 {
690 }
WDFAPI VOID(STDCALL * PFN_WDFOBJECTDEREFERENCEACTUAL)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFOBJECT Handle, _In_opt_ PVOID Tag, _In_ LONG Line, _In_z_ PCHAR File)
Definition: wdfobject.h:663
#define WdfFunctions
Definition: wdf.h:66
struct Line Line
Definition: wdfdevice.h:4081
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
Definition: wdfdevice.h:4061
_In_ HANDLE Handle
Definition: extypes.h:390
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID _In_ LONG _In_z_ PCHAR File
Definition: wdfdevice.h:4061

◆ WdfObjectGetTypedContextWorker()

FORCEINLINE PVOID WdfObjectGetTypedContextWorker ( _In_ WDFOBJECT  Handle,
_In_ PCWDF_OBJECT_CONTEXT_TYPE_INFO  TypeInfo 
)

Definition at line 558 of file wdfobject.h.

564 {
566 }
__in WDFOBJECT __in PCWDF_OBJECT_CONTEXT_TYPE_INFO TypeInfo
Definition: handleapi.cpp:601
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ HANDLE Handle
Definition: extypes.h:390
WDFAPI PVOID(FASTCALL * PFN_WDFOBJECTGETTYPEDCONTEXTWORKER)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFOBJECT Handle, _In_ PCWDF_OBJECT_CONTEXT_TYPE_INFO TypeInfo)
Definition: wdfobject.h:547

◆ WdfObjectReferenceActual()

FORCEINLINE VOID WdfObjectReferenceActual ( _In_ WDFOBJECT  Handle,
_In_opt_ PVOID  Tag,
_In_ LONG  Line,
_In_z_ PCHAR  File 
)

Definition at line 643 of file wdfobject.h.

653 {
655 }
WDFAPI VOID(STDCALL * PFN_WDFOBJECTREFERENCEACTUAL)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFOBJECT Handle, _In_opt_ PVOID Tag, _In_ LONG Line, _In_z_ PCHAR File)
Definition: wdfobject.h:628
#define WdfFunctions
Definition: wdf.h:66
struct Line Line
Definition: wdfdevice.h:4081
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
Definition: wdfdevice.h:4061
_In_ HANDLE Handle
Definition: extypes.h:390
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID _In_ LONG _In_z_ PCHAR File
Definition: wdfdevice.h:4061