PopFxAcpiUnregisterDevice
NTSTATUS __stdcall PopFxAcpiUnregisterDevice(VOID *FxDevice, ULONG_PTR Data){
_IO_REMOVE_LOCK *v2;
VOID *v3;
_POP_FX_DEVICE *v5;
NTSTATUS v6;
UINT64 v8;
v2 = (_IO_REMOVE_LOCK *)((char *)FxDevice + 272);
LODWORD(v8) = 32;
v3 = *(VOID **)&Data;
v6 = IoAcquireRemoveLockEx((_IO_REMOVE_LOCK *)((char *)FxDevice + 272), (VOID *)0x72466F50, (CHAR *)&File, 1ui64, v8);
if( *((VOID **)FxDevice + 25) != (char *)FxDevice + 200 )
PopFxRemoveAcpiDevice(v5);
IoReleaseRemoveLockAndWaitEx(v2, (PVOID)0x72466F50, 0x20u);
PopPluginAcpiNotificationStrict(*((_POP_FX_PLUGIN **)FxDevice + 10), 4ui64, v3);
_InterlockedAnd((volatile signed __int32 *)FxDevice + 206, 0xFFFFFFFB);
*((_QWORD *)FxDevice + 10) = 0i64;
*((_QWORD *)FxDevice + 11) = 0i64;
PopFxDestroyDeviceCommon((_POP_FX_DEVICE *)FxDevice);
return v6;
}Referenced by:
PopFxAcpiDispatchNotification