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. |