ReactOS 0.4.15-dev-7788-g1ad9096
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)
 

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:
\
WDF_EXTERN_C \
__drv_aliasesMem \
FORCEINLINE \
WDF_TYPE_NAME_POINTER_TYPE(_contexttype) \
_castingfunction( \
) \
{ \
return (WDF_TYPE_NAME_POINTER_TYPE(_contexttype)) \
WdfObjectGetTypedContextWorker( \
Handle, \
WDF_GET_CONTEXT_TYPE_INFO(_contexttype)->UniqueType \
); \
}
ULONG Handle
Definition: gdb_input.c:15
#define _In_
Definition: ms_sal.h:308
#define WDF_TYPE_NAME_POINTER_TYPE(_contexttype)
Definition: wdfobject.h:249
#define WDF_GET_CONTEXT_TYPE_INFO(_contexttype)
Definition: wdfobject.h:238

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 NULL
Definition: types.h:112
#define WDF_TYPE_DEFAULT_SECTION_NAME
Definition: wdfobject.h:310

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_INIT_SECTION_NAME
Definition: wdfobject.h:302
#define WDF_TYPE_NAME_TO_EXTERNAL_INIT_FUNCTION(_contexttype)
Definition: wdfobject.h:232

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 \
const WDF_OBJECT_CONTEXT_TYPE_INFO \
WDF_TYPE_NAME_TO_TYPE_INFO(_contexttype) = \
{ \
#_contexttype, \
sizeof(_contexttype), \
_UniqueType, \
_GetUniqueType, \
}; \

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 \
)
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
FORCEINLINE PVOID WdfObjectGetTypedContextWorker(_In_ WDFOBJECT Handle, _In_ PCWDF_OBJECT_CONTEXT_TYPE_INFO TypeInfo)
Definition: wdfobject.h:558

Definition at line 404 of file wdfobject.h.

◆ WdfObjectIsCustomType

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

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 762 of file wdfobject.h.

◆ Object

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

Definition at line 706 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 175 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 573 of file wdfobject.h.

◆ PFN_WDFOBJECTCONTEXTGETOBJECT

Definition at line 604 of file wdfobject.h.

◆ PFN_WDFOBJECTDEREFERENCEACTUAL

Definition at line 662 of file wdfobject.h.

◆ PFN_WDFOBJECTGETTYPEDCONTEXTWORKER

Definition at line 546 of file wdfobject.h.

◆ PFN_WDFOBJECTREFERENCEACTUAL

Definition at line 627 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.

51 {
@ WdfExecutionLevelPassive
Definition: wdfobject.h:54
@ WdfExecutionLevelDispatch
Definition: wdfobject.h:55
@ WdfExecutionLevelInheritFromParent
Definition: wdfobject.h:53
@ WdfExecutionLevelInvalid
Definition: wdfobject.h:52
WDF_EXTERN_C_START enum _WDF_EXECUTION_LEVEL WDF_EXECUTION_LEVEL

◆ _WDF_SYNCHRONIZATION_SCOPE

Enumerator
WdfSynchronizationScopeInvalid 
WdfSynchronizationScopeInheritFromParent 
WdfSynchronizationScopeDevice 
WdfSynchronizationScopeQueue 
WdfSynchronizationScopeNone 

Definition at line 61 of file wdfobject.h.

61 {
@ WdfSynchronizationScopeInheritFromParent
Definition: wdfobject.h:63
@ WdfSynchronizationScopeQueue
Definition: wdfobject.h:65
@ WdfSynchronizationScopeNone
Definition: wdfobject.h:66
@ WdfSynchronizationScopeInvalid
Definition: wdfobject.h:62
@ WdfSynchronizationScopeDevice
Definition: wdfobject.h:64
enum _WDF_SYNCHRONIZATION_SCOPE WDF_SYNCHRONIZATION_SCOPE

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  )

◆ 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}
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
struct _WDF_OBJECT_ATTRIBUTES WDF_OBJECT_ATTRIBUTES

Referenced by 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}
@ WdfObjectAllocateContextTableIndex
Definition: wdffuncenum.h:228
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

◆ WdfObjectContextGetObject()

FORCEINLINE WDFOBJECT WdfObjectContextGetObject ( _In_ PVOID  ContextPointer)

Definition at line 614 of file wdfobject.h.

618{
620}
__in PVOID ContextPointer
Definition: handleapi.cpp:679
@ WdfObjectContextGetObjectTableIndex
Definition: wdffuncenum.h:229
WDFAPI WDFOBJECT(FASTCALL * PFN_WDFOBJECTCONTEXTGETOBJECT)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ PVOID ContextPointer)
Definition: wdfobject.h:605

◆ 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}
Definition: File.h:16
Definition: ncftp.h:79
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
Definition: wdfdevice.h:4065
@ WdfObjectDereferenceActualTableIndex
Definition: wdffuncenum.h:231
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

◆ 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
@ WdfObjectGetTypedContextWorkerTableIndex
Definition: wdffuncenum.h:227
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}
@ WdfObjectReferenceActualTableIndex
Definition: wdffuncenum.h:230
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