Condividi tramite


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)