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 membro Context 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 sobre o 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 de 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 Offset será o deslocamento para Espaço de Configuração PCI.
[in] Length
O comprimento, em bytes, dos dados a serem lidos.
Retornar valor
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.
Comentários
Dependendo do valor do parâmetro DataType , a rotina GetBusData pode ser chamada somente 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 |
Os comentários a seguir se aplicam a drivers para VFs (funções virtuais) PCI Express (PCIe) em dispositivos que dão suporte à interface SR-IOV (virtualização de E/S raiz única):
- Os drivers para VFs PCIe devem chamar a rotina GetBusData em IRQL <= APC_LEVEL.
- Para ler dados de Configuração de PCI para a VF em IRQL = DISPATCH_LEVEL, o driver deve emitir solicitações de E/S de IRP_MN_READ_CONFIG.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | wdm.h (include Ntddk.h) |
IRQL | Consulte a seção Observações. |