PnpDeleteObjectDispatch
NTSTATUS __stdcall PnpDeleteObjectDispatch(
HPNPCTX *hPnpCtx,
WCHAR *ObjectName,
PNP_OBJECT_TYPE ObjectType,
UINT64 Flags){
int v7;
NTSTATUS ObjectDispatchCallback;
void *v10[2];
int v11[16];
v10[0] = 0i64;
v7 = Flags;
memset(v11, 0i64, sizeof(v11));
if( (_WORD)v7 )
return -1073741811;
ObjectDispatchCallback = PnpCtxGetObjectDispatchCallback((__int64)hPnpCtx, ObjectType, v10);
if( ObjectDispatchCallback >= 0 )
{
if( v10[0] )
{
v11[0] = v7;
ObjectDispatchCallback = ((__int64(__fastcall *)(HPNPCTX *, WCHAR *, _QWORD, __int64, int *))v10[0])(
hPnpCtx,
ObjectName,
(unsigned int)ObjectType,
4i64,
v11);
if( ObjectDispatchCallback >= 0 && ObjectType >= 7 )
PnpObjectRaiseDeleteEvent((__int64)hPnpCtx, (__int64)ObjectName, (unsigned int)ObjectType);
}
else
{
return -1073741822;
}
}
return ObjectDispatchCallback;
}Referenced by:
PnpDeleteObject