> ## 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::GetRawDeviceFeature

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

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

## 구문

```cpp theme={null}
HRESULT GetRawDeviceFeature(
    uint32_t reportId,
    IGameInputRawDeviceReport** report
);
```

### 매개변수

*reportId*   \_In\_\
형식: uint32\_t

읽을 기능 보고서의 ID입니다. [GetFeatureReportInfo](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md)가 반환하는 보고서 중 하나의 `id` 멤버와 일치해야 합니다.

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

장치에서 읽은 기능 보고서 데이터를 포함하는 새 `IGameInputRawDeviceReport` 개체를 받습니다. 실패하면 `nullptr`로 설정됩니다.

### 반환값

형식: HRESULT

성공하면 `S_OK`를 반환합니다. 장치가 지정된 ID의 기능 보고서를 정의하지 않으면 `E_NOTFOUND`를 반환하고, 장치가 집계 장치이면 `GAMEINPUT_E_AGGREGATE_OPERATION_NOT_SUPPORTED`를 반환합니다. 장치에서 보고서를 읽을 수 없으면 다른 오류 코드를 반환합니다.

## 설명

`GetRawDeviceFeature` 메서드는 장치에 기능 보고서의 현재 내용을 요청하고 이를 새 [IGameInputRawDeviceReport](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md) 개체로 반환합니다. 보고서의 [GameInputRawDeviceReportInfo](https://docs.xbox.com/ko/reference/input/gameinput/structs/gameinputrawdevicereportinfo.md)의 `kind` 멤버는 `GameInputRawFeatureReport`이며, 데이터 크기는 [GetFeatureReportInfo](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md)가 반환하는 해당 요소의 `size` 멤버와 일치합니다. [GetRawDataSize](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_getrawdatasize.md) 및 [IGameInputRawDeviceReport::GetRawData](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_getrawdata.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입니다.

다른 원시 보고서 메서드와 달리 `GetRawDeviceFeature`는 반환하기 전에 장치의 응답을 기다리므로, 렌더링 스레드나 입력 폴링 스레드와 같이 시간이 중요한 스레드에서는 호출하지 마세요.

```cpp theme={null}
Microsoft::WRL::ComPtr<IGameInputRawDeviceReport> report;
if (SUCCEEDED(device->GetRawDeviceFeature(reportId, &report)))
{
    std::vector<uint8_t> data(report->GetRawDataSize());
    data.resize(report->GetRawData(data.size(), data.data()));
    // Parse the device-specific feature report data...
}
```

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)\
[SetRawDeviceFeature](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.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)\
[IGameInputRawDeviceReport](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md)\
[CreateRawDeviceReport](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_createrawdevicereport.md)\
[IGameInputDevice](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)

## 버전 기록

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

## 부록: 이전 버전

### v0

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


## Related topics

- [IGameInputDevice::GetRawDeviceFeature (사용되지 않음)](https://docs.xbox.com/ko/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.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::SetRawDeviceFeature](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md)
- [IGameInputDevice::GetFeatureReportInfo](https://docs.xbox.com/ko/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md)
