Funzione SpbDeviceInitialize (spbcx.h)
Il metodo SpbDeviceInitialize completa l'inizializzazione del driver del controller SPB dopo che questo driver crea l'oggetto dispositivo associato.
Sintassi
NTSTATUS SpbDeviceInitialize(
[in] WDFDEVICE FxDevice,
[in] PSPB_CONTROLLER_CONFIG Config
);
Parametri
[in] FxDevice
Handle WDFDEVICE per l'oggetto dispositivo che rappresenta il controller SPB.
[in] Config
Puntatore a una struttura SPB_CONTROLLER_CONFIG che contiene le informazioni di configurazione del dispositivo per il driver del controller SPB. Questa struttura deve essere stata inizializzata dalla funzione SPB_CONTROLLER_CONFIG_INIT .
Valore restituito
SpbDeviceInitialize restituisce STATUS_SUCCESS se ha esito positivo. In caso contrario, restituisce un codice di errore NTSTATUS appropriato.
Commenti
Il driver del controller SPB chiama questo metodo per registrare le funzioni di callback degli eventi con l'estensione spb framework (SpbCx) e per specificare la modalità di trasferimento da usare per la coda di I/O del controller. SpbDeviceInitialize crea tutte le strutture di dati interne del controller, inclusa la coda di I/O.
Il driver del controller SPB deve chiamare questo metodo 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.
Dopo la restituzione di SpbDeviceInitialize , il controller è pronto per elaborare le richieste di I/O, ma il driver del controller SPB può, in base alle esigenze, continuare a configurare le impostazioni del controller prima di eseguire il commit dell'oggetto dispositivo.
Se la struttura a cui punta Config non è stata compilata correttamente, Driver Verifier genererà un errore. Per altre informazioni sui requisiti per il parametro Config , vedere SPB_CONTROLLER_CONFIG.
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 |