Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 |
|---|---|
|
La operación se realizó correctamente. El búfer datos de contiene los datos recuperados. **Type* contiene el tipo de los datos recuperados. |
|
El búfer de datos de es demasiado pequeño. **RequiredSize* contiene la longitud del búfer necesaria. |
|
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) |