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.