PiSwDeviceFindInterfaceEntry

_PI_SWD_INTERFACE *__stdcall PiSwDeviceFindInterfaceEntry(_PI_SWD_OBJECT *SwDeviceObject, WCHAR *InterfaceId){
  _PI_SWD_OBJECT *v2; 
  _PI_SWD_INTERFACE *v4; 
  _PI_SWD_INTERFACE *v5; 

  v2 = SwDeviceObject + 46;
  v4 = (_PI_SWD_INTERFACE *)*((_QWORD *)SwDeviceObject + 23);
  v5 = 0i64;
  while( v4 != v2 )
  {
    if( !wcsicmp(InterfaceId, *((const wchar_t **)v4 + 2)) )
      return v4;
    v4 = *(_PI_SWD_INTERFACE **)v4;
  }
  return v5;
}

Referenced by:

PiSwIrpInterfacePropertySet
PiSwIrpInterfaceRegister
PiSwIrpInterfaceSetState