NtDeletePrivateNamespace
NTSTATUS __stdcall NtDeletePrivateNamespace(PVOID NamespaceHandle){
NTSTATUS result;
_OBJECT_DIRECTORY *v2;
NTSTATUS v3;
PADAPTER_OBJECT DmaAdapter;
struct _OBJECT_HANDLE_INFORMATION v5;
v5 = 0i64;
DmaAdapter = 0i64;
result = ObReferenceObjectByHandle(
NamespaceHandle,
0x10000u,
ObpDirectoryObjectType,
*((_BYTE *)KeGetCurrentThread() + 562),
(PVOID *)&DmaAdapter,
&v5);
if( result >= 0 )
{
v2 = (_OBJECT_DIRECTORY *)DmaAdapter;
if( *(_QWORD *)&DmaAdapter[20].Version )
{
v3 = ObpVerifyCreatorAccessCheck(&DmaAdapter[24].DmaOperations);
if( v3 >= 0 )
v3 = ObpRemoveNamespaceFromTable(v2);
}
else
{
v3 = -1073741816;
}
HalPutDmaAdapter((PADAPTER_OBJECT)v2);
return v3;
}
return result;
}Referenced by:
No references.