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

Vedi anche

EvtChildListCreateDevice

EvtDriverDeviceAdd

SPB_CONTROLLER_CONFIG

SPB_CONTROLLER_CONFIG_INIT