ReactOS  0.4.15-dev-3187-ge372f2b
wdfiotarget.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_IO_TARGET_OPEN_PARAMS
 

Macros

#define WDF_EXTERN_C
 
#define WDF_EXTERN_C_START
 
#define WDF_EXTERN_C_END
 

Typedefs

typedef WDF_EXTERN_C_START enum _WDF_IO_TARGET_STATE WDF_IO_TARGET_STATE
 
typedef WDF_EXTERN_C_START enum _WDF_IO_TARGET_STATEPWDF_IO_TARGET_STATE
 
typedef enum _WDF_IO_TARGET_OPEN_TYPE WDF_IO_TARGET_OPEN_TYPE
 
typedef enum _WDF_IO_TARGET_SENT_IO_ACTION WDF_IO_TARGET_SENT_IO_ACTION
 
typedef enum _WDF_IO_TARGET_PURGE_IO_ACTION WDF_IO_TARGET_PURGE_IO_ACTION
 
typedef EVT_WDF_IO_TARGET_QUERY_REMOVE * PFN_WDF_IO_TARGET_QUERY_REMOVE
 
typedef EVT_WDF_IO_TARGET_REMOVE_CANCELED * PFN_WDF_IO_TARGET_REMOVE_CANCELED
 
typedef EVT_WDF_IO_TARGET_REMOVE_COMPLETE * PFN_WDF_IO_TARGET_REMOVE_COMPLETE
 
typedef struct _WDF_IO_TARGET_OPEN_PARAMS WDF_IO_TARGET_OPEN_PARAMS
 
typedef struct _WDF_IO_TARGET_OPEN_PARAMSPWDF_IO_TARGET_OPEN_PARAMS
 
typedef _Must_inspect_result_ _IRQL_requires_max_(PASSIVE_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFIOTARGETCREATE) (_In_ PWDF_DRIVER_GLOBALS DriverGlobals
 
typedef _Must_inspect_result_ _In_ WDFDEVICE Device
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES IoTargetAttributes
 
typedef _Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ PWDF_IO_TARGET_OPEN_PARAMS OpenParams
 
typedef _In_ WDFIOTARGET _In_ _Strict_type_match_ WDF_IO_TARGET_SENT_IO_ACTION Action
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _When_(BufferLength !=0, _Out_writes_bytes_to_opt_(BufferLength, *ResultLength)) _When_(BufferLength == 0
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_opt_ PVOID PropertyBuffer
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_opt_ PVOID _Deref_out_range_(<=, BufferLength) PULONG ResultLength)
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY * PropertyMemory
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ LPCGUID InterfaceType
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ LPCGUID _Out_ PINTERFACE Interface
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT Size
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT _In_opt_ PVOID InterfaceSpecificData
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST Request
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer = NULL
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG DeviceOffset
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesRead
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET OutputBufferOffset
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer = NULL
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesWritten
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET InputBufferOffset
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG IoctlCode
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesReturned
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR OtherArg1
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR OtherArg2
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR OtherArg4
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_ ULONG _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET OtherArg1Offset
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_ ULONG _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET OtherArg2Offset
 
typedef _Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_ ULONG _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET OtherArg4Offset
 

Enumerations

enum  _WDF_IO_TARGET_STATE {
  WdfIoTargetStateUndefined = 0, WdfIoTargetStarted, WdfIoTargetStopped, WdfIoTargetClosedForQueryRemove,
  WdfIoTargetClosed, WdfIoTargetDeleted, WdfIoTargetPurged
}
 
enum  _WDF_IO_TARGET_OPEN_TYPE {
  WdfIoTargetOpenUndefined = 0, WdfIoTargetOpenUseExistingDevice = 1, WdfIoTargetOpenByName = 2, WdfIoTargetOpenReopen = 3,
  WdfIoTargetOpenLocalTargetByFile = 4
}
 
enum  _WDF_IO_TARGET_SENT_IO_ACTION { WdfIoTargetSentIoUndefined = 0, WdfIoTargetCancelSentIo, WdfIoTargetWaitForSentIoToComplete, WdfIoTargetLeaveSentIoPending }
 
enum  _WDF_IO_TARGET_PURGE_IO_ACTION { WdfIoTargetPurgeIoUndefined = 0, WdfIoTargetPurgeIoAndWait = 1, WdfIoTargetPurgeIo = 2 }
 

Functions

typedef _Function_class_ (EVT_WDF_IO_TARGET_QUERY_REMOVE) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_IO_TARGET_QUERY_REMOVE(_In_ WDFIOTARGET IoTarget)
 
typedef _Function_class_ (EVT_WDF_IO_TARGET_REMOVE_CANCELED) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_IO_TARGET_REMOVE_CANCELED(_In_ WDFIOTARGET IoTarget)
 
typedef _Function_class_ (EVT_WDF_IO_TARGET_REMOVE_COMPLETE) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) VOID STDCALL EVT_WDF_IO_TARGET_REMOVE_COMPLETE(_In_ WDFIOTARGET IoTarget)
 
