WdipSemEnableSemProvider
NTSTATUS __stdcall WdipSemEnableSemProvider(){
int v0;
UINT64 v2;
UINT64 v3;
UINT64 ControlCode;
UINT64 ControlCodea;
unsigned __int64 RegHandle;
RegHandle = 0i64;
LODWORD(ControlCode) = 1;
LODWORD(v2) = 0;
v0 = WdipSemEnableDisableTrace(
(unsigned int)_InterlockedExchange(&WdipDiagLoggerId, WdipDiagLoggerId),
(_GUID *)&WDI_SEM_PROVIDER,
0,
0x200000000ui64,
v2,
ControlCode);
if( v0 >= 0 )
{
LODWORD(ControlCodea) = 1;
LODWORD(v3) = 0;
v0 = WdipSemEnableDisableTrace(
(unsigned int)_InterlockedExchange(&WdipContextLoggerId, WdipContextLoggerId),
(_GUID *)&WDI_SEM_PROVIDER,
0,
0x100000000ui64,
v3,
ControlCodea);
if( v0 >= 0 && !*(&ExBootDevicesRemovedEvent + 560) )
{
v0 = (unsigned int)EtwRegister((_LPCGUID)&WDI_SEM_PROVIDER, 0i64, 0i64, &RegHandle);
if( v0 >= 0 )
*(&ExBootDevicesRemovedEvent + 560) = RegHandle;
}
}
return v0;
}Referenced by:
WdipSemCleanStart