IopGetSessionIdFromSymbolicName

UINT64 __stdcall IopGetSessionIdFromSymbolicName(_UNICODE_STRING *SymbolicLinkName){
  unsigned int SessionIdFromPDO; 
  _DEVICE_OBJECT *v2; 
  _ADAPTER_OBJECT *v3; 
  _DWORD *DeviceNode; 

  SessionIdFromPDO = -1;
  v2 = IopDeviceObjectFromSymbolicName(SymbolicLinkName);
  v3 = (_ADAPTER_OBJECT *)v2;
  if( v2 )
  {
    DeviceNode = v2->DeviceObjectExtension->DeviceNode;
    if( DeviceNode )
    {
      if( (DeviceNode[99] & 0x20000) == 0 )
      {
        SessionIdFromPDO = IopGetSessionIdFromPDO(v2);
        HalPutDmaAdapter(v3);
      }
    }
  }
  return SessionIdFromPDO;
}

Referenced by:

IoRegisterPlugPlayNotification
PiUEventProcessBroadcastNotifications
PnpNotifyDeviceClassChange