estrutura BUS_INTERFACE_SWENUM (swenum.h)
A estrutura BUS_INTERFACE_SWENUM descreve a interface do objeto enumerador do barramento de carga de demanda.
Sintaxe
typedef struct _BUS_INTERFACE_SWENUM {
INTERFACE Interface;
PFNREFERENCEDEVICEOBJECT ReferenceDeviceObject;
PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
PFNQUERYREFERENCESTRING QueryReferenceString;
} BUS_INTERFACE_SWENUM, *PBUS_INTERFACE_SWENUM;
Membros
Interface
Especifica a INTERFACE exportada.
ReferenceDeviceObject
Ponteiro para uma rotina KsReferenceSoftwareBusObject fornecida pelo driver.
DereferenceDeviceObject
Ponteiro para uma rotina KsDereferenceSoftwareBusObject fornecida pelo driver.
QueryReferenceString
Ponteiro para uma rotina KsQuerySoftwareBusInterface fornecida pelo driver.
Comentários
Um driver obtém uma interface BUS_INTERFACE_SWENUM criando e enviando uma solicitação IRP_MJ_PNP que especifica um código de função IRP_MN_QUERY_INTERFACE secundário. Para fazer isso, o driver deve:
- Aloque e preencha uma estrutura de BUS_INTERFACE_SWENUM 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 de pilha, forneça um ponteiro para a nova estrutura BUS_INTERFACE_SWENUM no membro Parameters.QueryInterface.Interface .
- Defina uma rotina de conclusão e envie a solicitação para baixo na pilha do driver.
- Se sua solicitação for bem-sucedida, o sistema preencherá a estrutura BUS_INTERFACE_SWENUM apontada por Parameters.QueryInterface.Interface.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | swenum.h (inclua Swenum.h) |