Compartir a través de


Función IoGetDeviceInterfacePropertyData (wdm.h)

La rutina IoGetDeviceInterfacePropertyData recupera el valor actual de una propiedad de interfaz de dispositivo.

Sintaxis

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

Parámetros

[in] SymbolicLinkName

Puntero a una cadena que identifica la instancia de la interfaz de dispositivo. Esta cadena se obtuvo de una llamada anterior a la rutina IoGetDeviceInterfaces, IoGetDeviceInterfaceAlias o IoRegisterDeviceInterface .

[in] PropertyKey

Puntero a una estructura DEVPROPKEY que contiene la clave de propiedad de la interfaz de dispositivo.

[in] Lcid

Especifica un identificador de configuración regional. Establezca este parámetro en un valor LCID específico del idioma 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 cero.

[in] Size

Especifica el tamaño, en bytes, del búfer al que apunta Data .

[out] Data

Puntero a un búfer asignado por el autor de la llamada en el que la rutina escribe los datos de propiedad de la interfaz de dispositivo.

[out] RequiredSize

Puntero a una variable ULONG en la que IoGetDeviceInterfacePropertyData escribe el tamaño necesario de los datos de propiedad. Si la rutina se realiza correctamente, el valor de tamaño necesario es el número de bytes a los que escribe la rutina en el búfer de salida al que apunta Data . Si la rutina devuelve STATUS_BUFFER_TOO_SMALL, el valor de tamaño necesario es el tamaño del búfer que el autor de la llamada debe asignar para este valor de propiedad.

[out] Type

Puntero a una variable DEVPROPTYPE . Si IoGetDeviceInterfacePropertyData recupera correctamente los datos de propiedad, la rutina escribe el valor del tipo de propiedad en esta variable. Este valor indica el tipo de datos de propiedad que se encuentra en el búfer de datos .

Valor devuelto

IoGetDeviceInterfacePropertyData devuelve STATUS_SUCCESS si se realiza correctamente. Entre los posibles valores devueltos de error se incluyen los siguientes códigos de estado.

Código devuelto Descripción
STATUS_BUFFER_TOO_SMALL El búfer al que apunta Data es demasiado pequeño para contener los datos de propiedad. *RequiredSize contiene la longitud de búfer necesaria.
STATUS_UNSUCCESSFUL El valor LCID especificado no es válido.
STATUS_NOT_IMPLEMENTED No se admite la propiedad especificada.

Comentarios

Los controladores en modo kernel usan la rutina IoGetDeviceInterfacePropertyData para recuperar las propiedades de la interfaz de dispositivo definidas como parte del modelo de propiedades de dispositivo unificado. Para obtener más información sobre las propiedades de la interfaz de dispositivo, consulte Propiedades del dispositivo.

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

Los autores de llamadas de IoGetDeviceInterfacePropertyData deben ejecutarse en IRQL = PASSIVE_LEVEL en el contexto de un subproceso del sistema.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows 8 y versiones posteriores de Windows.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Consulte también

DEVPROPKEY

DEVPROPTYPE

IoSetDeviceInterfacePropertyData