Condividi tramite


Funzione StorPortSynchronizeAccess (storport.h)

La routine StorPortSynchronizeAccess fornisce l'accesso sincronizzato all'estensione del dispositivo di un driver miniport.

Sintassi

STORPORT_API BOOLEAN StorPortSynchronizeAccess(
  [in]           PVOID                     HwDeviceExtension,
  [in]           PSTOR_SYNCHRONIZED_ACCESS SynchronizedAccessRoutine,
  [in, optional] PVOID                     Context
);

Parametri

[in] HwDeviceExtension

Puntatore all'estensione del dispositivo hardware. Si tratta di un'area di archiviazione 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] SynchronizedAccessRoutine

Puntatore a una routine fornita dal chiamante la cui esecuzione deve essere sincronizzata con l'esecuzione dell'ISR associata agli oggetti di interruzione. Per un prototipo di questa routine, vedere la sezione Osservazioni più avanti in questo argomento.

[in, optional] Context

Puntatore a un'area di contesto da passare alla routine di callback fornita dal chiamante quando viene chiamata.

Valore restituito

Valore restituito da SyncdAccessRoutine.

Commenti

I driver miniport che operano in modalità full-duplex e che accedono alle informazioni condivise tra la routine HwStorStartIo e la routine di interruzione del servizio, devono usare questa routine per accedere ai dati condivisi in modo sincronizzato.

Il driver miniport passa una routine di callback a StorPortSynchronizeAccess e StorPortSynchronizeAccess lo chiama dopo aver garantito l'accesso esclusivo alle strutture di dati sensibili. La routine di callback del driver miniport deve essere conforme al prototipo seguente:

typedef
BOOLEAN
(* PSTOR_SYNCHRONIZED_ACCESS) (
  IN PVOID HwDeviceExtension,
 IN PVOID Context
  );

dove HwDeviceExtension è un puntatore all'estensione del dispositivo hardware e Context è solo un puntatore alle stesse informazioni di contesto fornite dal chiamante durante la chiamata a StorPortSynchronizeAccess.

Per altre informazioni, vedere Accesso sincronizzato all'interno di Routine del driver miniport non sincronizzato.

Per altre informazioni sulle routine di sincronizzazione, vedere KeSynchronizeExecution.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione Storport.h (include Storport.h)
Libreria Storport.lib

Vedi anche

KeSynchronizeExecution