struttura BUS_INTERFACE_SWENUM (swenum.h)
La struttura BUS_INTERFACE_SWENUM descrive l'interfaccia dell'enumeratore bus di carico richiesta.
Sintassi
typedef struct _BUS_INTERFACE_SWENUM {
INTERFACE Interface;
PFNREFERENCEDEVICEOBJECT ReferenceDeviceObject;
PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject;
PFNQUERYREFERENCESTRING QueryReferenceString;
} BUS_INTERFACE_SWENUM, *PBUS_INTERFACE_SWENUM;
Membri
Interface
Specifica il INTERFACE esportato.
ReferenceDeviceObject
Puntatore a una routine KsReferenceSoftwareBusObject fornita dal driver.
DereferenceDeviceObject
Puntatore a un driver fornito routine KsDereferenceSoftwareBusObject.
QueryReferenceString
Puntatore a un driver fornito routine KsQuerySoftwareBusInterface.
Osservazioni
Un driver ottiene un'interfaccia BUS_INTERFACE_SWENUM 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_SWENUM dal pool di memoria di paging.
- Creare un IRP per la richiesta di interfaccia di query e ottenere il percorso dello stack successivo per il nuovo IRP.
- Nella nuova posizione dello stack specificare un puntatore alla nuova struttura BUS_INTERFACE_SWENUM 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_SWENUM a cui punta Parameters.QueryInterface.Interface.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | swenum.h (include Swenum.h) |