ReactOS  0.4.14-dev-608-gd495a4f
halfuncs.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct _WHEA_ERROR_SOURCE_DESCRIPTOR * PWHEA_ERROR_SOURCE_DESCRIPTOR
 
typedef struct _WHEA_ERROR_RECORD * PWHEA_ERROR_RECORD
 

Functions

NTHALAPI VOID NTAPI IoFreeAdapterChannel (_In_ PADAPTER_OBJECT AdapterObject)
 
NTHALAPI BOOLEAN NTAPI IoFlushAdapterBuffers (_In_ PADAPTER_OBJECT AdapterObject, _In_ PMDL Mdl, _In_ PVOID MapRegisterBase, _In_ PVOID CurrentVa, _In_ ULONG Length, _In_ BOOLEAN WriteToDevice)
 
NTHALAPI VOID NTAPI IoFreeMapRegisters (_In_ PADAPTER_OBJECT AdapterObject, _In_ PVOID MapRegisterBase, _In_ ULONG NumberOfMapRegisters)
 
NTHALAPI PVOID NTAPI HalAllocateCommonBuffer (_In_ PADAPTER_OBJECT AdapterObject, _In_ ULONG Length, _Out_ PPHYSICAL_ADDRESS LogicalAddress, _In_ BOOLEAN CacheEnabled)
 
NTHALAPI VOID NTAPI HalFreeCommonBuffer (_In_ PADAPTER_OBJECT AdapterObject, _In_ ULONG Length, _In_ PHYSICAL_ADDRESS LogicalAddress, _In_ PVOID VirtualAddress, _In_ BOOLEAN CacheEnabled)
 
NTHALAPI ULONG NTAPI HalReadDmaCounter (_In_ PADAPTER_OBJECT AdapterObject)
 
