Compartir a través de


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 de 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 datos apunta.

[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 de DEVPROPTYPE. Si ioGetDevicePropertyData se completa correctamente, la rutina usa type para proporcionar el tipo de datos que se devuelve en el búfer de datos de.

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 datos de contiene los datos recuperados. **Type* contiene el tipo de los datos recuperados.
STATUS_BUFFER_TOO_SMALL
El búfer de datos de es demasiado pequeño. **RequiredSize* contiene la longitud del búfer necesaria.
STATUS_OBJECT_NAME_NOT_FOUND
No se encontró la propiedad de dispositivo especificada.

Observaciones

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 propiedades 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 Valor
cliente mínimo admitido Disponible a partir de Windows Vista.
de la plataforma de destino de Universal
encabezado de wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <= APC_LEVEL
reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte también

DEVPROPKEY

DEVPROPTYPE

ioSetDevicePropertyData