다음을 통해 공유


GameControllerFirmwareCorruptReason 열거형

정의

디바이스의 펌웨어 손상 상태입니다.

public enum class GameControllerFirmwareCorruptReason
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Gaming.Input.GamingInputPreviewContract, 131072)]
enum class GameControllerFirmwareCorruptReason
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Gaming.Input.GamingInputPreviewContract), 131072)]
public enum GameControllerFirmwareCorruptReason
var value = Windows.Gaming.Input.Preview.GameControllerFirmwareCorruptReason.unknown
Public Enum GameControllerFirmwareCorruptReason
상속
GameControllerFirmwareCorruptReason
특성

Windows 요구 사항

디바이스 패밀리
Windows Desktop Extension SDK (10.0.23665.0에서 도입되었습니다.)
API contract
Windows.Gaming.Input.GamingInputPreviewContract (v2.0에서 도입되었습니다.)

필드

AppCorrupt 3

앱 펌웨어가 손상되었습니다.

EepromCorrupt 5

EEPROM이 손상되었습니다.

NotCorrupt 1

펌웨어가 손상되지 않았습니다.

RadioCorrupt 4

라디오 펌웨어가 손상되었습니다.

SafeToUpdate 6

손상으로부터 복구하도록 펌웨어를 안전하게 업데이트할 수 있습니다.

TwoUpCorrupt 2

2Up 펌웨어가 손상되었습니다.

Unknown 0

펌웨어가 손상되었는지는 알 수 없습니다.

예제

public void EnumerateControllerProperties()
{
    foreach (Gamepad gamepad in Gamepad.Gamepads)
    {
        // Create the provider
        LegacyGipGameControllerProvider legacyGipGameControllerProvider =
            LegacyGipGameControllerProvider.FromGameController(gamepad);
        if (legacyGipGameControllerProvider == null)
        {
            // Not every gamepad is a legacy GIP game controller, continue enumerating
            continue;
        }

        // Check properties
        GameControllerBatteryChargingState chargeState =
            legacyGipGameControllerProvider.BatteryChargingState;
        GameControllerBatteryKind batteryKind =
            legacyGipGameControllerProvider.BatteryKind;
        GameControllerBatteryLevel batteryLevel =
            legacyGipGameControllerProvider.BatteryLevel;
        bool isOldFirmwareCorrupted =
            legacyGipGameControllerProvider.IsFirmwareCorrupted;
        bool isNewFirmwareCorrupted =
            legacyGipGameControllerProvider.GetDeviceFirmwareCorruptionState()
            != GameControllerFirmwareCorruptReason.NotCorrupt;
        bool isSynthetic = legacyGipGameControllerProvider.IsSyntheticDevice;
        byte[] extendedDeviceInfo = legacyGipGameControllerProvider.GetExtendedDeviceInfo();

        // Check for a particular GIP interface
        bool supportsSomeCustomInterface =
            legacyGipGameControllerProvider.IsInterfaceSupported(
                new Guid(
                    0xaaaaaaaa, 0xbbbb, 0xcccc, 0xe, 0xf, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6));

        IReadOnlyList<string> preferredTypes =
            legacyGipGameControllerProvider.PreferredTypes;
        bool isGamepad = preferredTypes.Contains("Windows.Xbox.Input.Gamepad");
        bool isHeadset = preferredTypes.Contains("Windows.Xbox.Input.Headset");

        // Change the LED to half brightness
        legacyGipGameControllerProvider.SetHomeLedIntensity(50);
    }
}

설명

주의

디바이스 손상을 방지하려면 개발한 하드웨어에서만 펌웨어 손상 및 업데이트 API를 사용해야 합니다.

적용 대상