Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um enumerador de dispositivo de software exporta essa interface para permitir que os drivers façam referência a PDOs (objetos de dispositivo físico) de contagem, de modo que o dispositivo permaneça ativo enquanto estiver em uso e seja descarregado quando não estiver em uso.
Sintaxe
typedef struct {
INTERFACE Interface;
PFNREFERENCEDEVICEOBJECT ReferenceDeviceObject;
PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
PFNQUERYREFERENCESTRING QueryReferenceString;
} BUS_INTERFACE_REFERENCE, *PBUS_INTERFACE_REFERENCE;
Membros
Interface
Especifica a interface de exportada.
ReferenceDeviceObject
Ponteiro para uma rotina de KStrReferenceDeviceObject fornecida pelo driver.
DereferenceDeviceObject
Ponteiro para uma rotina de KStrDereferenceDeviceObject fornecida pelo driver.
QueryReferenceString
Ponteiro para uma rotina de KStrQueryReferenceString fornecida pelo driver.
Observações
Um driver obtém uma interface BUS_INTERFACE_REFERENCE criando e enviando uma solicitação IRP_MJ_PNP que especifica um código de função IRP_MN_QUERY_INTERFACE menor. Para fazer isso, o driver deve:
- Aloque e preencha zero uma estrutura de BUS_INTERFACE_REFERENCE do pool de memória paginado.
- Crie um IRP para a solicitação de interface de consulta e obtenha o próximo local de pilha para o novo IRP.
- No novo local da pilha, forneça um ponteiro para a nova estrutura de BUS_INTERFACE_REFERENCE no membro Parameters.QueryInterface.Interface.
- Defina uma rotina de conclusão e envie a solicitação para baixo na pilha do driver.
- Se a solicitação for bem-sucedida, o sistema preencherá a estrutura de BUS_INTERFACE_REFERENCE apontada por Parameters.QueryInterface.Interface.
Requisitos
| Requisito | Valor |
|---|---|
| cabeçalho | ks.h (incluir Ks.h) |