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

> Envia um relatório de recurso bruto para o dispositivo.

Envia um relatório de recurso bruto para o dispositivo.

## Sintaxe

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

### Parâmetros

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

O relatório de recurso a ser enviado. Crie-o chamando [CreateRawDeviceReport](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_createrawdevicereport.md) com `GameInputRawFeatureReport` e preencha-o chamando [IGameInputRawDeviceReport::SetRawData](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_setrawdata.md).

### Valor retornado

Tipo: HRESULT

Retorna `S_OK` se o relatório tiver sido enviado ao dispositivo. Retorna `GAMEINPUT_E_AGGREGATE_OPERATION_NOT_SUPPORTED` se o dispositivo for um dispositivo agregado ou outro código de erro se o relatório não puder ser enviado.

## Comentários

O método `SetRawDeviceFeature` grava um relatório de recurso no dispositivo. O ID do relatório é obtido da estrutura [GameInputRawDeviceReportInfo](https://docs.xbox.com/pt-BR/reference/input/gameinput/structs/gameinputrawdevicereportinfo.md) do relatório, e a carga são os dados definidos com [IGameInputRawDeviceReport::SetRawData](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_setrawdata.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 e qual é o tamanho de cada um. 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.

`SetRawDeviceFeature` enfileira o relatório para entrega e retorna sem aguardar que o dispositivo o processe. Um valor retornado de êxito significa que o relatório foi enviado, não que o dispositivo o aceitou. Para confirmar o novo estado, leia o relatório novamente chamando [GetRawDeviceFeature](https://docs.xbox.com/pt-BR/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());
    }
}
```

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


## Related topics

- [IGameInputDevice::SetRawDeviceFeature (Preterido)](https://docs.xbox.com/pt-BR/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.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::GetRawDeviceFeature](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md)
- [IGameInputDevice::GetFeatureReportCount](https://docs.xbox.com/pt-BR/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md)
