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:

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. 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
ATTRIBUTE_VM_PASSTHROUGH_LUN
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
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
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

Vedi anche

HwStorStateChange