Funzione StorPortAsyncNotificationDetected (storport.h)

Un driver miniport di archiviazione chiama StorPortAsyncNotificationDetected per notificare al driver Storport di 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 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.

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
Notifica a Storport che si è verificata una modifica multimediale.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_STATUS
Notifica a Storport che lo stato funzionale del dispositivo di archiviazione è stato modificato.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_OPERATION
Notifica a Storport che è stato modificato un ruolo operativo del dispositivo di archiviazione.

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

-oppure-

HwDeviceExtension è NULL.

-oppure-

I flag contengono un valore non definito.

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

-oppure-

Il dispositivo di archiviazione non supporta le notifiche asincrone.

STOR_STATUS_BUSY
Non è possibile pianificare una notifica precedente.

Commenti

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

Quando viene elaborato da Storport, la notifica dell'evento 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.

Requisiti

Requisito Valore
Client minimo supportato Windows 8
Piattaforma di destinazione Universale
Intestazione Storport.h (include Storport.h)
IRQL Qualsiasi