SbpWaitForVmbus
NTSTATUS __stdcall SbpWaitForVmbus(){
int v0;
PVOID NotificationEntry;
_LARGE_INTEGER v3;
NotificationEntry = 0i64;
*(&SbiVmbusArrivalEvent + 1) = 0;
*(&SbiVmbusArrivalEvent + 2) = (char *)&SbiVmbusArrivalEvent + 8;
*(&SbiVmbusArrivalEvent + 1) = (char *)&SbiVmbusArrivalEvent + 8;
SbiVmbusArrivalEvent = 1;
*(&SbiVmbusArrivalEvent + 2) = 6;
v0 = IoRegisterPlugPlayNotification(
2i64,
1,
(OWORD *)VSMB_INTERFACE_GUID,
*(&PnpReplaceEvent + 823),
(INT64)SbpVmbusNotificationHandler,
0i64,
(INT64 *)&NotificationEntry);
if( v0 >= 0 )
{
v3.QuadPart = -100000000i64;
v0 = KeWaitForSingleObject((UINT64)&SbiVmbusArrivalEvent, 0, 0, 0, (INT64)&v3);
IoUnregisterPlugPlayNotification((UINT64)NotificationEntry);
}
return v0;
}Referenced by:
IopInitializeBootDrivers