NTHALAPI NTSTATUS NTAPI HalAllocateAdapterChannel (_In_ PADAPTER_OBJECT AdapterObject, _In_ PWAIT_CONTEXT_BLOCK Wcb, _In_ ULONG NumberOfMapRegisters, _In_ PDRIVER_CONTROL ExecutionRoutine)
 
 $endif (_NTDDK_) $if(_NTDDK_) NTHALAPI NTSTATUS NTAPI HalAssignSlotResources(_In_ PUNICODE_STRING RegistryPath
 
 _IRQL_requires_max_ (PASSIVE_LEVEL) NTHALAPI ULONG NTAPI HalGetInterruptVector(_In_ INTERFACE_TYPE InterfaceType
 
NTHALAPI ULONG NTAPI HalSetBusData (_In_ BUS_DATA_TYPE BusDataType, _In_ ULONG BusNumber, _In_ ULONG SlotNumber, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Length)
 
NTHALAPI ULONG NTAPI HalGetBusData (_In_ BUS_DATA_TYPE BusDataType, _In_ ULONG BusNumber, _In_ ULONG SlotNumber, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Length)
 
NTHALAPI BOOLEAN NTAPI HalMakeBeep (_In_ ULONG Frequency)
 
VOID NTAPI HalPutDmaAdapter (_In_ PADAPTER_OBJECT DmaAdapter)
 
NTHALAPI VOID NTAPI HalAcquireDisplayOwnership (_In_ PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters)
 
NTHALAPI ULONG NTAPI HalGetBusDataByOffset (_In_ BUS_DATA_TYPE BusDataType, _In_ ULONG BusNumber, _In_ ULONG SlotNumber, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
 
NTHALAPI ULONG NTAPI HalSetBusDataByOffset (_In_ BUS_DATA_TYPE BusDataType, _In_ ULONG BusNumber, _In_ ULONG SlotNumber, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
 
NTHALAPI BOOLEAN NTAPI HalTranslateBusAddress (_In_ INTERFACE_TYPE InterfaceType, _In_ ULONG BusNumber, _In_ PHYSICAL_ADDRESS BusAddress, _Inout_ PULONG AddressSpace, _Out_ PPHYSICAL_ADDRESS TranslatedAddress)
 
NTHALAPI PVOID NTAPI HalAllocateCrashDumpRegisters (_In_ PADAPTER_OBJECT AdapterObject, _Inout_ PULONG NumberOfMapRegisters)
 
NTSTATUS NTAPI HalGetScatterGatherList (_In_ PADAPTER_OBJECT DmaAdapter, _In_ PDEVICE_OBJECT DeviceObject, _In_ PMDL Mdl, _In_ PVOID CurrentVa, _In_ ULONG Length, _In_ PDRIVER_LIST_CONTROL ExecutionRoutine, _In_ PVOID Context, _In_ BOOLEAN WriteToDevice)
 
VOID NTAPI HalPutScatterGatherList (_In_ PADAPTER_OBJECT DmaAdapter, _In_ PSCATTER_GATHER_LIST ScatterGather, _In_ BOOLEAN WriteToDevice)
 
NTSTATUS NTAPI HalAllocateHardwareCounters (_In_reads_(GroupCount) PGROUP_AFFINITY GroupAffinty, _In_ ULONG GroupCount, _In_ PPHYSICAL_COUNTER_RESOURCE_LIST ResourceList, _Out_ PHANDLE CounterSetHandle)
 
NTSTATUS NTAPI HalFreeHardwareCounters (_In_ HANDLE CounterSetHandle)
 
NTHALAPI VOID NTAPI HalBugCheckSystem (_In_ PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource, _In_ PWHEA_ERROR_RECORD ErrorRecord)
 

Variables

_In_opt_ PUNICODE_STRING DriverClassName
 
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT DriverObject
 
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT DeviceObject
 
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE BusType
 
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
 
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG _In_ ULONG SlotNumber
 
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG _In_ ULONG _Inout_ PCM_RESOURCE_LISTAllocatedResources
 
_In_ ULONG _In_ ULONG BusInterruptLevel
 
_In_ ULONG _In_ ULONG _In_ ULONG BusInterruptVector
 
_In_ ULONG _In_ ULONG _In_ ULONG _Out_ PKIRQL Irql
 
_In_ ULONG _In_ ULONG _In_ ULONG _Out_ PKIRQL _Out_ PKAFFINITY Affinity
 
_Out_ PULONG NumberOfMapRegisters
 
_In_ ULONG SectorSize
 
_In_ ULONG _In_ ULONG MBRTypeIdentifier
 
_In_ ULONG _In_ ULONG _Out_ PVOIDBuffer
 

Typedef Documentation

◆ PWHEA_ERROR_RECORD

typedef struct _WHEA_ERROR_RECORD* PWHEA_ERROR_RECORD

Definition at line 329 of file halfuncs.h.

◆ PWHEA_ERROR_SOURCE_DESCRIPTOR

typedef struct _WHEA_ERROR_SOURCE_DESCRIPTOR* PWHEA_ERROR_SOURCE_DESCRIPTOR

Definition at line 328 of file halfuncs.h.

Function Documentation

◆ $endif()

$endif ( _NTDDK_  )

Definition at line 2487 of file iofuncs.h.

2495 {
2496  PriorityInfo->Size = sizeof(IO_PRIORITY_INFO);
2497  PriorityInfo->ThreadPriority = 0xffff;
2498  PriorityInfo->IoPriority = IoPriorityNormal;
2499  PriorityInfo->PagePriority = 0;
2500 }
struct _IO_PRIORITY_INFO IO_PRIORITY_INFO
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD _Inout_ PIO_PRIORITY_INFO PriorityInfo
Definition: fltkernel.h:2653

◆ _IRQL_requires_max_()

_IRQL_requires_max_ ( PASSIVE_LEVEL  )

Definition at line 64 of file Messaging.c.

75 {
76  PFLT_SERVER_PORT_OBJECT PortObject;
78 
79  /* The caller must allow at least one connection */
80  if (MaxConnections == 0)
81  {
83  }
84 
85  /* The request must be for a kernel handle */
86  if (!(ObjectAttributes->Attributes & OBJ_KERNEL_HANDLE))
87  {
89  }
90 
91  /*
92  * Get rundown protection on the target to stop the owner
93  * from unloading whilst this port object is open. It gets
94  * removed in the FltpServerPortClose callback
95  */
97  if (!NT_SUCCESS(Status))
98  {
99  return Status;
100  }
101 
102  /* Create the server port object for this filter */
106  KernelMode,
107  NULL,
108  sizeof(FLT_SERVER_PORT_OBJECT),
109  0,
110  0,
111  (PVOID *)&PortObject);
112  if (NT_SUCCESS(Status))
113  {
114  /* Zero out the struct */
115  RtlZeroMemory(PortObject, sizeof(FLT_SERVER_PORT_OBJECT));
116 
117  /* Increment the ref count on the target filter */
119 
120  /* Setup the filter port object */
121  PortObject->Filter = Filter;
122  PortObject->ConnectNotify = ConnectNotifyCallback;
124  PortObject->MessageNotify = MessageNotifyCallback;
125  PortObject->Cookie = ServerPortCookie;
126  PortObject->MaxConnections = MaxConnections;
127 
128  /* Insert the object */
129  Status = ObInsertObject(PortObject,
130  NULL,
132  0,
133  NULL,
135  if (NT_SUCCESS(Status))
136  {
137  /* Lock the connection list */
139 
140  /* Add the new port object to the connection list and increment the count */
143 
144  /* Unlock the connection list*/
146  }
147  }
148 
149  if (!NT_SUCCESS(Status))
150  {
151  /* Allow the filter to be cleaned up */
153  }
154 
155  return Status;
156 }
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
_Must_inspect_result_ _Outptr_ PFLT_PORT * ServerPort
Definition: fltkernel.h:1873
PFLT_CONNECT_NOTIFY ConnectNotify
Definition: fltmgrint.h:191
VOID FLTAPI FltObjectDereference(_Inout_ PVOID Object)
Definition: Object.c:53
LONG NTSTATUS
Definition: precomp.h:26
#define InsertTailList(ListHead, Entry)
VOID FASTCALL ExReleaseFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:31
ULONG FltpObjectPointerReference(_In_ PFLT_OBJECT Object)
Definition: Object.c:322
LIST_ENTRY mList
Definition: fltmgrint.h:56
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1802
#define FILE_READ_DATA
Definition: nt_native.h:628
smooth NULL
Definition: ftsmooth.c:416
NTSTATUS NTAPI ObCreateObject(IN KPROCESSOR_MODE ProbeMode OPTIONAL, IN POBJECT_TYPE Type, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext OPTIONAL, IN ULONG ObjectSize, IN ULONG PagedPoolCharge OPTIONAL, IN ULONG NonPagedPoolCharge OPTIONAL, OUT PVOID *Object)
Definition: oblife.c:952
POBJECT_TYPE ServerPortObjectType
Definition: Messaging.c:24
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY DisconnectNotifyCallback
Definition: fltkernel.h:1873
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:414
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY ConnectNotifyCallback
Definition: fltkernel.h:1873
Status
Definition: gdiplustypes.h:24
NTSTATUS NTAPI ObInsertObject(IN PVOID Object, IN PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG ObjectPointerBias, OUT PVOID *NewObject OPTIONAL, OUT PHANDLE Handle)
Definition: obhandle.c:2932
#define STANDARD_RIGHTS_ALL
Definition: nt_native.h:69
VOID FASTCALL ExAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:23
NTSTATUS FLTAPI FltObjectReference(_Inout_ PVOID Object)
Definition: Object.c:41
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID ServerPortCookie
Definition: fltkernel.h:1873
FAST_MUTEX mLock
Definition: fltmgrint.h:55
PFLT_MESSAGE_NOTIFY MessageNotify
Definition: fltmgrint.h:193
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:261
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY _In_opt_ PFLT_MESSAGE_NOTIFY _In_ LONG MaxConnections
Definition: fltkernel.h:1873
PFLT_DISCONNECT_NOTIFY DisconnectNotify
Definition: fltmgrint.h:192
#define OBJ_KERNEL_HANDLE
Definition: winternl.h:231
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY _In_opt_ PFLT_MESSAGE_NOTIFY MessageNotifyCallback
Definition: fltkernel.h:1873
FLT_MUTEX_LIST_HEAD ConnectionList
Definition: fltmgrint.h:121

◆ HalAcquireDisplayOwnership()

NTHALAPI VOID NTAPI HalAcquireDisplayOwnership ( _In_ PHAL_RESET_DISPLAY_PARAMETERS  ResetDisplayParameters)

◆ HalAllocateAdapterChannel()

NTHALAPI NTSTATUS NTAPI HalAllocateAdapterChannel ( _In_ PADAPTER_OBJECT  AdapterObject,
_In_ PWAIT_CONTEXT_BLOCK  Wcb,
_In_ ULONG  NumberOfMapRegisters,
_In_ PDRIVER_CONTROL  ExecutionRoutine 
)

◆ HalAllocateCommonBuffer()

NTHALAPI PVOID NTAPI HalAllocateCommonBuffer ( _In_ PADAPTER_OBJECT  AdapterObject,
_In_ ULONG  Length,
_Out_ PPHYSICAL_ADDRESS  LogicalAddress,
_In_ BOOLEAN  CacheEnabled 
)

◆ HalAllocateCrashDumpRegisters()

NTHALAPI PVOID NTAPI HalAllocateCrashDumpRegisters ( _In_ PADAPTER_OBJECT  AdapterObject,
_Inout_ PULONG  NumberOfMapRegisters 
)

◆ HalAllocateHardwareCounters()

NTSTATUS NTAPI HalAllocateHardwareCounters ( _In_reads_(GroupCount) PGROUP_AFFINITY  GroupAffinty,
_In_ ULONG  GroupCount,
_In_ PPHYSICAL_COUNTER_RESOURCE_LIST  ResourceList,
_Out_ PHANDLE  CounterSetHandle 
)

◆ HalBugCheckSystem()

NTHALAPI VOID NTAPI HalBugCheckSystem ( _In_ PWHEA_ERROR_SOURCE_DESCRIPTOR  ErrorSource,
_In_ PWHEA_ERROR_RECORD  ErrorRecord 
)

◆ HalFreeCommonBuffer()

NTHALAPI VOID NTAPI HalFreeCommonBuffer ( _In_ PADAPTER_OBJECT  AdapterObject,
_In_ ULONG  Length,
_In_ PHYSICAL_ADDRESS  LogicalAddress,
_In_ PVOID  VirtualAddress,
_In_ BOOLEAN  CacheEnabled 
)

◆ HalFreeHardwareCounters()

NTSTATUS NTAPI HalFreeHardwareCounters ( _In_ HANDLE  CounterSetHandle)

◆ HalGetBusData()

NTHALAPI ULONG NTAPI HalGetBusData ( _In_ BUS_DATA_TYPE  BusDataType,
_In_ ULONG  BusNumber,
_In_ ULONG  SlotNumber,
_Out_writes_bytes_(Length) PVOID  Buffer,
_In_ ULONG  Length 
)

◆ HalGetBusDataByOffset()

NTHALAPI ULONG NTAPI HalGetBusDataByOffset ( _In_ BUS_DATA_TYPE  BusDataType,
_In_ ULONG  BusNumber,
_In_ ULONG  SlotNumber,
_Out_writes_bytes_(Length) PVOID  Buffer,
_In_ ULONG  Offset,
_In_ ULONG  Length 
)

◆ HalGetScatterGatherList()

NTSTATUS NTAPI HalGetScatterGatherList ( _In_ PADAPTER_OBJECT  DmaAdapter,
_In_ PDEVICE_OBJECT  DeviceObject,
_In_ PMDL  Mdl,
_In_ PVOID  CurrentVa,
_In_ ULONG  Length,
_In_ PDRIVER_LIST_CONTROL  ExecutionRoutine,
_In_ PVOID  Context,
_In_ BOOLEAN  WriteToDevice 
)

◆ HalMakeBeep()

NTHALAPI BOOLEAN NTAPI HalMakeBeep ( _In_ ULONG  Frequency)

◆ HalPutDmaAdapter()

VOID NTAPI HalPutDmaAdapter ( _In_ PADAPTER_OBJECT  DmaAdapter)

◆ HalPutScatterGatherList()

VOID NTAPI HalPutScatterGatherList ( _In_ PADAPTER_OBJECT  DmaAdapter,
_In_ PSCATTER_GATHER_LIST  ScatterGather,
_In_ BOOLEAN  WriteToDevice 
)

◆ HalReadDmaCounter()

NTHALAPI ULONG NTAPI HalReadDmaCounter ( _In_ PADAPTER_OBJECT  AdapterObject)

◆ HalSetBusData()

NTHALAPI ULONG NTAPI HalSetBusData ( _In_ BUS_DATA_TYPE  BusDataType,
_In_ ULONG  BusNumber,
_In_ ULONG  SlotNumber,
_In_reads_bytes_(Length) PVOID  Buffer,
_In_ ULONG  Length 
)

◆ HalSetBusDataByOffset()

NTHALAPI ULONG NTAPI HalSetBusDataByOffset ( _In_ BUS_DATA_TYPE  BusDataType,
_In_ ULONG  BusNumber,
_In_ ULONG  SlotNumber,
_In_reads_bytes_(Length) PVOID  Buffer,
_In_ ULONG  Offset,
_In_ ULONG  Length 
)

◆ HalTranslateBusAddress()

NTHALAPI BOOLEAN NTAPI HalTranslateBusAddress ( _In_ INTERFACE_TYPE  InterfaceType,
_In_ ULONG  BusNumber,
_In_ PHYSICAL_ADDRESS  BusAddress,
_Inout_ PULONG  AddressSpace,
_Out_ PPHYSICAL_ADDRESS  TranslatedAddress 
)

◆ IoFlushAdapterBuffers()

NTHALAPI BOOLEAN NTAPI IoFlushAdapterBuffers ( _In_ PADAPTER_OBJECT  AdapterObject,
_In_ PMDL  Mdl,
_In_ PVOID  MapRegisterBase,
_In_ PVOID  CurrentVa,
_In_ ULONG  Length,
_In_ BOOLEAN  WriteToDevice 
)

◆ IoFreeAdapterChannel()

NTHALAPI VOID NTAPI IoFreeAdapterChannel ( _In_ PADAPTER_OBJECT  AdapterObject)

◆ IoFreeMapRegisters()

NTHALAPI VOID NTAPI IoFreeMapRegisters ( _In_ PADAPTER_OBJECT  AdapterObject,
_In_ PVOID  MapRegisterBase,
_In_ ULONG  NumberOfMapRegisters 
)

Variable Documentation

◆ Affinity

◆ AllocatedResources

◆ Buffer

Definition at line 291 of file halfuncs.h.

◆ BusInterruptLevel

◆ BusInterruptVector

_In_ ULONG _In_ ULONG _In_ ULONG BusInterruptVector

◆ BusNumber

◆ BusType

◆ DeviceObject

Definition at line 156 of file halfuncs.h.

◆ DriverClassName

_In_opt_ PUNICODE_STRING DriverClassName

◆ DriverObject

◆ Irql

Definition at line 170 of file halfuncs.h.

◆ MBRTypeIdentifier

_In_ ULONG _In_ ULONG MBRTypeIdentifier

Definition at line 291 of file halfuncs.h.

Referenced by HalpXboxExamineMBR().

◆ NumberOfMapRegisters

◆ SectorSize

◆ SlotNumber