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