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

> Lê um relatório de recurso bruto do dispositivo.

Lê um relatório de recurso bruto do dispositivo.

## Sintaxe

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

### Parâmetros

*reportId*   \_In\_\
Tipo: uint32\_t

ID do relatório de recurso a ser lido. Deve corresponder ao membro `id` de um dos relatórios retornados por [GetFeatureReportInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md).

*report*   \_COM\_Outptr\_\
Tipo: [IGameInputRawDeviceReport](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md)\*\*

Recebe um novo objeto `IGameInputRawDeviceReport` que contém os dados do relatório de recurso lidos do dispositivo. Definido como `nullptr` em caso de falha.

### Valor retornado

Tipo: HRESULT

Retorna `S_OK` em caso de êxito. Retorna `E_NOTFOUND` se o dispositivo não definir um relatório de recurso com o ID especificado e `GAMEINPUT_E_AGGREGATE_OPERATION_NOT_SUPPORTED` se o dispositivo for um dispositivo agregado. Retorna outros códigos de erro se o relatório não puder ser lido do dispositivo.

## Comentários

O método `GetRawDeviceFeature` solicita ao dispositivo o conteúdo atual de um relatório de recurso e o retorna em um novo objeto [IGameInputRawDeviceReport](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md). O membro `kind` da estrutura [GameInputRawDeviceReportInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/structs/gameinputrawdevicereportinfo.md) do relatório é `GameInputRawFeatureReport`, e o tamanho dos dados corresponde ao membro `size` do elemento correspondente retornado por [GetFeatureReportInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md). Leia os dados chamando [GetRawDataSize](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_getrawdatasize.md) e [IGameInputRawDeviceReport::GetRawData](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_getrawdata.md).

Use [GetFeatureReportCount](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md) e [GetFeatureReportInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md) para descobrir quais relatórios de recurso um dispositivo define. Atualmente, os relatórios de recurso são expostos para dispositivos HID. Para dispositivos HID, o primeiro byte dos dados do relatório é o ID do relatório.

Ao contrário dos outros métodos de relatório bruto, `GetRawDeviceFeature` aguarda a resposta do dispositivo antes de retornar; portanto, evite chamá-lo em threads com restrições de tempo, como o thread de renderização ou de sondagem de entrada.

```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...
}
```

Para casos de uso intermediários e avançados da API do GameInput, confira [Tópicos avançados do GameInput](https://docs.xbox.com/pt-BR/build/core-features/common/input/advanced/input-advanced-topics.md).

## Requisitos

**Cabeçalho:** GameInput.h

**Biblioteca:** gameinput.lib

**Plataformas com suporte:** Windows, consoles da família XBOX One e consoles XBOX Series

## Confira também

[Visão geral do GameInput](https://docs.xbox.com/pt-BR/build/core-features/common/input/overviews/input-overview.md)\
[SetRawDeviceFeature](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md)\
[GetFeatureReportCount](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md)\
[GetFeatureReportInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md)\
[IGameInputRawDeviceReport](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md)\
[CreateRawDeviceReport](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_createrawdevicereport.md)\
[IGameInputDevice](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)

## Histórico de versões

| Versão | Alterações |
| - | - |
| **v4** | Reintroduzido. |
| **v1** | Removido. |
| **v0** | Introduzido (não implementado). |

## Apêndice: versões anteriores

### v0

No GameInput v0, este método foi declarado com a mesma assinatura, mas não foi implementado. Para obter mais informações, confira [IGameInputDevice::GetRawDeviceFeature (Preterido)](https://docs.xbox.com/pt-BR/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md).


## Related topics

- [IGameInputDevice::GetRawDeviceFeature (Preterido)](https://docs.xbox.com/pt-BR/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md)
- [GameInputRawDeviceReportKind](https://docs.xbox.com/pt-BR/reference/input/gameinput/enums/gameinputrawdevicereportkind.md)
- [Membros da API do GameInput](https://docs.xbox.com/pt-BR/reference/input/gameinput/gameinput_members.md)
- [IGameInputDevice::SetRawDeviceFeature](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md)
- [IGameInputDevice::GetFeatureReportInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md)
