Fungsi StorPortStateChangeDetected (storport.h)
Memberi tahu driver port Storport tentang perubahan status untuk nomor unit logis (LUN), port adaptor bus host (HBA), atau perangkat target.
Sintaks
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
);
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] ChangedEntity
Bendera yang menunjukkan entitas yang statusnya telah berubah. Ini adalah kombinasi bitwise OR dari nilai-nilai ini:
Nilai | Makna |
---|---|
|
Status LUN telah berubah. |
|
Status target telah berubah. |
|
Status bus atau port telah berubah. |
[in] Address
Alamat entitas dengan perubahan status. Nilai alamat tidak dapat berubah sampai panggilan balik di HwStateChange dipanggil. Jika Alamat dialokasikan dalam memori, memori harus dibebaskan oleh rutinitas panggilan balik.
[in] Attributes
Atribut yang terkait dengan entitas. Ini adalah kombinasi bitwise OR dari yang berikut ini:
Nilai | Makna |
---|---|
|
LUN dicadangkan untuk penggunaan komputer virtual. |
[in, optional] HwStateChange
Pointer ke rutinitas panggilan balik yang disediakan oleh miniport. Jika ada, driver Storport akan memanggil rutinitas ini ketika driver selesai memproses pemberitahuan perubahan status ini.
[in, optional] HwStateChangeContext
Nilai konteks yang disediakan miniport yang disertakan ketika rutinitas yang ditetapkan dalam HwStateChange dipanggil.
Mengembalikan nilai
Nilai status yang menunjukkan hasil pemberitahuan. Ini bisa menjadi salah satu nilai ini:
Menampilkan kode | Deskripsi |
---|---|
|
Pemberitahuan perubahan status dijadwalkan untuk diproses. |
|
Jenis alamat atau jenis entitas tidak valid. |
|
Pemberitahuan sebelumnya sedang dalam proses dan pemberitahuan ini tidak dapat dijadwalkan. |
Keterangan
Panggilan yang berhasil ke StorPortStateChangeDetected menghasilkan enumerasi ulang entitas yang diubah.
Hanya satu permintaan perubahan status yang dapat aktif kapan saja. Jika miniport perlu melakukan panggilan StorPortStateChangeDetected lain, itu harus menyediakan panggilan balik HwStateChange dan melakukan panggilan lain ke StorPortStateChangeDetected setelah panggilan balik ke HwStateChange terjadi. Jika miniport ingin menunjukkan beberapa perubahan status secara bersamaan, miniport dapat memanggil StorPortStateChangeDetected sekali, dengan entitas yang diubah diatur di ChangedEntity yang menyertakan semua perubahan status saat ini.
Jika beberapa bendera ditentukan dalam ChangedEntity, bendera dengan nilai yang lebih besar akan lebih diutamakan daripada yang lebih kecil.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows versi Windows 8 dan yang lebih baru. |
Target Platform | Universal |
Header | storport.h (termasuk Storport.h) |
IRQL | Apa pun |