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) |