static BOOLEAN OpenBusKey( IN PTCHAR BusKeyName, OUT PHKEY BusKey ) { BOOLEAN Success; HKEY EnumKey; HRESULT Error; Success = OpenEnumKey(&EnumKey); if (!Success) goto fail1; Error = RegOpenKeyEx(EnumKey, BusKeyName, 0, KEY_READ, BusKey); if (Error != ERROR_SUCCESS) { SetLastError(Error); goto fail2; } RegCloseKey(EnumKey); return TRUE; fail2: Log("fail2"); RegCloseKey(EnumKey); fail1: Error = GetLastError(); { PTCHAR Message; Message = GetErrorMessage(Error); Log("fail1 (%s)", Message); LocalFree(Message); } return FALSE; }
static DECLSPEC_NOINLINE BOOLEAN OpenPciKey( OUT PHKEY Key ) { BOOLEAN Success; HKEY EnumKey; HRESULT Error; Success = OpenEnumKey(&EnumKey); if (!Success) goto fail1; Error = RegOpenKeyEx(EnumKey, "PCI", 0, KEY_READ, Key); if (Error != ERROR_SUCCESS) { SetLastError(Error); goto fail2; } RegCloseKey(EnumKey); return TRUE; fail2: Log("fail2"); RegCloseKey(EnumKey); fail1: Error = GetLastError(); { PTCHAR Message; Message = GetErrorMessage(Error); Log("fail1 (%s)", Message); LocalFree(Message); } return FALSE; }