Compartilhar via


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

ReferenceDeviceObject

Ponteiro para uma rotina de KsReferenceSoftwareBusObject fornecida pelo driver.

DereferenceDeviceObject

Ponteiro para uma rotina de KsDereferenceSoftwareBusObject fornecida pelo driver.

QueryReferenceString

Ponteiro para uma rotina de de KsQuerySoftwareBusInterface fornecida pelo driver.

Observações

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 menor. Para fazer isso, o driver deve:

  • Aloque e preencha zero 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 da pilha, forneça um ponteiro para a nova estrutura de BUS_INTERFACE_SWENUM no membro Parameters.QueryInterface.Interface do.
  • 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_SWENUM apontada por Parameters.QueryInterface.Interface.

Requisitos

Requisito Valor
cabeçalho swenum.h (inclua Swenum.h)