Bagikan melalui


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
STATE_CHANGE_LUN
1 (0x1)
Status LUN telah berubah.
STATE_CHANGE_TARGET
2 (0x2)
Status target telah berubah.
STATE_CHANGE_BUS
4 (0x4)
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
ATTRIBUTE_VM_PASSTHROUGH_LUN
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
STOR_STATUS_SUCCESS
Pemberitahuan perubahan status dijadwalkan untuk diproses.
STOR_STATUS_INVALID_PARAMETER
Jenis alamat atau jenis entitas tidak valid.
STOR_STATUS_UNSUCCESSFUL
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

Lihat juga

HwStorStateChange