Condividi tramite


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:

Valore Significato
STATE_CHANGE_LUN
1 (0x1)
Lo stato LUN è cambiato.
STATE_CHANGE_TARGET
2 (0x2)
Lo stato di destinazione è cambiato.
STATE_CHANGE_BUS
4 (0x4)
Lo stato del bus o della porta è cambiato.

[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
ATTRIBUTE_VM_PASSTHROUGH_LUN
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
STOR_STATUS_SUCCESS
La notifica di modifica dello stato è pianificata per l'elaborazione.
STOR_STATUS_INVALID_PARAMETER
Il tipo di indirizzo o il tipo di entità non è valido.
STOR_STATUS_UNSUCCESSFUL
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

Vedere anche

HwStorStateChange