Función IoGetDevicePropertyData (wdm.h)

La rutina IoGetDevicePropertyData recupera la configuración actual de una propiedad de dispositivo.

Sintaxis

NTSTATUS IoGetDevicePropertyData(
  [in]  PDEVICE_OBJECT   Pdo,
  [in]  const DEVPROPKEY *PropertyKey,
  [in]  LCID             Lcid,
        ULONG            Flags,
  [in]  ULONG            Size,
  [out] PVOID            Data,
  [out] PULONG           RequiredSize,
  [out] PDEVPROPTYPE     Type
);

Parámetros

[in] Pdo

Puntero al objeto de dispositivo físico (PDO) del dispositivo que se está consultando.

[in] PropertyKey

Puntero a una estructura DEVPROPKEY que especifica la clave de propiedad del dispositivo.

[in] Lcid

Identificador de configuración regional. Establezca este parámetro en un valor LCID específico del lenguaje o en LOCALE_NEUTRAL. El LOCALE_NEUTRAL LCID especifica que la propiedad es independiente del idioma (es decir, no específica de ningún idioma). No establezca este parámetro en LOCALE_SYSTEM_DEFAULT o LOCALE_USER_DEFAULT. Para obtener más información sobre los valores LCID específicos del lenguaje, vea LCID Structure.

Flags

Reservado para uso del sistema. Los controladores deben establecer este valor en 0.

[in] Size

Tamaño, en bytes, del búfer al que apunta Data .

[out] Data

Puntero a los datos de la propiedad del dispositivo.

[out] RequiredSize

Puntero a un ULONG para recibir el tamaño de la información de propiedad que se devuelve en Data. Si IoGetDevicePropertyData devuelve STATUS_BUFFER_TOO_SMALL, el autor de la llamada puede usar este valor para asignar un búfer del tamaño correcto.

[out] Type

Puntero a un valor DEVPROPTYPE . Si IoGetDevicePropertyData se completa correctamente, la rutina usa Type para proporcionar el tipo de datos devueltos en el búfer de datos .

Valor devuelto

IoGetDevicePropertyData devuelve un valor NTSTATUS. Esta rutina puede devolver uno de los siguientes valores:

Código devuelto Descripción
STATUS_SUCCESS
La operación se realizó correctamente. El búfer de datos contiene los datos recuperados. **Type* contiene el tipo de los datos recuperados.
STATUS_BUFFER_TOO_SMALL
El búfer de datos es demasiado pequeño. **RequiredSize* contiene la longitud de búfer necesaria.
STATUS_OBJECT_NAME_NOT_FOUND
No se encontró la propiedad de dispositivo especificada.

Comentarios

Los controladores en modo kernel usan la rutina IoGetDevicePropertyData para recuperar las propiedades del dispositivo definidas como parte del modelo de propiedades de dispositivo unificado.

Para ver los tipos de propiedad disponibles para su uso por esta rutina, consulte DEVPROP_TYPE_BYTE y páginas adyacentes para DEVPROP_TYPE_*.

Los controladores pueden usar la rutina IoSetDevicePropertyData para modificar una propiedad de dispositivo.

Los autores de llamadas de IoGetDevicePropertyData deben ejecutarse en IRQL <= APC_LEVEL en el contexto de un subproceso del sistema.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows Vista.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte también

DEVPROPKEY

DEVPROPTYPE

IoSetDevicePropertyData