Compartir a través de


GET_SET_DEVICE_DATA función de devolución de llamada (wdm.h)

La rutina GetBusData lee los datos del espacio de configuración del dispositivo.

Sintaxis

GET_SET_DEVICE_DATA GetSetDeviceData;

ULONG GetSetDeviceData(
  [in] PVOID Context,
  [in] ULONG DataType,
  [in] PVOID Buffer,
  [in] ULONG Offset,
  [in] ULONG Length
)
{...}

Parámetros

[in] Context

Puntero a información de contexto específica de la interfaz. El autor de la llamada pasa el valor que se pasa como miembro Context de la estructura BUS_INTERFACE_STANDARD de la interfaz.

[in] DataType

Tipo de datos de bus que se van a leer. Para obtener más información, vea la explicación del parámetro WhichSpace en IRP_MN_READ_CONFIG.

[in] Buffer

Puntero al búfer que contiene la información de configuración que se va a leer desde el espacio de configuración del dispositivo.

[in] Offset

Desplazamiento en los datos de dispositivo específicos del bus donde comienza esta operación de lectura. Por ejemplo, si el parámetro DataType es PCI_WHICHSPACE_CONFIG, el valor del parámetro Offset es el desplazamiento en el espacio de configuración pci.

[in] Length

Longitud, en bytes, de datos que se van a leer.

Valor devuelto

La rutina GetBusData devuelve la longitud, en bytes, de los datos de configuración que se leen después de una operación de lectura correcta. Si la operación de lectura no se realiza correctamente, se devuelve un valor de cero.

Comentarios

Según el valor del parámetro DataType , solo se puede llamar a la rutina GetBusData desde los niveles de solicitud de interrupción (IRQL) definidos en la tabla siguiente.

Valor de DataType IRQL
PCI_WHICHSPACE_CONFIG <= DIRQL
PCI_WHICHSPACE_ROM <= APC_LEVEL
PCCARD_COMMON_MEMORY

PCCARD_COMMON_MEMORY_INDIRECT

<= DISPATCH_LEVEL
PCCARD_ATTRIBUTE_MEMORY

PCCARD_ATTRIBUTE_MEMORY_INDIRECT

<= DISPATCH_LEVEL
PCCARD_PCI_CONFIGURATION_SPACE <= DIRQL
 

Los siguientes comentarios se aplican a los controladores para las funciones virtuales (VFs) de PCI Express (PCIe) en dispositivos que admiten la interfaz de virtualización de E/S raíz única (SR-IOV):

  • Los controladores para las máquinas virtuales PCIe deben llamar a la rutina GetBusData en IRQL <= APC_LEVEL.
  • Para leer los datos de configuración de PCI para el VF en IRQL = DISPATCH_LEVEL, el controlador debe emitir solicitudes de E/S de IRP_MN_READ_CONFIG.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado wdm.h (incluya Ntddk.h)
IRQL vea la sección Comentarios.

Consulte también

BUS_INTERFACE_STANDARD

IRP_MN_READ_CONFIG