Funzione SpbControllerSetRequestAttributes (spbcx.h)
Il metodo SpbControllerSetRequestAttributes imposta gli attributi dell'oggetto che verranno usati per tutti gli oggetti SPBREQUEST recapitati dall'estensione spb framework (SpbCx) al driver del controller SPB.
Sintassi
void SpbControllerSetRequestAttributes(
[in] WDFDEVICE FxDevice,
[in] PWDF_OBJECT_ATTRIBUTES RequestAttributes
);
Parametri
[in] FxDevice
Handle WDFDEVICE per l'oggetto dispositivo che rappresenta il controller SPB.
[in] RequestAttributes
Puntatore a una struttura WDF_OBJECT_ATTRIBUTES allocata dal chiamante che contiene attributi per gli oggetti SPBREQUEST del controller SPB.
Valore restituito
Nessuno
Osservazioni
Durante l'inizializzazione del dispositivo, il driver del controller SPB può chiamare questo metodo per impostare gli attributi predefiniti per gli oggetti SPBREQUEST. Successivamente, SpbCx assegna questi attributi a tutte le richieste di I/O che recapita (o inoltra) ai dispositivi di destinazione sul bus.
RequestAttributes punta a una struttura WDF_OBJECT_ATTRIBUTES. Il chiamante deve in precedenza aver chiamato la funzione WDF_OBJECT_ATTRIBUTES_INIT per inizializzare questa struttura. Dopo questa chiamata, ma prima della chiamata a SpbControllerSetRequestAttributes, il chiamante può modificare i valori dei membri seguenti di questa struttura:
- EvtCleanupCallback
- EvtDestroyCallback
- ContextSizeOverride
- ContextTypeInfo
WDF_OBJECT_ATTRIBUTES_INIT inizializza i membri EvtCleanupCall back e EvtDestroyCallbackNULL. Se si modificano questi valori predefiniti per registrare un EvtCleanupCallback o EvtDestroyCallback funzione di callback, questa funzione viene chiamata ogni volta che arriva una richiesta di I/O nella coda del controller SPB, gestita da SpbCx. Una richiesta di I/O di questo tipo fa sì che la EvtCleanupCallback o funzione EvtDestroyCallback venga chiamata anche se SpbCx non presenta mai la richiesta al driver del controller SPB (perché la richiesta viene annullata dopo l'arrivo nella coda ma prima che venga passata al driver).
Il driver del controller SPB deve chiamare SpbControllerSetRequestAttributes prima di esegue il commit'oggetto dispositivo, ovvero prima di tornare dal callback EvtDriverDeviceAdd o aggiunge il PDO all'elenco figlio del controller. L'elenco figlio rappresenta i dispositivi collegati al bus. Per altre informazioni, vedere Enumerating the Devices on a Bus.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 8. |
piattaforma di destinazione | Universale |
intestazione | spbcx.h |
libreria | Spbcxstubs.lib |
IRQL | PASSIVE_LEVEL |