ReactOS  0.4.15-dev-994-ga9f6032
obfuncs.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ObDereferenceObject   ObfDereferenceObject
 
#define ObReferenceObject   ObfReferenceObject
 
#define ObDereferenceObject   ObfDereferenceObject
 
#define ObReferenceObject   ObfReferenceObject
 
#define ObDereferenceObjectWithTag   ObfDereferenceObjectWithTag
 
#define ObReferenceObjectWithTag   ObfReferenceObjectWithTag
 

Functions

 $if (_WDMDDK_) $endif(_WDMDDK_) $if(_WDMDDK_) _IRQL_requires_max_(DISPATCH_LEVEL) NTKERNELAPI LONG_PTR FASTCALL ObfDereferenceObject(_In_ PVOID Object)
 
 _IRQL_requires_max_ (APC_LEVEL) NTKERNELAPI NTSTATUS NTAPI ObGetObjectSecurity(_In_ PVOID Object
 
 _IRQL_requires_max_ (DISPATCH_LEVEL) NTKERNELAPI LONG_PTR FASTCALL ObfReferenceObject(_In_ PVOID Object)
 
 $endif (_WDMDDK_) $if(_NTIFS_) NTKERNELAPI NTSTATUS NTAPI ObInsertObject(_In_ PVOID Object
 
NTKERNELAPI NTSTATUS NTAPI ObOpenObjectByPointer (_In_ PVOID Object, _In_ ULONG HandleAttributes, _In_opt_ PACCESS_STATE PassedAccessState, _In_ ACCESS_MASK DesiredAccess, _In_opt_ POBJECT_TYPE ObjectType, _In_ KPROCESSOR_MODE AccessMode, _Out_ PHANDLE Handle)
 
NTKERNELAPI VOID NTAPI ObMakeTemporaryObject (_In_ PVOID Object)
 
NTKERNELAPI NTSTATUS NTAPI ObQueryNameString (_In_ PVOID Object, _Out_writes_bytes_opt_(Length) POBJECT_NAME_INFORMATION ObjectNameInfo, _In_ ULONG Length, _Out_ PULONG ReturnLength)
 
NTKERNELAPI NTSTATUS NTAPI ObQueryObjectAuditingByHandle (_In_ HANDLE Handle, _Out_ PBOOLEAN GenerateOnClose)
 
 $endif (_NTIFS_) $if(_WDMDDK_) NTKERNELAPI VOID NTAPI ObDereferenceObjectDeferDelete(_In_ PVOID Object)
 
NTKERNELAPI VOID NTAPI ObUnRegisterCallbacks (_In_ PVOID RegistrationHandle)
 
NTKERNELAPI USHORT NTAPI ObGetFilterVersion (VOID)
 
NTKERNELAPI VOID NTAPI ObDereferenceObjectDeferDeleteWithTag (_In_ PVOID Object, _In_ ULONG Tag)
 
NTKERNELAPI ULONG NTAPI ObGetObjectPointerCount (_In_ PVOID Object)
 

Variables

_Out_ PSECURITY_DESCRIPTORSecurityDescriptor
 
_Out_ PSECURITY_DESCRIPTOR _Out_ PBOOLEAN MemoryAllocated
 
_In_ ACCESS_MASK DesiredAccess
 
_In_ ACCESS_MASK _In_opt_ POBJECT_TYPE ObjectType
 
_In_ ACCESS_MASK _In_opt_ POBJECT_TYPE _In_ KPROCESSOR_MODE AccessMode
 
_In_ ACCESS_MASK _In_opt_ POBJECT_TYPE _In_ KPROCESSOR_MODE _Out_ PVOIDObject
 
_In_ ACCESS_MASK _In_opt_ POBJECT_TYPE _In_ KPROCESSOR_MODE _Out_ PVOID _Out_opt_ POBJECT_HANDLE_INFORMATION HandleInformation
 
_Inout_opt_ PACCESS_STATE PassedAccessState
 
_Inout_opt_ PACCESS_STATE _In_opt_ ACCESS_MASK _In_ ULONG ObjectPointerBias
 
_Inout_opt_ PACCESS_STATE _In_opt_ ACCESS_MASK _In_ ULONG _Out_opt_ PVOIDNewObject
 
_Inout_opt_ PACCESS_STATE _In_opt_ ACCESS_MASK _In_ ULONG _Out_opt_ PVOID _Out_opt_ PHANDLE Handle
 
_Outptr_ PVOIDRegistrationHandle
 
_In_ ACCESS_MASK _In_opt_ POBJECT_TYPE _In_ KPROCESSOR_MODE _In_ ULONG Tag
 
_In_ ULONG HandleAttributes
 

Macro Definition Documentation

◆ ObDereferenceObject [1/2]

#define ObDereferenceObject   ObfDereferenceObject

Definition at line 203 of file obfuncs.h.

◆ ObDereferenceObject [2/2]

#define ObDereferenceObject   ObfDereferenceObject

Definition at line 203 of file obfuncs.h.

◆ ObDereferenceObjectWithTag

#define ObDereferenceObjectWithTag   ObfDereferenceObjectWithTag

Definition at line 205 of file obfuncs.h.

◆ ObReferenceObject [1/2]

#define ObReferenceObject   ObfReferenceObject

Definition at line 204 of file obfuncs.h.

◆ ObReferenceObject [2/2]

#define ObReferenceObject   ObfReferenceObject

Definition at line 204 of file obfuncs.h.

◆ ObReferenceObjectWithTag

#define ObReferenceObjectWithTag   ObfReferenceObjectWithTag

Definition at line 206 of file obfuncs.h.

Function Documentation

◆ $endif() [1/2]

$endif ( _WDMDDK_  )

Definition at line 202 of file ke.h.

226 {
227  ULONGLONG Low;
228  LONGLONG High;
229 } NEON128, *PNEON128;
Definition: strmini.h:380
int64_t LONGLONG
Definition: typedefs.h:68
uint64_t ULONGLONG
Definition: typedefs.h:67
Definition: strmini.h:378
NEON128
Definition: ke.h:229
* PNEON128
Definition: ke.h:229

◆ $endif() [2/2]

$endif ( _NTIFS_  )

Definition at line 2827 of file rtlfuncs.h.

2841 {
2843  ret.QuadPart = SignedInteger;
2844  return ret;
2845 }
return ret
Definition: rtlfuncs.h:3092

◆ $if()

$if ( _WDMDDK_  )

Kernel definitions for AMD64

Kernel definitions for ARM

Kernel definitions for AMD64

Kernel definitions for ARM

Kernel definitions for x86

Definition at line 1 of file ke.h.

31 {
32  ULONG Dummy;
struct _KFLOATING_SAVE KFLOATING_SAVE
struct _KFLOATING_SAVE * PKFLOATING_SAVE
unsigned int ULONG
Definition: retypes.h:1

◆ _IRQL_requires_max_() [1/2]

_IRQL_requires_max_ ( APC_LEVEL  )

◆ _IRQL_requires_max_() [2/2]

_IRQL_requires_max_ ( DISPATCH_LEVEL  )

Definition at line 188 of file autorun.c.

197 {
199  ULONG requiredSize;
201 
202  status = RtlULongAdd((sizeof(TARGET_DEVICE_CUSTOM_NOTIFICATION) - sizeof(UCHAR)),
204  &requiredSize);
205 
206  if (!(NT_SUCCESS(status)) || (requiredSize > 0x0000ffff)) {
207  // MAX_USHORT, max total size for these events!
208  TracePrint((TRACE_LEVEL_WARNING, TRACE_FLAG_MCN,
209  "Error sending event: size too large! (%x)\n",
210  requiredSize));
211  return;
212  }
213 
214  notification = ExAllocatePoolWithTag(NonPagedPoolNx,
215  requiredSize,
216  'oNcS');
217 
218  //
219  // if none allocated, exit
220  //
221 
222  if (notification == NULL) {
223  return;
224  }
225 
226  //
227  // Prepare and send the request!
228  //
229 
230  RtlZeroMemory(notification, requiredSize);
231  notification->Version = 1;
232  notification->Size = (USHORT)(requiredSize);
233  notification->FileObject = NULL;
234  notification->NameBufferOffset = -1;
235  notification->Event = *Guid;
236 
237  if (ExtraData != NULL && ExtraDataSize != 0) {
238  RtlCopyMemory(notification->CustomDataBuffer, ExtraData, ExtraDataSize);
239  }
240 
242  notification,
243  NULL, NULL);
244 
246  return;
247 }
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
_In_ const GUID _In_ ULONG ExtraDataSize
Definition: classpnp.h:1429
LONG NTSTATUS
Definition: precomp.h:26
static GUID * Guid
Definition: apphelp.c:93
smooth NULL
Definition: ftsmooth.c:416
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define ExAllocatePoolWithTag(hernya, size, tag)
Definition: env_spec_w32.h:350
unsigned char UCHAR
Definition: xmlstorage.h:181
#define FREE_POOL(_PoolPtr)
Definition: classpnp.h:63
#define TRACE_LEVEL_WARNING
Definition: storswtr.h:28
unsigned short USHORT
Definition: pedump.c:61
unsigned int ULONG
Definition: retypes.h:1
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
NTSTATUS NTAPI IoReportTargetDeviceChangeAsynchronous(IN PDEVICE_OBJECT PhysicalDeviceObject, IN PVOID NotificationStructure, IN PDEVICE_CHANGE_COMPLETE_CALLBACK Callback OPTIONAL, IN PVOID Context OPTIONAL)
Definition: pnpreport.c:515
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

◆ ObDereferenceObjectDeferDeleteWithTag()

NTKERNELAPI VOID NTAPI ObDereferenceObjectDeferDeleteWithTag ( _In_ PVOID  Object,
_In_ ULONG  Tag 
)

◆ ObGetFilterVersion()

NTKERNELAPI USHORT NTAPI ObGetFilterVersion ( VOID  )

◆ ObGetObjectPointerCount()

NTKERNELAPI ULONG NTAPI ObGetObjectPointerCount ( _In_ PVOID  Object)

◆ ObMakeTemporaryObject()

NTKERNELAPI VOID NTAPI ObMakeTemporaryObject ( _In_ PVOID  Object)

◆ ObOpenObjectByPointer()

NTKERNELAPI NTSTATUS NTAPI ObOpenObjectByPointer ( _In_ PVOID  Object,
_In_ ULONG  HandleAttributes,
_In_opt_ PACCESS_STATE  PassedAccessState,
_In_ ACCESS_MASK  DesiredAccess,
_In_opt_ POBJECT_TYPE  ObjectType,
_In_ KPROCESSOR_MODE  AccessMode,
_Out_ PHANDLE  Handle 
)

◆ ObQueryNameString()

NTKERNELAPI NTSTATUS NTAPI ObQueryNameString ( _In_ PVOID  Object,
_Out_writes_bytes_opt_(Length) POBJECT_NAME_INFORMATION  ObjectNameInfo,
_In_ ULONG  Length,
_Out_ PULONG  ReturnLength 
)

◆ ObQueryObjectAuditingByHandle()

NTKERNELAPI NTSTATUS NTAPI ObQueryObjectAuditingByHandle ( _In_ HANDLE  Handle,
_Out_ PBOOLEAN  GenerateOnClose 
)

◆ ObUnRegisterCallbacks()

NTKERNELAPI VOID NTAPI ObUnRegisterCallbacks ( _In_ PVOID  RegistrationHandle)

Variable Documentation

◆ AccessMode

◆ DesiredAccess

Definition at line 40 of file obfuncs.h.

◆ Handle

◆ HandleAttributes

_In_ ULONG HandleAttributes

Definition at line 215 of file obfuncs.h.

◆ HandleInformation

◆ MemoryAllocated

◆ NewObject

◆ Object

◆ ObjectPointerBias

Definition at line 71 of file obfuncs.h.

Referenced by ObInsertObject().

◆ ObjectType

◆ PassedAccessState

◆ RegistrationHandle

_Outptr_ PVOID* RegistrationHandle

Definition at line 138 of file obfuncs.h.

◆ SecurityDescriptor

◆ Tag