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

> Lee un informe de características sin procesar del dispositivo.

Lee un informe de características sin procesar del dispositivo.

## Sintaxis

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

### Parámetros

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

Identificador del informe de características que se va a leer. Debe coincidir con el miembro `id` de uno de los informes devueltos por [GetFeatureReportInfo](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md).

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

Recibe un nuevo objeto `IGameInputRawDeviceReport` que contiene los datos del informe de características leídos del dispositivo. Se establece en `nullptr` en caso de error.

### Valor devuelto

Tipo: HRESULT

Devuelve `S_OK` si se realiza correctamente. Devuelve `E_NOTFOUND` si el dispositivo no define un informe de características con el identificador especificado y `GAMEINPUT_E_AGGREGATE_OPERATION_NOT_SUPPORTED` si el dispositivo es un dispositivo agregado. Devuelve otros códigos de error si no se puede leer el informe del dispositivo.

## Comentarios

El método `GetRawDeviceFeature` solicita al dispositivo el contenido actual de un informe de características y lo devuelve en un nuevo objeto [IGameInputRawDeviceReport](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md). El miembro `kind` de la estructura [GameInputRawDeviceReportInfo](https://docs.xbox.com/es/reference/input/gameinput/structs/gameinputrawdevicereportinfo.md) del informe es `GameInputRawFeatureReport`, y el tamaño de sus datos coincide con el miembro `size` del elemento correspondiente devuelto por [GetFeatureReportInfo](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md). Lea los datos llamando a [GetRawDataSize](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_getrawdatasize.md) y a [IGameInputRawDeviceReport::GetRawData](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputrawdevicereport/methods/igameinputrawdevicereport_getrawdata.md).

Use [GetFeatureReportCount](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md) y [GetFeatureReportInfo](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md) para averiguar qué informes de características define un dispositivo. Actualmente, los informes de características se exponen para los dispositivos HID. En los dispositivos HID, el primer byte de los datos del informe es el identificador de informe.

A diferencia de los demás métodos de informes sin procesar, `GetRawDeviceFeature` espera a que el dispositivo responda antes de devolver un resultado, por lo que debe evitar llamarlo en subprocesos en los que el tiempo sea crítico, como el subproceso de representación o el de sondeo 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 intermedios y avanzados de la API de GameInput, consulte [Temas avanzados de GameInput](https://docs.xbox.com/es/build/core-features/common/input/advanced/input-advanced-topics.md).

## Requisitos

**Encabezado:** GameInput.h

**Biblioteca:** gameinput.lib

**Plataformas compatibles:** Windows, consolas de la familia XBOX One y consolas XBOX Series

## Consulte también

[Información general de GameInput](https://docs.xbox.com/es/build/core-features/common/input/overviews/input-overview.md)\
[SetRawDeviceFeature](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md)\
[GetFeatureReportCount](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportcount.md)\
[GetFeatureReportInfo](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md)\
[IGameInputRawDeviceReport](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputrawdevicereport/igameinputrawdevicereport.md)\
[CreateRawDeviceReport](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_createrawdevicereport.md)\
[IGameInputDevice](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)

## Historial de versiones

| Versión | Cambios |
| - | - |
| **v4** | Se volvió a introducir. |
| **v1** | Se quitó. |
| **v0** | Se introdujo (sin implementar). |

## Apéndice: Versiones anteriores

### v0

En GameInput v0, este método se declaraba con la misma firma, pero no estaba implementado. Para obtener más información, consulte [IGameInputDevice::GetRawDeviceFeature (en desuso)](https://docs.xbox.com/es/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md).


## Related topics

- [IGameInputDevice::GetRawDeviceFeature (en desuso)](https://docs.xbox.com/es/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_getrawdevicefeature.md)
- [GameInputRawDeviceReportKind](https://docs.xbox.com/es/reference/input/gameinput/enums/gameinputrawdevicereportkind.md)
- [Miembros de la API de GameInput](https://docs.xbox.com/es/reference/input/gameinput/gameinput_members.md)
- [IGameInputDevice::SetRawDeviceFeature](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_setrawdevicefeature.md)
- [IGameInputDevice::GetFeatureReportInfo](https://docs.xbox.com/es/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getfeaturereportinfo.md)
