Condividi tramite


Funzione StorPortAsyncNotificationDetected (storport.h)

Un driver miniport di archiviazione chiama StorPortAsyncNotificationDetected per notificare al driver Storport un evento di modifica dello stato del dispositivo di archiviazione.

La notifica viene accodata come elemento di lavoro per l'elaborazione posticipata in DISPATCH_LEVEL o irQL inferiore.

Sintassi

ULONG StorPortAsyncNotificationDetected(
  [in] PVOID         HwDeviceExtension,
       PSTOR_ADDRESS Address,
       ULONGLONG     Flags
);

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.

Address

Indirizzo del dispositivo di archiviazione con un evento di modifica dello stato.

Flags

Notifiche di stato da indicare a Storport.

Il parametro Flags contiene una combinazione OR bit per bit delle notifiche di stato. Tutti i valori di stato possono essere impostati con il singolo valore RAID_ASYNC_NOTIFY_SUPPORTED_FLAGS.

Valore Significato
RAID_ASYNC_NOTIFY_FLAG_MEDIA_STATUS
Notificare a Storport che si è verificata una modifica del supporto.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_STATUS
Notificare a Storport che lo stato funzionale del dispositivo di archiviazione è stato modificato.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_OPERATION
Notificare a Storport che è stato modificato un ruolo operativo del dispositivo di archiviazione.

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
Tipo di indirizzo non valido.

-o-

HwDeviceExtension è NULL.

-o-

Flag contiene un valore non definito.

STOR_STATUS_INVALID_DEVICE_REQUEST
Impossibile trovare l'unità del dispositivo di archiviazione all'indirizzo .

-o-

Il dispositivo di archiviazione non supporta le notifiche asincrone.

STOR_STATUS_BUSY
Una notifica precedente è in corso e questa non può essere pianificata.

Osservazioni

Un miniport può rilevare gli eventi di stato nella routine HwStorInterrupt e chiamare StorPortAsyncNotificationDetected per accodare ed elaborare la notifica di modifica dello stato in un secondo momento in un irQL inferiore.

Quando viene elaborato da Storport, la notifica degli eventi di stato viene inoltrata al driver della classe di archiviazione per avviare le azioni di risposta di sistema necessarie.

Se il parametro Flags è 0, Storport indicherà tutti i valori di stato nella notifica al driver della classe di archiviazione.

Fabbisogno

Requisito Valore
client minimo supportato Windows 8
piattaforma di destinazione Universale
intestazione storport.h (include Storport.h)
IRQL Qualunque