Funzione SpbControllerSetRequestAttributes (spbcx.h)
Il metodo SpbControllerSetRequestAttributes imposta gli attributi dell'oggetto che verranno usati per tutti gli oggetti SPBREQUEST che l'estensione spb framework (SpbCx) recapita 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 qualsiasi richiesta di I/O che recapita (o inoltra) ai dispositivi di destinazione nel 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 EvtCleanupCallback e EvtDestroyCallback su NULL. Se si modificano questi valori predefiniti per registrare una funzione di callback EvtCleanupCallback o EvtDestroyCallback , 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 funzione EvtCleanupCallback o 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 eseguire il commit dell'oggetto dispositivo, ovvero prima che venga restituito dal callback EvtDriverDeviceAdd o aggiunto il PDO all'elenco figlio del controller. L'elenco figlio rappresenta i dispositivi collegati al bus. Per altre informazioni, vedere Enumerazione dei dispositivi in un bus.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 8. |
Piattaforma di destinazione | Universale |
Intestazione | spbcx.h |
Libreria | Spbcxstubs.lib |
IRQL | PASSIVE_LEVEL |