Advertisement
ZFZNVnBHVjI1a

Untitled

Mar 1st, 2022
1,720
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. NTSTATUS KphOpenNamedObject(
  3.     _Out_ PHANDLE ObjectHandle,
  4.     _In_ ACCESS_MASK DesiredAccess,
  5.     _In_ POBJECT_ATTRIBUTES ObjectAttributes,
  6.     _In_ POBJECT_TYPE ObjectType,
  7.     _In_ KPROCESSOR_MODE AccessMode
  8.     )
  9. {
  10.     NTSTATUS status;
  11.     HANDLE objectHandle;
  12.  
  13.     PAGED_CODE();
  14.  
  15.     // Open the object.
  16.     status = ObOpenObjectByName(
  17.         ObjectAttributes,
  18.         ObjectType,
  19.         AccessMode,
  20.         NULL,
  21.         DesiredAccess,
  22.         NULL,
  23.         &objectHandle
  24.         );
  25.  
  26.     // Pass the handle back.
  27.     if (AccessMode != KernelMode)
  28.     {
  29.         __try
  30.         {
  31.             *ObjectHandle = objectHandle;
  32.         }
  33.         __except (EXCEPTION_EXECUTE_HANDLER)
  34.         {
  35.             status = GetExceptionCode();
  36.         }
  37.     }
  38.     else
  39.     {
  40.         *ObjectHandle = objectHandle;
  41.     }
  42.  
  43.     return status;
  44. }
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement