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 |
---|---|
|
La operación se realizó correctamente. El búfer de datos contiene los datos recuperados. **Type* contiene el tipo de los datos recuperados. |
|
El búfer de datos es demasiado pequeño. **RequiredSize* contiene la longitud de búfer necesaria. |
|
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) |