* Sync up to trunk r55544.
[reactos.git] / include / xdk / obfuncs.h
index 40912fa..dc7d0ca 100644 (file)
+$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) */
 
 #if (NTDDI_VERSION >= NTDDI_VISTA)
+$if (_WDMDDK_)
 NTKERNELAPI
 VOID
 NTAPI
 ObDereferenceObjectDeferDelete(
-  IN PVOID Object);
+  _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,
-  OUT PVOID *RegistrationHandle);
+  _In_ POB_CALLBACK_REGISTRATION CallbackRegistration,
+  _Outptr_ PVOID *RegistrationHandle);
 
 NTKERNELAPI
 VOID
 NTAPI
 ObUnRegisterCallbacks(
-  IN PVOID RegistrationHandle);
+  _In_ PVOID RegistrationHandle);
 
 NTKERNELAPI
 USHORT
@@ -84,58 +149,76 @@ 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 POBJECT_TYPE ObjectType OPTIONAL,
-  IN KPROCESSOR_MODE AccessMode,
-  IN ULONG Tag,
-  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,
+  _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);
+  _In_ PVOID Object,
+  _In_ ULONG Tag);
 
+_IRQL_requires_max_(DISPATCH_LEVEL)
 NTKERNELAPI
 NTSTATUS
 NTAPI
 ObReferenceObjectByPointerWithTag(
-  IN PVOID Object,
-  IN ACCESS_MASK DesiredAccess,
-  IN POBJECT_TYPE ObjectType OPTIONAL,
-  IN KPROCESSOR_MODE AccessMode,
-  IN ULONG Tag);
+  _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);
+  _In_ PVOID Object,
+  _In_ ULONG Tag);
 
 NTKERNELAPI
 VOID
 NTAPI
 ObDereferenceObjectDeferDeleteWithTag(
-  IN PVOID Object,
-  IN ULONG Tag);
+  _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) */
 
-$endif
-