- Fix compile issues caused by previous patch.
[reactos.git] / reactos / ntoskrnl / ob / handle.c
index 1b358e3..6176766 100644 (file)
@@ -85,12 +85,12 @@ ObpDecrementHandleCount(PVOID ObjectBody)
 
 
 NTSTATUS
+NTAPI
 ObpQueryHandleAttributes(HANDLE Handle,
                         POBJECT_HANDLE_ATTRIBUTE_INFORMATION HandleInfo)
 {
   PHANDLE_TABLE HandleTable;
   PHANDLE_TABLE_ENTRY HandleTableEntry;
-  LONG ExHandle;
 
   PAGED_CODE();
 
@@ -99,18 +99,17 @@ ObpQueryHandleAttributes(HANDLE Handle,
   if(ObIsKernelHandle(Handle, ExGetPreviousMode()))
   {
     HandleTable = ObpKernelHandleTable;
-    ExHandle = HANDLE_TO_EX_HANDLE(ObKernelHandleToHandle(Handle));
+    Handle = ObKernelHandleToHandle(Handle);
   }
   else
   {
     HandleTable = PsGetCurrentProcess()->ObjectTable;
-    ExHandle = HANDLE_TO_EX_HANDLE(Handle);
   }
 
   KeEnterCriticalRegion();
 
   HandleTableEntry = ExMapHandleToPointer(HandleTable,
-                                          ExHandle);
+                                          Handle);
   if (HandleTableEntry == NULL)
     {
       KeLeaveCriticalRegion();
@@ -130,12 +129,12 @@ ObpQueryHandleAttributes(HANDLE Handle,
 
 
 NTSTATUS
+NTAPI
 ObpSetHandleAttributes(HANDLE Handle,
                       POBJECT_HANDLE_ATTRIBUTE_INFORMATION HandleInfo)
 {
   PHANDLE_TABLE HandleTable;
   PHANDLE_TABLE_ENTRY HandleTableEntry;
-  LONG ExHandle;
 
   PAGED_CODE();
 
@@ -144,18 +143,17 @@ ObpSetHandleAttributes(HANDLE Handle,
   if(ObIsKernelHandle(Handle, ExGetPreviousMode()))
   {
     HandleTable = ObpKernelHandleTable;
-    ExHandle = HANDLE_TO_EX_HANDLE(ObKernelHandleToHandle(Handle));
+    Handle = ObKernelHandleToHandle(Handle);
   }
   else
   {
     HandleTable = PsGetCurrentProcess()->ObjectTable;
-    ExHandle = HANDLE_TO_EX_HANDLE(Handle);
   }
 
   KeEnterCriticalRegion();
 
   HandleTableEntry = ExMapHandleToPointer(HandleTable,
-                                          ExHandle);
+                                          Handle);
   if (HandleTableEntry == NULL)
     {
       KeLeaveCriticalRegion();
@@ -190,7 +188,6 @@ ObpDeleteHandle(PHANDLE_TABLE HandleTable,
    PHANDLE_TABLE_ENTRY HandleEntry;
    PVOID Body;
    POBJECT_HEADER ObjectHeader;
-   LONG ExHandle = HANDLE_TO_EX_HANDLE(Handle);
 
    PAGED_CODE();
 
@@ -199,7 +196,7 @@ ObpDeleteHandle(PHANDLE_TABLE HandleTable,
    KeEnterCriticalRegion();
 
    HandleEntry = ExMapHandleToPointer(HandleTable,
-                                      ExHandle);
+                                      Handle);
    if(HandleEntry != NULL)
    {
      if(HandleEntry->u1.ObAttributes & EX_HANDLE_ENTRY_PROTECTFROMCLOSE)
@@ -220,7 +217,7 @@ ObpDeleteHandle(PHANDLE_TABLE HandleTable,
      /* destroy and unlock the handle entry */
      ExDestroyHandleByEntry(HandleTable,
                             HandleEntry,
-                            ExHandle);
+                            Handle);
 
      KeLeaveCriticalRegion();
 
@@ -232,6 +229,7 @@ ObpDeleteHandle(PHANDLE_TABLE HandleTable,
 
 
 NTSTATUS
+NTAPI
 ObDuplicateObject(PEPROCESS SourceProcess,
                  PEPROCESS TargetProcess,
                  HANDLE SourceHandle,
@@ -245,9 +243,8 @@ ObDuplicateObject(PEPROCESS SourceProcess,
   HANDLE_TABLE_ENTRY NewHandleEntry;
   PVOID ObjectBody;
   POBJECT_HEADER ObjectHeader;
-  LONG ExTargetHandle;
-  LONG ExSourceHandle;
   ULONG NewHandleCount;
+  HANDLE NewTargetHandle;
 
   PAGED_CODE();
 
@@ -261,12 +258,10 @@ ObDuplicateObject(PEPROCESS SourceProcess,
     SourceHandleTable = SourceProcess->ObjectTable;
   }
 
-  ExSourceHandle = HANDLE_TO_EX_HANDLE(SourceHandle);
-
   KeEnterCriticalRegion();
 
   SourceHandleEntry = ExMapHandleToPointer(SourceHandleTable,
-                                           ExSourceHandle);
+                                           SourceHandle);
   if (SourceHandleEntry == NULL)
     {
       KeLeaveCriticalRegion();
@@ -316,9 +311,9 @@ ObDuplicateObject(PEPROCESS SourceProcess,
   KeLeaveCriticalRegion();
 
   /* attempt to create the new handle */
-  ExTargetHandle = ExCreateHandle(TargetProcess->ObjectTable,
-                                  &NewHandleEntry);
-  if (ExTargetHandle != EX_INVALID_HANDLE)
+  NewTargetHandle = ExCreateHandle(TargetProcess->ObjectTable,
+                                   &NewHandleEntry);
+  if (NewTargetHandle != NULL)
   {
     if (Options & DUPLICATE_CLOSE_SOURCE)
     {
@@ -328,7 +323,7 @@ ObDuplicateObject(PEPROCESS SourceProcess,
 
     ObDereferenceObject(ObjectBody);
 
-    *TargetHandle = EX_HANDLE_TO_HANDLE(ExTargetHandle);
+    *TargetHandle = NewTargetHandle;
 
     return STATUS_SUCCESS;
   }
@@ -396,9 +391,7 @@ NtDuplicateObject (IN       HANDLE          SourceProcessHandle,
    {
      _SEH_TRY
      {
-       ProbeForWrite(TargetHandle,
-                     sizeof(HANDLE),
-                     sizeof(ULONG));
+       ProbeForWriteHandle(TargetHandle);
      }
      _SEH_HANDLE
      {
@@ -550,7 +543,9 @@ DuplicateHandleCallback(PHANDLE_TABLE HandleTable,
   return Ret;
 }
 
-VOID ObCreateHandleTable(PEPROCESS Parent,
+VOID
+NTAPI
+ObCreateHandleTable(PEPROCESS Parent,
                         BOOLEAN Inherit,
                         PEPROCESS Process)
 /*
@@ -592,6 +587,7 @@ ObKillProcess(PEPROCESS Process)
 
 
 NTSTATUS
+NTAPI
 ObpCreateHandle(PEPROCESS Process,
               PVOID ObjectBody,
               ACCESS_MASK GrantedAccess,
@@ -607,7 +603,7 @@ ObpCreateHandle(PEPROCESS Process,
 {
    HANDLE_TABLE_ENTRY NewEntry;
    POBJECT_HEADER ObjectHeader;
-   LONG ExHandle;
+   HANDLE Handle;
 
    PAGED_CODE();
 
@@ -639,10 +635,10 @@ ObpCreateHandle(PEPROCESS Process,
      NewEntry.u1.ObAttributes &= ~EX_HANDLE_ENTRY_INHERITABLE;
    NewEntry.u2.GrantedAccess = GrantedAccess;
 
-   ExHandle = ExCreateHandle(Process->ObjectTable,
-                             &NewEntry);
-   DPRINT("ObCreateHandle(0x%x)==0x%x [HT:0x%x]\n", ObjectHeader, *HandleReturn, Process->ObjectTable);
-   if(ExHandle != EX_INVALID_HANDLE)
+   Handle = ExCreateHandle(Process->ObjectTable,
+                           &NewEntry);
+   DPRINT("ObCreateHandle(0x%x)==0x%x [HT:0x%x]\n", ObjectHeader, Handle, Process->ObjectTable);
+   if(Handle != NULL)
    {
      if(InterlockedIncrement(&ObjectHeader->HandleCount) == 1)
      {
@@ -652,7 +648,7 @@ ObpCreateHandle(PEPROCESS Process,
                                 UserMode);
      }
 
-     *HandleReturn = EX_HANDLE_TO_HANDLE(ExHandle);
+     *HandleReturn = Handle;
 
      return STATUS_SUCCESS;
    }
@@ -670,7 +666,6 @@ ObQueryObjectAuditingByHandle(IN HANDLE Handle,
 {
   PHANDLE_TABLE_ENTRY HandleEntry;
   PEPROCESS Process;
-  LONG ExHandle = HANDLE_TO_EX_HANDLE(Handle);
 
   PAGED_CODE();
 
@@ -681,7 +676,7 @@ ObQueryObjectAuditingByHandle(IN HANDLE Handle,
   KeEnterCriticalRegion();
 
   HandleEntry = ExMapHandleToPointer(Process->ObjectTable,
-                                     ExHandle);
+                                     Handle);
   if(HandleEntry != NULL)
   {
     *GenerateOnClose = (HandleEntry->u1.ObAttributes & EX_HANDLE_ENTRY_AUDITONCLOSE) != 0;
@@ -729,7 +724,6 @@ ObReferenceObjectByHandle(HANDLE Handle,
    PVOID ObjectBody;
    ACCESS_MASK GrantedAccess;
    ULONG Attributes;
-   LONG ExHandle;
 
    PAGED_CODE();
 
@@ -800,18 +794,17 @@ ObReferenceObjectByHandle(HANDLE Handle,
    if(ObIsKernelHandle(Handle, AccessMode))
    {
       HandleTable = ObpKernelHandleTable;
-      ExHandle = HANDLE_TO_EX_HANDLE(ObKernelHandleToHandle(Handle));
+      Handle = ObKernelHandleToHandle(Handle);
    }
    else
    {
       HandleTable = PsGetCurrentProcess()->ObjectTable;
-      ExHandle = HANDLE_TO_EX_HANDLE(Handle);
    }
 
    KeEnterCriticalRegion();
 
    HandleEntry = ExMapHandleToPointer(HandleTable,
-                                     ExHandle);
+                                     Handle);
    if (HandleEntry == NULL)
      {
         KeLeaveCriticalRegion();
@@ -1152,6 +1145,7 @@ ObInsertObject(IN PVOID Object,
 
 
 ULONG
+NTAPI
 ObpGetHandleCountByHandleTable(PHANDLE_TABLE HandleTable)
 {
   return HandleTable->HandleCount;