Funzione StorPortStateChangeDetected (storport.h)
Notifica al driver della porta Storport di una modifica dello stato per un numero di unità logico (LUN), una porta del bus host (HBA) 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 di porta alloca e inizializza per conto del driver miniport. I driver miniport in genere archiviano 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 immediatamente dopo che il driver miniport chiama StorPortInitialize. Il driver di porta libera questa memoria quando rimuove il dispositivo.
[in] ChangedEntity
Flag che indicano le entità di cui è stato modificato lo stato. Si tratta di una combinazione OR bit per bit di questi valori:
[in] Address
Indirizzo dell'entità con la modifica dello stato. Il valore dell'indirizzo non può cambiare finché il callback in HwStateChange non viene richiamato . Se l'indirizzo viene allocato in memoria, la memoria deve essere liberata dalla routine di callback.
[in] Attributes
Attributi associati all'entità. Si tratta di una combinazione OR bit per bit del seguente:
Valore | Significato |
---|---|
|
Le LUN sono riservate per l'uso della macchina virtuale. |
[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.
[in, optional] HwStateChangeContext
Valore di contesto fornito da miniport incluso quando viene chiamato il set di routine in HwStateChange .
Valore restituito
Valore di stato che indica il risultato della notifica. Questo può essere uno di questi valori:
Codice restituito | Descrizione |
---|---|
|
La notifica di modifica dello stato è pianificata per l'elaborazione. |
|
Il tipo di indirizzo o il tipo di entità non è valido. |
|
Non è possibile pianificare una notifica precedente. |
Commenti
Una chiamata riuscita a StorPortStateChangeDetected comporta la rinumerazione 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 in HwStateChange . Se un miniport vuole indicare più modifiche allo stato contemporaneamente, il miniport può chiamare StorPortStateChangeDetected una volta, con entità modificate impostate in ChangedEntity che include tutte le modifiche dello stato corrente.
Se vengono specificati più flag in ChangedEntity, il flag con un valore maggiore avrà la precedenza rispetto a quelli minori.
Requisiti
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 | Qualsiasi |