public string AllocateVirtualDeviceInstanceID(string deviceClassName) { // we will return the larger deviceInstanceID, we don't want to overwrite existing hivesys.inf device instances var deviceInstanceID1 = SetupRegistryHive.AllocateVirtualDeviceInstanceID(deviceClassName); var deviceInstanceID2 = HiveSystemInf.AllocateVirtualDeviceInstanceID(deviceClassName); // string comparison, note that both strings has fixed length with leading zeros return(string.CompareOrdinal(deviceInstanceID1, deviceInstanceID2) == 1 ? deviceInstanceID1 : deviceInstanceID2); }