FORCEINLINE VOID WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE (_Out_ PWDF_IO_TARGET_OPEN_PARAMS Params, _In_ PDEVICE_OBJECT DeviceObject)
 
FORCEINLINE VOID WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME (_Out_ PWDF_IO_TARGET_OPEN_PARAMS Params, _In_ PCUNICODE_STRING TargetDeviceName, _In_ ACCESS_MASK DesiredAccess)
 
FORCEINLINE VOID WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME (_Out_ PWDF_IO_TARGET_OPEN_PARAMS Params, _In_ PCUNICODE_STRING TargetDeviceName, _In_ ACCESS_MASK DesiredAccess)
 
FORCEINLINE VOID WDF_IO_TARGET_OPEN_PARAMS_INIT_REOPEN (_Out_ PWDF_IO_TARGET_OPEN_PARAMS Params)
 
_Must_inspect_result_ _IRQL_requires_max_ (PASSIVE_LEVEL) FORCEINLINE NTSTATUS WdfIoTargetCreate(_In_ WDFDEVICE Device
 Queries information details about a security descriptor. More...
 
_Must_inspect_result_ _IRQL_requires_max_ (DISPATCH_LEVEL) FORCEINLINE NTSTATUS WdfIoTargetStart(_In_ WDFIOTARGET IoTarget)
 
typedef _When_ (Action==3, _IRQL_requires_max_(DISPATCH_LEVEL)) _When_(Action
 
_Must_inspect_result_ _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _When_ (BufferLength !=0, _Out_writes_bytes_to_opt_(BufferLength, *ResultLength)) _When_(BufferLength
 
_Must_inspect_result_ _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_opt_ PVOID _Deref_out_range_ (<=, BufferLength) PULONG ResultLength)
 

Macro Definition Documentation

◆ WDF_EXTERN_C

#define WDF_EXTERN_C

Definition at line 38 of file wdfiotarget.h.

◆ WDF_EXTERN_C_END

#define WDF_EXTERN_C_END

Definition at line 40 of file wdfiotarget.h.

◆ WDF_EXTERN_C_START

#define WDF_EXTERN_C_START

Definition at line 39 of file wdfiotarget.h.

Typedef Documentation

◆ _Deref_out_range_

_In_ DWORD _Out_ _Deref_out_range_

Definition at line 630 of file wdfiotarget.h.

◆ _IRQL_requires_max_

typedef _Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFIOTARGETFORMATREQUESTFORINTERNALIOCTLOTHERS)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals

Definition at line 356 of file wdfiotarget.h.

◆ _When_

◆ Action

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_In_ WDFIOTARGET _In_ _Strict_type_match_ WDF_IO_TARGET_SENT_IO_ACTION Action
Definition: wdfiotarget.h:506
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:363

Definition at line 506 of file wdfiotarget.h.

◆ BufferLength

◆ BytesRead

Initial value:
{
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG DeviceOffset
Definition: wdfiotarget.h:859
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesRead
Definition: wdfiotarget.h:859
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:859
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST Request
Definition: wdfiotarget.h:859
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
Definition: wdfiotarget.h:859
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:363

Definition at line 859 of file wdfiotarget.h.

◆ BytesReturned

Initial value:
{
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG IoctlCode
Definition: wdfiotarget.h:1039
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesReturned
Definition: wdfiotarget.h:1039
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:859
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
Definition: wdfiotarget.h:949
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST Request
Definition: wdfiotarget.h:859
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
Definition: wdfiotarget.h:859
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:363

Definition at line 1039 of file wdfiotarget.h.

◆ BytesWritten

Initial value:
{
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesWritten
Definition: wdfiotarget.h:949
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG DeviceOffset
Definition: wdfiotarget.h:859
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
Definition: wdfiotarget.h:949
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST Request
Definition: wdfiotarget.h:859
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
Definition: wdfiotarget.h:859
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:363

Definition at line 949 of file wdfiotarget.h.

◆ Device

typedef _Must_inspect_result_ _In_ WDFDEVICE Device

Definition at line 363 of file wdfiotarget.h.

◆ DeviceOffset

Initial value:
{
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG DeviceOffset
Definition: wdfiotarget.h:859
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:859
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET OutputBufferOffset
Definition: wdfiotarget.h:906
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST Request
Definition: wdfiotarget.h:859
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:363

Definition at line 859 of file wdfiotarget.h.

◆ DeviceProperty

◆ InputBuffer

_Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_ ULONG _In_opt_ WDFMEMORY InputBuffer = NULL

Definition at line 949 of file wdfiotarget.h.

◆ InputBufferOffset

Definition at line 996 of file wdfiotarget.h.

◆ Interface

◆ InterfaceSpecificData

Initial value:
{
_Must_inspect_result_ _In_ WDFIOTARGET _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdfiotarget.h:712
_Must_inspect_result_ _In_ WDFIOTARGET _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT Size
Definition: wdfiotarget.h:712
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFIOTARGET _In_ LPCGUID InterfaceType
Definition: wdfiotarget.h:712
_Must_inspect_result_ _In_ WDFIOTARGET _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
Definition: wdfiotarget.h:712
_Must_inspect_result_ _In_ WDFIOTARGET _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT _In_opt_ PVOID InterfaceSpecificData
Definition: wdfiotarget.h:712
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:363

Definition at line 712 of file wdfiotarget.h.

◆ InterfaceType

◆ IoctlCode

Definition at line 1039 of file wdfiotarget.h.

◆ IoTarget

_Must_inspect_result_ _In_ WDFREQUEST _In_ WDFIOTARGET IoTarget
Initial value:
{
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES IoTargetAttributes
Definition: wdfiotarget.h:363
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfiotarget.h:363
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:363

Definition at line 363 of file wdfiotarget.h.

◆ IoTargetAttributes

◆ OpenParams

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFIOTARGET _In_ PWDF_IO_TARGET_OPEN_PARAMS OpenParams
Definition: wdfiotarget.h:398
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:363

Definition at line 398 of file wdfiotarget.h.

◆ OtherArg1

_Must_inspect_result_ __in WDFIOTARGET __in WDFREQUEST __in ULONG __in_opt WDFMEMORY OtherArg1

Definition at line 1243 of file wdfiotarget.h.

◆ OtherArg1Offset

◆ OtherArg2

Definition at line 1243 of file wdfiotarget.h.

◆ OtherArg2Offset

◆ OtherArg4

Definition at line 1243 of file wdfiotarget.h.

◆ OtherArg4Offset

Initial value:
{
_Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_ ULONG _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET OtherArg4Offset
Definition: wdfiotarget.h:1298
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR OtherArg2
Definition: wdfiotarget.h:1243
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG IoctlCode
Definition: wdfiotarget.h:1039
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR OtherArg4
Definition: wdfiotarget.h:1243
_Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_ ULONG _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET OtherArg2Offset
Definition: wdfiotarget.h:1298
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR OtherArg1
Definition: wdfiotarget.h:1243
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST Request
Definition: wdfiotarget.h:859
_Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_ ULONG _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET OtherArg1Offset
Definition: wdfiotarget.h:1298
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:363

Definition at line 1298 of file wdfiotarget.h.

◆ OutputBuffer

Definition at line 859 of file wdfiotarget.h.

◆ OutputBufferOffset

Initial value:
{
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG IoctlCode
Definition: wdfiotarget.h:1039
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:859
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
Definition: wdfiotarget.h:949
_Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET OutputBufferOffset
Definition: wdfiotarget.h:906
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST Request
Definition: wdfiotarget.h:859
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:363
_Must_inspect_result_ _In_ WDFIOTARGET _In_ WDFREQUEST _In_opt_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET InputBufferOffset
Definition: wdfiotarget.h:996

Definition at line 906 of file wdfiotarget.h.

◆ PFN_WDF_IO_TARGET_QUERY_REMOVE

typedef EVT_WDF_IO_TARGET_QUERY_REMOVE* PFN_WDF_IO_TARGET_QUERY_REMOVE

Definition at line 95 of file wdfiotarget.h.

◆ PFN_WDF_IO_TARGET_REMOVE_CANCELED

typedef EVT_WDF_IO_TARGET_REMOVE_CANCELED* PFN_WDF_IO_TARGET_REMOVE_CANCELED

Definition at line 108 of file wdfiotarget.h.

◆ PFN_WDF_IO_TARGET_REMOVE_COMPLETE

typedef EVT_WDF_IO_TARGET_REMOVE_COMPLETE* PFN_WDF_IO_TARGET_REMOVE_COMPLETE

Definition at line 121 of file wdfiotarget.h.

◆ PoolType

◆ PropertyBuffer

◆ PropertyMemory

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
_Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY * PropertyMemory
Definition: wdfiotarget.h:667
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes
Definition: wdfiotarget.h:667
_Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfiotarget.h:667
_Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty
Definition: wdfiotarget.h:622
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:363

Definition at line 667 of file wdfiotarget.h.

◆ PropertyMemoryAttributes

◆ PWDF_IO_TARGET_OPEN_PARAMS

◆ PWDF_IO_TARGET_STATE

◆ Request

Definition at line 859 of file wdfiotarget.h.

◆ RequestOptions

Initial value:
{
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST Request
Definition: wdfiotarget.h:859
_In_ WDFUSBPIPE Pipe
Definition: wdfusb.h:1741
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS RequestOptions
Definition: wdfiotarget.h:859

Definition at line 859 of file wdfiotarget.h.

◆ Size

◆ Version

◆ WDF_IO_TARGET_OPEN_PARAMS

◆ WDF_IO_TARGET_OPEN_TYPE

◆ WDF_IO_TARGET_PURGE_IO_ACTION

◆ WDF_IO_TARGET_SENT_IO_ACTION

◆ WDF_IO_TARGET_STATE

Enumeration Type Documentation

◆ _WDF_IO_TARGET_OPEN_TYPE

Enumerator
WdfIoTargetOpenUndefined 
WdfIoTargetOpenUseExistingDevice 
WdfIoTargetOpenByName 
WdfIoTargetOpenReopen 
WdfIoTargetOpenLocalTargetByFile 

Definition at line 61 of file wdfiotarget.h.

◆ _WDF_IO_TARGET_PURGE_IO_ACTION

Enumerator
WdfIoTargetPurgeIoUndefined 
WdfIoTargetPurgeIoAndWait 
WdfIoTargetPurgeIo 

Definition at line 76 of file wdfiotarget.h.

◆ _WDF_IO_TARGET_SENT_IO_ACTION

Enumerator
WdfIoTargetSentIoUndefined 
WdfIoTargetCancelSentIo 
WdfIoTargetWaitForSentIoToComplete 
WdfIoTargetLeaveSentIoPending 

Definition at line 69 of file wdfiotarget.h.

◆ _WDF_IO_TARGET_STATE

Enumerator
WdfIoTargetStateUndefined 
WdfIoTargetStarted 
WdfIoTargetStopped 
WdfIoTargetClosedForQueryRemove 
WdfIoTargetClosed 
WdfIoTargetDeleted 
WdfIoTargetPurged 

Definition at line 51 of file wdfiotarget.h.

Function Documentation

◆ _Deref_out_range_()

Definition at line 648 of file wdfiotarget.h.

651 {
653 }
_Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_opt_ PVOID PropertyBuffer
Definition: wdfiotarget.h:629
_Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
Definition: wdfiotarget.h:622
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFIOTARGET _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty
Definition: wdfiotarget.h:622
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:363
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
Definition: wdfdevice.h:3776

◆ _Function_class_() [1/3]

typedef _Function_class_ ( EVT_WDF_IO_TARGET_QUERY_REMOVE  )

◆ _Function_class_() [2/3]

typedef _Function_class_ ( EVT_WDF_IO_TARGET_REMOVE_CANCELED  )

◆ _Function_class_() [3/3]

typedef _Function_class_ ( EVT_WDF_IO_TARGET_REMOVE_COMPLETE  )

◆ _IRQL_requires_max_() [1/2]

_Must_inspect_result_ _IRQL_requires_max_ ( PASSIVE_LEVEL  )

Queries information details about a security descriptor.

Computes the quota size of a security descriptor.

Assigns a security descriptor for a new object.

An extended function that assigns a security descriptor for a new object.

Frees a security descriptor.

An extended function that sets new information data to a security descriptor.

Modifies some information data about a security descriptor.

Parameters
[in]SecurityInformationSecurity information details to be queried from a security descriptor.
[out]SecurityDescriptorThe returned security descriptor with security information data.
[in,out]LengthThe returned length of a security descriptor.
[in,out]ObjectsSecurityDescriptorThe returned object security descriptor.
Returns
Returns STATUS_SUCCESS if the operations have been completed successfully and that the specific information about the security descriptor has been queried. STATUS_BUFFER_TOO_SMALL is returned if the buffer size is too small to contain the queried info about the security descriptor.
Parameters
[in]ObjectIf specified, the function will use this arbitrary object that points to an object security descriptor.
[in]SecurityInformationSecurity information details to be set.
[in]SecurityDescriptorA security descriptor where its info is to be changed.
[in,out]ObjectsSecurityDescriptorThe returned pointer to security descriptor objects.
[in]PoolTypePool type for the new security descriptor to allocate.
[in]GenericMappingThe generic mapping of access rights masks.
Returns
See SeSetSecurityDescriptorInfoEx.
Parameters
[in]ObjectIf specified, the function will use this arbitrary object that points to an object security descriptor.
[in]SecurityInformationSecurity information details to be set.
[in]SecurityDescriptorA security descriptor where its info is to be changed.
[in,out]ObjectsSecurityDescriptorThe returned pointer to security descriptor objects.
[in]AutoInheritFlagsFlags bitmask inheritation, influencing how the security descriptor can be inherited and if it can be in the first place.
[in]PoolTypePool type for the new security descriptor to allocate.
[in]GenericMappingThe generic mapping of access rights masks.
Returns
Returns STATUS_SUCCESS if the operations have been completed without problems and that new info has been set to the security descriptor. STATUS_NO_SECURITY_ON_OBJECT is returned if the object does not have a security descriptor. STATUS_INSUFFICIENT_RESOURCES is returned if memory pool allocation for the new security descriptor with new info set has failed.
Parameters
[in]SecurityDescriptorA security descriptor to be freed from memory.
Returns
Returns STATUS_SUCCESS.
Parameters
[in]_ParentDescriptorA security descriptor of the parent object that is being created.
[in]_ExplicitDescriptorAn explicit security descriptor that is applied to a new object.
[out]NewDescriptorThe new allocated security descriptor.
[in]ObjectTypeThe type of the new object.
[in]IsDirectoryObjectSet this to TRUE if the newly created object is a directory object, otherwise set this to FALSE.
[in]AutoInheritFlagsAutomatic inheritance flags that influence how access control entries within ACLs from security descriptors are inherited.
[in]SubjectContextSecurity subject context of the new object.
[in]GenericMappingGeneric mapping of access mask rights.
[in]PoolTypeThis parameter is unused.
Returns
Returns STATUS_SUCCESS if the operations have been completed successfully and that the security descriptor has been assigned to the new object. STATUS_NO_TOKEN is returned if the caller hasn't supplied a valid argument to a security subject context. STATUS_INVALID_OWNER is returned if the caller hasn't supplied a parent descriptor that belongs to the main user (owner). STATUS_INVALID_PRIMARY_GROUP is returned by the same reason as with the previous NTSTATUS code. The two NTSTATUS codes are returned if the calling thread stated that the owner and/or group is defaulted to the parent descriptor (SEF_DEFAULT_OWNER_FROM_PARENT and/or SEF_DEFAULT_GROUP_FROM_PARENT respectively). STATUS_INSUFFICIENT_RESOURCES is returned if memory pool allocation for the descriptor buffer has failed. A failure NTSTATUS is returned otherwise.
Parameters
[in]ParentDescriptorA security descriptor of the parent object that is being created.
[in]ExplicitDescriptorAn explicit security descriptor that is applied to a new object.
[out]NewDescriptorThe new allocated security descriptor.
[in]IsDirectoryObjectSet this to TRUE if the newly created object is a directory object, otherwise set this to FALSE.
[in]SubjectContextSecurity subject context of the new object.
[in]GenericMappingGeneric mapping of access mask rights.
[in]PoolTypeThis parameter is unused.
Returns
See SeAssignSecurityEx.
Parameters
[in]SecurityDescriptorA security descriptor.
[out]QuotaInfoSizeThe returned quota size of the given security descriptor to the caller. The function may return 0 to this parameter if the descriptor doesn't have a group or a discretionary access control list (DACL) even.
Returns
Returns STATUS_SUCCESS if the quota size of a security descriptor has been computed successfully. STATUS_UNKNOWN_REVISION is returned if the security descriptor has an invalid revision.

Definition at line 431 of file wdfiotarget.h.

438 {
439  ((PFN_WDFIOTARGETCLOSEFORQUERYREMOVE) WdfFunctions[WdfIoTargetCloseForQueryRemoveTableIndex])(WdfDriverGlobals, IoTarget);
440 }
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:363

◆ _IRQL_requires_max_() [2/2]

_Must_inspect_result_ _IRQL_requires_max_ ( DISPATCH_LEVEL  )

Definition at line 483 of file wdfiotarget.h.

490 {
491  return ((PFN_WDFIOTARGETSTART) WdfFunctions[WdfIoTargetStartTableIndex])(WdfDriverGlobals, IoTarget);
492 }
#define WdfFunctions
Definition: wdf.h:66
PWDF_DRIVER_GLOBALS WdfDriverGlobals
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:363

◆ _When_() [1/2]

typedef _When_ ( Action  = = 3,
_IRQL_requires_max_(DISPATCH_LEVEL  
)

◆ _When_() [2/2]

◆ WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME()

FORCEINLINE VOID WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME ( _Out_ PWDF_IO_TARGET_OPEN_PARAMS  Params,
_In_ PCUNICODE_STRING  TargetDeviceName,
_In_ ACCESS_MASK  DesiredAccess 
)

Definition at line 303 of file wdfiotarget.h.

308 {
310 
311  Params->Size = sizeof(WDF_IO_TARGET_OPEN_PARAMS);
313 
314  RtlCopyMemory(&Params->TargetDeviceName,
315  TargetDeviceName,
316  sizeof(UNICODE_STRING));
317  Params->DesiredAccess = DesiredAccess;
318  Params->CreateOptions = FILE_NON_DIRECTORY_FILE;
319 }
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2654
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:306
struct _WDF_IO_TARGET_OPEN_PARAMS WDF_IO_TARGET_OPEN_PARAMS
#define FILE_NON_DIRECTORY_FILE
Definition: constants.h:492
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263

Referenced by WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME().

◆ WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE()

FORCEINLINE VOID WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE ( _Out_ PWDF_IO_TARGET_OPEN_PARAMS  Params,
_In_ PDEVICE_OBJECT  DeviceObject 
)

Definition at line 287 of file wdfiotarget.h.

291 {
293 
294  Params->Size = sizeof(WDF_IO_TARGET_OPEN_PARAMS);
296 
297  Params->TargetDeviceObject = DeviceObject;
298 }
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:306
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
struct _WDF_IO_TARGET_OPEN_PARAMS WDF_IO_TARGET_OPEN_PARAMS
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

Referenced by DriverEvtDeviceAdd().

◆ WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME()

FORCEINLINE VOID WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME ( _Out_ PWDF_IO_TARGET_OPEN_PARAMS  Params,
_In_ PCUNICODE_STRING  TargetDeviceName,
_In_ ACCESS_MASK  DesiredAccess 
)

Definition at line 323 of file wdfiotarget.h.

328 {
330  TargetDeviceName,
331  DesiredAccess);
332  Params->CreateDisposition = FILE_OPEN;
333 }
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2654
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:306
FORCEINLINE VOID WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME(_Out_ PWDF_IO_TARGET_OPEN_PARAMS Params, _In_ PCUNICODE_STRING TargetDeviceName, _In_ ACCESS_MASK DesiredAccess)
Definition: wdfiotarget.h:303
#define FILE_OPEN
Definition: from_kernel.h:54

◆ WDF_IO_TARGET_OPEN_PARAMS_INIT_REOPEN()

FORCEINLINE VOID WDF_IO_TARGET_OPEN_PARAMS_INIT_REOPEN ( _Out_ PWDF_IO_TARGET_OPEN_PARAMS  Params)

Definition at line 340 of file wdfiotarget.h.

343 {
345 
346  Params->Size = sizeof(WDF_IO_TARGET_OPEN_PARAMS);
348 }
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:306
struct _WDF_IO_TARGET_OPEN_PARAMS WDF_IO_TARGET_OPEN_PARAMS
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

Referenced by FxIoTargetRemoteNotificationCallback::OnRemoveCanceled().