NtDeletePrivateNamespace

NTSTATUS __stdcall NtDeletePrivateNamespace(VOID *NamespaceHandle){
  NTSTATUS result; 
  _OBJECT_DIRECTORY *v2; 
  NTSTATUS v3; 
  _OBJECT_DIRECTORY *Directory; 
  _OBJECT_HANDLE_INFORMATION v5; 

  v5 = 0i64;
  Directory = 0i64;
  result = ObReferenceObjectByHandle(
             NamespaceHandle,
             0x10000ui64,
             DmaAdapter,
             KeGetCurrentThread()->PreviousMode,
             (VOID **)&Directory,
             &v5);
  if( result >= 0 )
  {
    v2 = Directory;
    if( Directory->NamespaceEntry )
    {
      v3 = ObpVerifyCreatorAccessCheck(&Directory[1].HashBuckets[6]);
      if( v3 >= 0 )
        v3 = ObpRemoveNamespaceFromTable(v2);
    }
    else
    {
      v3 = -1073741816;
    }
    HalPutDmaAdapter((PADAPTER_OBJECT)v2);
    return v3;
  }
  return result;
}

Referenced by:

No references.