다음을 통해 공유


LegacyGipGameControllerProvider.FromGameController(IGameController) 메서드

정의

지정된 컨트롤러에 대한 LegacyGipGameControllerProvider 를 생성합니다.

public:
 static LegacyGipGameControllerProvider ^ FromGameController(IGameController ^ controller);
 static LegacyGipGameControllerProvider FromGameController(IGameController const& controller);
public static LegacyGipGameControllerProvider FromGameController(IGameController controller);
function fromGameController(controller)
Public Shared Function FromGameController (controller As IGameController) As LegacyGipGameControllerProvider

매개 변수

controller
IGameController

LegacyGipGameControllerProvider를 생성하는 컨트롤러입니다.

반환

컨트롤러가 GIP(게임 입력 프로토콜) 컨트롤러인 경우 LegacyGipGameControllerProvider입니다. 컨트롤러가 GIP 컨트롤러가 아닌 경우 Null입니다.

예제

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);
    }
}

적용 대상

추가 정보