Funzione StorPortStateChangeDetected (storport.h)
Notifica al driver della porta Storport una modifica dello stato per un numero di unità logica (LUN), una porta HBA (Host Bus Adapter) o un dispositivo di destinazione.
Sintassi
ULONG StorPortStateChangeDetected(
[in] PVOID HwDeviceExtension,
[in] ULONG ChangedEntity,
[in] PSTOR_ADDRESS Address,
[in] ULONG Attributes,
[in, optional] PHW_STATE_CHANGE HwStateChange,
[in, optional] PVOID HwStateChangeContext
);
Parametri
[in] HwDeviceExtension
Puntatore all'estensione del dispositivo hardware. Si tratta di un'area di archiviazione per HBA che il driver della porta alloca e inizializza per conto del driver miniport. I driver Miniport archivia in genere informazioni specifiche di HBA in questa estensione, ad esempio lo stato dell'HBA e gli intervalli di accesso mappati per l'HBA. Questa area è disponibile per il driver miniport subito dopo che il driver miniport chiama StorPortInitialize. Il driver della porta libera questa memoria quando rimuove il dispositivo.
[in] ChangedEntity
Flag che indicano le entità il cui stato è stato modificato. Si tratta di una combinazione OR bit per bit di questi valori:
[in] Address
Indirizzo dell'entità con la modifica dello stato. valore Address non può cambiare finché non viene richiamato il callback in HwStateChange. Se Address viene allocato in memoria, la memoria deve essere liberata dalla routine di callback.
[in] Attributes
Attributi associati all'entità. Si tratta di una combinazione di OR bit per bit delle opzioni seguenti:
Valore | Significato |
---|---|
|
I LUN sono riservati per l'uso delle macchine virtuali. |
[in, optional] HwStateChange
Puntatore a una routine di callback fornita dal miniport. Se presente, il driver Storport chiamerà questa routine al termine dell'elaborazione della notifica di modifica dello stato da parte del driver.
[in, optional] HwStateChangeContext
Viene chiamato un valore di contesto fornito da miniport incluso quando viene chiamata la routine impostata in HwStateChange.
Valore restituito
Valore di stato che indica il risultato della notifica. Può trattarsi di uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
La notifica di modifica dello stato è pianificata per l'elaborazione. |
|
Il tipo di indirizzo o il tipo di entità non è valido. |
|
Una notifica precedente è in corso e questa non può essere pianificata. |
Osservazioni
Una chiamata riuscita a StorPortStateChangeDetected restituisce l'enumerazione dell'entità modificata.
Una sola richiesta di modifica dello stato può essere attiva in qualsiasi momento. Se un miniport deve effettuare un'altra chiamata StorPortStateChangeDetected, deve fornire un callback HwStateChange e effettuare un'altra chiamata a StorPortStateChangeDetected dopo che si verifica il callback a HwStateChange. Se un miniport vuole indicare più modifiche di stato contemporaneamente, il miniport può chiamare StorPortStateChangeDetected una sola volta, con le entità modificate impostate in ChangedEntity che include tutte le modifiche dello stato corrente.
Se vengono specificati più flag in ChangedEntity, il flag con valore maggiore avrà la precedenza su quelli minori.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Windows 8 e versioni successive di Windows. |
piattaforma di destinazione | Universale |
intestazione | storport.h (include Storport.h) |
IRQL | Qualunque |