> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IGameInputDevice::SetRawDeviceFeature

> 장치에 원시 기능 보고서를 보냅니다.

장치에 원시 기능 보고서를 보냅니다.

## 구문

```cpp theme={null}
HRESULT SetRawDeviceFeature(
    IGameInputRawDeviceReport* report
);
```

### 매개변수

*report*   \_In\_\
형식: [IGameInputRawDeviceReport](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md)\*

보낼 기능 보고서입니다. `GameInputRawFeatureReport`와 함께 [CreateRawDeviceReport](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_createrawdevicereport.md)를 호출하여 보고서를 만들고, [IGameInputRawDeviceReport::SetRawData](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_setrawdata.md)를 호출하여 보고서를 채우세요.

### 반환값

형식: HRESULT

보고서가 장치에 제출되었으면 `S_OK`를 반환합니다. 장치가 집계 장치이면 `GAMEINPUT_E_AGGREGATE_OPERATION_NOT_SUPPORTED`를 반환하고, 보고서를 제출할 수 없으면 다른 오류 코드를 반환합니다.

## 설명

`SetRawDeviceFeature` 메서드는 장치에 기능 보고서를 기록합니다. 보고서 ID는 보고서의 [GameInputRawDeviceReportInfo](https://docs.xbox.com/ko/reference/input/gameinput/structs/gameinputrawdevicereportinfo.md)에서 가져오며, 페이로드는 [IGameInputRawDeviceReport::SetRawData](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_setrawdata.md)로 설정한 데이터입니다.

장치가 정의하는 기능 보고서와 각 보고서의 크기를 확인하려면 [GetFeatureReportCount](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md) 및 [GetFeatureReportInfo](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md)를 사용하세요. 현재 기능 보고서는 HID 장치에 대해 노출됩니다. HID 장치의 경우 보고서 데이터의 첫 번째 바이트가 보고서 ID입니다.

`SetRawDeviceFeature`는 전달을 위해 보고서를 큐에 넣고 장치가 이를 처리할 때까지 기다리지 않고 반환합니다. 성공 반환값은 보고서가 제출되었다는 의미이며, 장치가 보고서를 수락했다는 의미는 아닙니다. 새 상태를 확인하려면 [GetRawDeviceFeature](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md)를 호출하여 보고서를 다시 읽으세요.

```cpp theme={null}
Microsoft::WRL::ComPtr<IGameInputRawDeviceReport> report;
if (SUCCEEDED(device->CreateRawDeviceReport(reportId, GameInputRawFeatureReport, &report)))
{
    // The first byte of a HID feature report is the report ID.
    uint8_t data[] = { static_cast<uint8_t>(reportId), 0x01, 0x00 };
    if (report->SetRawData(sizeof(data), data))
    {
        device->SetRawDeviceFeature(report.Get());
    }
}
```

GameInput API의 중급 및 고급 사용 사례는 [고급 GameInput 항목](https://docs.xbox.com/ko/build/core-features/common/input/advanced/input-advanced-topics.md)을 참조하세요.

## 요구 사항

**헤더:** GameInput.h

**라이브러리:** gameinput.lib

**지원되는 플랫폼:** Windows, XBOX One 제품군 콘솔 및 XBOX Series 콘솔

## 함께 보기

[GameInput 개요](https://docs.xbox.com/ko/build/core-features/common/input/overviews/input-overview.md)\
[GetRawDeviceFeature](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md)\
[GetFeatureReportCount](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md)\
[GetFeatureReportInfo](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md)\
[CreateRawDeviceReport](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_createrawdevicereport.md)\
[IGameInputRawDeviceReport](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md)\
[IGameInputDevice](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)

## 버전 기록

| 버전 | 변경 사항 |
| - | - |
| **v4** | 다시 도입됨. |
| **v1** | 제거됨. |
| **v0** | 도입되었으나 구현되지 않음. |

## 부록: 이전 버전

### v0

GameInput v0에서는 이 메서드가 동일한 시그니처로 선언되었지만 구현되지 않았습니다. 자세한 내용은 [IGameInputDevice::SetRawDeviceFeature(사용되지 않음)](https://docs.xbox.com/ko/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md)를 참조하세요.


## Related topics

- [IGameInputDevice::SetRawDeviceFeature (사용되지 않음)](https://docs.xbox.com/ko/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md)
- [GameInputRawDeviceReportKind](https://docs.xbox.com/ko/reference/input/gameinput/enums/gameinputrawdevicereportkind.md)
- [GameInput API 멤버](https://docs.xbox.com/ko/reference/input/gameinput/gameinput_members.md)
- [IGameInputDevice::GetRawDeviceFeature](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md)
- [IGameInputDevice::GetFeatureReportCount](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md)
