+$if (_WDMDDK_)
/******************************************************************************
* Object Manager Functions *
******************************************************************************/
+$endif (_WDMDDK_)
-$if (_WDMDDK_)
#if (NTDDI_VERSION >= NTDDI_WIN2K)
-
+$if (_WDMDDK_)
+_IRQL_requires_max_(DISPATCH_LEVEL)
NTKERNELAPI
LONG_PTR
FASTCALL
ObfDereferenceObject(
- IN PVOID Object);
+ _In_ PVOID Object);
#define ObDereferenceObject ObfDereferenceObject
+_IRQL_requires_max_(APC_LEVEL)
NTKERNELAPI
NTSTATUS
NTAPI
ObGetObjectSecurity(
- IN PVOID Object,
- OUT PSECURITY_DESCRIPTOR *SecurityDescriptor,
- OUT PBOOLEAN MemoryAllocated);
+ _In_ PVOID Object,
+ _Out_ PSECURITY_DESCRIPTOR *SecurityDescriptor,
+ _Out_ PBOOLEAN MemoryAllocated);
+_IRQL_requires_max_(DISPATCH_LEVEL)
NTKERNELAPI
LONG_PTR
FASTCALL
ObfReferenceObject(
- IN PVOID Object);
+ _In_ PVOID Object);
#define ObReferenceObject ObfReferenceObject
+_IRQL_requires_max_(APC_LEVEL)
NTKERNELAPI
NTSTATUS
NTAPI
ObReferenceObjectByHandle(
- IN HANDLE Handle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_TYPE ObjectType OPTIONAL,
- IN KPROCESSOR_MODE AccessMode,
- OUT PVOID *Object,
- OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL);
+ _In_ HANDLE Handle,
+ _In_ ACCESS_MASK DesiredAccess,
+ _In_opt_ POBJECT_TYPE ObjectType,
+ _In_ KPROCESSOR_MODE AccessMode,
+ _Out_ PVOID *Object,
+ _Out_opt_ POBJECT_HANDLE_INFORMATION HandleInformation);
+_IRQL_requires_max_(DISPATCH_LEVEL)
NTKERNELAPI
NTSTATUS
NTAPI
ObReferenceObjectByPointer(
- IN PVOID Object,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_TYPE ObjectType OPTIONAL,
- IN KPROCESSOR_MODE AccessMode);
+ _In_ PVOID Object,
+ _In_ ACCESS_MASK DesiredAccess,
+ _In_opt_ POBJECT_TYPE ObjectType,
+ _In_ KPROCESSOR_MODE AccessMode);
+_IRQL_requires_max_(APC_LEVEL)
NTKERNELAPI
VOID
NTAPI
ObReleaseObjectSecurity(
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN BOOLEAN MemoryAllocated);
+ _In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
+ _In_ BOOLEAN MemoryAllocated);
+$endif (_WDMDDK_)
+$if (_NTIFS_)
+
+NTKERNELAPI
+NTSTATUS
+NTAPI
+ObInsertObject(
+ _In_ PVOID Object,
+ _Inout_opt_ PACCESS_STATE PassedAccessState,
+ _In_opt_ ACCESS_MASK DesiredAccess,
+ _In_ ULONG ObjectPointerBias,
+ _Out_opt_ PVOID *NewObject,
+ _Out_opt_ PHANDLE Handle);
+
+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_)
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
-$endif
+#if (NTDDI_VERSION >= NTDDI_VISTA)
+$if (_WDMDDK_)
+NTKERNELAPI
+VOID
+NTAPI
+ObDereferenceObjectDeferDelete(
+ _In_ PVOID Object);
+$endif (_WDMDDK_)
+$if (_NTIFS_)
+
+NTKERNELAPI
+BOOLEAN
+NTAPI
+ObIsKernelHandle(
+ _In_ HANDLE Handle);
+$endif (_NTIFS_)
+#endif
+
+$if (_WDMDDK_)
+#if (NTDDI_VERSION >= NTDDI_VISTASP1)
+NTKERNELAPI
+NTSTATUS
+NTAPI
+ObRegisterCallbacks(
+ _In_ POB_CALLBACK_REGISTRATION CallbackRegistration,
+ _Outptr_ PVOID *RegistrationHandle);
+
+NTKERNELAPI
+VOID
+NTAPI
+ObUnRegisterCallbacks(
+ _In_ PVOID RegistrationHandle);
+
+NTKERNELAPI
+USHORT
+NTAPI
+ObGetFilterVersion(VOID);
+
+#endif /* (NTDDI_VERSION >= NTDDI_VISTASP1) */
+$endif (_WDMDDK_)
+
+#if (NTDDI_VERSION >= NTDDI_WIN7)
+$if (_WDMDDK_)
+_IRQL_requires_max_(APC_LEVEL)
+NTKERNELAPI
+NTSTATUS
+NTAPI
+ObReferenceObjectByHandleWithTag(
+ _In_ HANDLE Handle,
+ _In_ ACCESS_MASK DesiredAccess,
+ _In_opt_ POBJECT_TYPE ObjectType,
+ _In_ KPROCESSOR_MODE AccessMode,
+ _In_ ULONG Tag,
+ _Out_ PVOID *Object,
+ _Out_opt_ POBJECT_HANDLE_INFORMATION HandleInformation);
+
+_IRQL_requires_max_(DISPATCH_LEVEL)
+NTKERNELAPI
+LONG_PTR
+FASTCALL
+ObfReferenceObjectWithTag(
+ _In_ PVOID Object,
+ _In_ ULONG Tag);
+
+_IRQL_requires_max_(DISPATCH_LEVEL)
+NTKERNELAPI
+NTSTATUS
+NTAPI
+ObReferenceObjectByPointerWithTag(
+ _In_ PVOID Object,
+ _In_ ACCESS_MASK DesiredAccess,
+ _In_opt_ POBJECT_TYPE ObjectType,
+ _In_ KPROCESSOR_MODE AccessMode,
+ _In_ ULONG Tag);
+
+_IRQL_requires_max_(DISPATCH_LEVEL)
+NTKERNELAPI
+LONG_PTR
+FASTCALL
+ObfDereferenceObjectWithTag(
+ _In_ PVOID Object,
+ _In_ ULONG Tag);
+
+NTKERNELAPI
+VOID
+NTAPI
+ObDereferenceObjectDeferDeleteWithTag(
+ _In_ PVOID Object,
+ _In_ ULONG Tag);
+
+#define ObDereferenceObject ObfDereferenceObject
+#define ObReferenceObject ObfReferenceObject
+#define ObDereferenceObjectWithTag ObfDereferenceObjectWithTag
+#define ObReferenceObjectWithTag ObfReferenceObjectWithTag
+$endif (_WDMDDK_)
+$if (_NTIFS_)
+
+NTKERNELAPI
+NTSTATUS
+NTAPI
+ObOpenObjectByPointerWithTag(
+ _In_ PVOID Object,
+ _In_ ULONG HandleAttributes,
+ _In_opt_ PACCESS_STATE PassedAccessState,
+ _In_ ACCESS_MASK DesiredAccess,
+ _In_opt_ POBJECT_TYPE ObjectType,
+ _In_ KPROCESSOR_MODE AccessMode,
+ _In_ ULONG Tag,
+ _Out_ PHANDLE Handle);
+$endif (_NTIFS_)
+#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */