estructura BUS_INTERFACE_SWENUM (swenum.h)

La estructura BUS_INTERFACE_SWENUM describe la interfaz del enumerador del bus de carga a petición.

Sintaxis

typedef struct _BUS_INTERFACE_SWENUM {
  INTERFACE                  Interface;
  PFNREFERENCEDEVICEOBJECT   ReferenceDeviceObject;
  PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
  PFNQUERYREFERENCESTRING    QueryReferenceString;
} BUS_INTERFACE_SWENUM, *PBUS_INTERFACE_SWENUM;

Miembros

Interface

Especifica la INTERFAZ exportada.

ReferenceDeviceObject

Puntero a una rutina KsReferenceSoftwareBusObject proporcionada por el controlador.

DereferenceDeviceObject

Puntero a una rutina KsDereferenceSoftwareBusObject proporcionada por el controlador.

QueryReferenceString

Puntero a una rutina KsQuerySoftwareBusInterface proporcionada por el controlador.

Comentarios

Un controlador obtiene una interfaz de BUS_INTERFACE_SWENUM mediante la creación y el envío de una solicitud de IRP_MJ_PNP que especifica un código de función secundario IRP_MN_QUERY_INTERFACE . Para ello, el controlador debe:

  • Asigne y rellene cero una estructura de BUS_INTERFACE_SWENUM del grupo de memoria paginada.
  • Cree un IRP para la solicitud de interfaz de consulta y obtenga la siguiente ubicación de pila para el nuevo IRP.
  • En la nueva ubicación de la pila, proporcione un puntero a la nueva estructura de BUS_INTERFACE_SWENUM en el miembro Parameters.QueryInterface.Interface .
  • Establezca una rutina de finalización y envíe la solicitud a la pila del controlador.
  • Si la solicitud se realiza correctamente, el sistema rellena la estructura de BUS_INTERFACE_SWENUM a la que apunta Parameters.QueryInterface.Interface.

Requisitos

Requisito Valor
Header swenum.h (include Swenum.h)