Condividi tramite


struttura BUS_INTERFACE_REFERENCE (ks.h)

Un enumeratore di dispositivi software esporta questa interfaccia per consentire ai driver di fare riferimento al conteggio degli oggetti dispositivo fisici (PDO) in modo che il dispositivo rimanga attivo mentre è in uso e viene scaricato quando non in uso.

Sintassi

typedef struct {
  INTERFACE                  Interface;
  PFNREFERENCEDEVICEOBJECT   ReferenceDeviceObject;
  PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
  PFNQUERYREFERENCESTRING    QueryReferenceString;
} BUS_INTERFACE_REFERENCE, *PBUS_INTERFACE_REFERENCE;

Members

Interface

Specifica l'interfaccia esportata.

ReferenceDeviceObject

Puntatore a una routine KStrReferenceDeviceObject fornita dal driver.

DereferenceDeviceObject

Puntatore a una routine KStrDereferenceDeviceObject fornita dal driver.

QueryReferenceString

Puntatore a una routine KStrQueryReferenceString fornita dal driver.

Commenti

Un driver ottiene un'interfaccia BUS_INTERFACE_REFERENCE creando e inviando una richiesta di IRP_MJ_PNP che specifica un codice di funzione secondaria IRP_MN_QUERY_INTERFACE . A tale scopo, il driver deve:

  • Allocare e riempire zero una struttura BUS_INTERFACE_REFERENCE dal pool di memoria di paging.
  • Creare un IRP per la richiesta dell'interfaccia di query e ottenere il percorso dello stack successivo per il nuovo provider di risorse.
  • Nella nuova posizione dello stack specificare un puntatore alla nuova struttura BUS_INTERFACE_REFERENCE nel membro Parameters.QueryInterface.Interface .
  • Impostare una routine di completamento e inviare la richiesta allo stack di driver.
  • Se la richiesta ha esito positivo, il sistema compila la struttura BUS_INTERFACE_REFERENCE a cui punta Parameters.QueryInterface.Interface.

Requisiti

Requisito Valore
Intestazione ks.h (include Ks.h)