BUS_INTERFACE_REFERENCE estructura (ks.h)
Un enumerador de dispositivos de software exporta esta interfaz para permitir que los controladores hagan referencia al recuento de objetos de dispositivo físico (PPO) de forma que el dispositivo permanezca activo mientras está en uso y se descarga cuando no está en uso.
Sintaxis
typedef struct {
INTERFACE Interface;
PFNREFERENCEDEVICEOBJECT ReferenceDeviceObject;
PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
PFNQUERYREFERENCESTRING QueryReferenceString;
} BUS_INTERFACE_REFERENCE, *PBUS_INTERFACE_REFERENCE;
Miembros
Interface
Especifica la INTERFAZ exportada.
ReferenceDeviceObject
Puntero a una rutina KStrReferenceDeviceObject proporcionada por el controlador.
DereferenceDeviceObject
Puntero a una rutina KStrDereferenceDeviceObject proporcionada por el controlador.
QueryReferenceString
Puntero a una rutina KStrQueryReferenceString proporcionada por el controlador.
Comentarios
Un controlador obtiene una interfaz de BUS_INTERFACE_REFERENCE mediante la creación y el envío de una solicitud de IRP_MJ_PNP que especifica un código de función secundaria de IRP_MN_QUERY_INTERFACE . Para ello, el controlador debe:
- Asigne y rellene cero una estructura de BUS_INTERFACE_REFERENCE 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 pila, proporcione un puntero a la nueva estructura de BUS_INTERFACE_REFERENCE en el miembro Parameters.QueryInterface.Interface .
- Establezca una rutina de finalización y envíe la solicitud hacia abajo en la pila del controlador.
- Si la solicitud se realiza correctamente, el sistema rellena la estructura de BUS_INTERFACE_REFERENCE a la que apunta Parameters.QueryInterface.Interface.
Requisitos
Requisito | Valor |
---|---|
Header | ks.h (incluye Ks.h) |