Fungsi StorPortSynchronizeAccess (storport.h)

Rutinitas StorPortSynchronizeAccess menyediakan akses yang disinkronkan ke ekstensi perangkat driver miniport.

Sintaks

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

Parameter

[in] HwDeviceExtension

Penunjuk ke ekstensi perangkat keras. Ini adalah area penyimpanan per HBA yang dialokasikan dan diinisialisasi driver port atas nama driver miniport. Driver Miniport biasanya menyimpan informasi khusus HBA dalam ekstensi ini, seperti status HBA dan rentang akses yang dipetakan untuk HBA. Area ini tersedia untuk driver miniport segera setelah driver miniport memanggil StorPortInitialize. Pengandar porta membebaskan memori ini ketika melepas perangkat.

[in] SynchronizedAccessRoutine

Penunjuk ke rutinitas yang disediakan penelepon yang eksekusinya akan disinkronkan dengan eksekusi ISR yang terkait dengan objek interupsi. Untuk prototipe rutinitas ini, lihat bagian Keterangan nanti dalam topik ini.

[in, optional] Context

Penunjuk ke area konteks untuk diteruskan ke rutinitas panggilan balik yang disediakan pemanggil saat dipanggil.

Nilai kembali

Nilai yang dikembalikan dari SynchronizedAccessRoutine.

Keterangan

Driver miniport yang beroperasi dalam mode dupleks penuh, dan informasi akses yang dibagikan antara rutinitas HwStorStartIo dan rutinitas layanan interupsi, harus menggunakan rutinitas ini untuk mengakses data bersama dengan cara yang disinkronkan.

Driver miniport meneruskan rutinitas panggilan balik ke StorPortSynchronizeAccess, dan StorPortSynchronizeAccess memanggilnya setelah menjamin akses eksklusif ke struktur data sensitif. Rutinitas panggilan balik driver miniport harus sesuai dengan prototipe berikut:

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

di mana HwDeviceExtension adalah penunjuk ke ekstensi perangkat keras, dan Konteks hanyalah penunjuk ke informasi konteks yang sama dengan yang disediakan pemanggil saat memanggil StorPortSynchronizeAccess.

Untuk informasi selengkapnya, lihat Akses Yang Disinkronkan dalam Rutinitas Driver Miniport yang Tidak Disinkronkan.

Untuk informasi selengkapnya tentang rutinitas sinkronisasi, lihat KeSynchronizeExecution.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header storport.h (termasuk Storport.h)
Pustaka Storport.lib

Lihat juga

KeSynchronizeExecution