Compartir a través de


estructura BUS_INTERFACE_REFERENCE (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 modo que el dispositivo permanece 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 de exportada.

ReferenceDeviceObject

Puntero a una rutina de KStrReferenceDeviceObject proporcionada por el controlador.

DereferenceDeviceObject

Puntero a una rutina de KStrDereferenceDeviceObject proporcionada por el controlador.

QueryReferenceString

Puntero a una rutina de KStrQueryReferenceString proporcionada por el controlador.

Observaciones

Un controlador obtiene una interfaz de BUS_INTERFACE_REFERENCE mediante la creación y el envío de una solicitud 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 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 la pila, proporcione un puntero a la nueva estructura BUS_INTERFACE_REFERENCE del 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 BUS_INTERFACE_REFERENCE a la que apunta Parameters.QueryInterface.Interface.

Requisitos

Requisito Valor
encabezado de ks.h (incluya Ks.h)