GET_SET_DEVICE_DATA função de retorno de chamada (wdm.h)
A rotina GetBusData lê dados do espaço de configuração do dispositivo.
Sintaxe
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
Um ponteiro para informações de contexto específicas da interface. O chamador passa o valor que é passado como o Context membro da estrutura BUS_INTERFACE_STANDARD para a interface.
[in] DataType
O tipo de dados de barramento a serem lidos. Para obter mais informações, consulte a discussão do parâmetro WhichSpace no IRP_MN_READ_CONFIG.
[in] Buffer
Um ponteiro para o buffer que contém as informações de configuração a serem lidas do espaço de configuração do dispositivo.
[in] Offset
O deslocamento para os dados do dispositivo específicos do barramento em que essa operação de leitura começa. Por exemplo, se o parâmetro DataType for PCI_WHICHSPACE_CONFIG, o valor do parâmetro deslocamento será o deslocamento para o Espaço de Configuração de PCI.
[in] Length
O comprimento, em bytes, dos dados a serem lidos.
Valor de retorno
A rotina GetBusData retorna o comprimento, em bytes, dos dados de configuração lidos após uma operação de leitura bem-sucedida. Se a operação de leitura não for bem-sucedida, um valor zero será retornado.
Observações
Dependendo do valor do parâmetro DataType, a rotina de GetBusData só pode ser chamada dos IRQLs (níveis de solicitação de interrupção) definidos na tabela a seguir.
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 |
As observações a seguir se aplicam a drivers para VFs (funções virtuais) PCI Express (PCIe) em dispositivos que dão suporte à interface de virtualização de E/S raiz única (SR-IOV):
- Os drivers para VFs PCIe devem chamar a rotina de getBusData no IRQL <= APC_LEVEL.
- Para ler dados de Configuração de PCI para o VF em IRQL = DISPATCH_LEVEL, o driver deve emitir solicitações de E/S de IRP_MN_READ_CONFIG.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | wdm.h (inclua Ntddk.h) |
IRQL | Consulte a seção Comentários. |