Bagikan melalui


struktur STOR_POFX_DEVICE_V3 (storport.h)

Struktur STOR_POFX_DEVICE_V3 menjelaskan atribut daya perangkat penyimpanan ke kerangka kerja manajemen daya (PoFx). Struktur ini mirip dengan STOR_POFX_DEVICE tetapi memungkinkan pemanggil untuk menentukan nilai batas waktu diam.

Sintaks

typedef struct _STOR_POFX_DEVICE_V3 {
  ULONG               Version;
  ULONG               Size;
  ULONG               ComponentCount;
  ULONG               Flags;
  union {
    ULONG UnitMinIdleTimeoutInMS;
    ULONG AdapterIdleTimeoutInMS;
  };
  ULONG               MinimumPowerCyclePeriodInMS;
  STOR_POFX_COMPONENT Components[ANYSIZE_ARRAY];
} STOR_POFX_DEVICE_V3, *PSTOR_POFX_DEVICE_V3;

Anggota

Version

Nomor versi struktur ini. Atur anggota ini ke STOR_POFX_DEVICE_VERSION_V3.

Size

Ukuran struktur ini. Atur nilai ini ke STOR_POFX_DEVICE_V3_SIZE.

ComponentCount

Jumlah elemen dalam array Komponen . Atur anggota ini ke 1. Saat ini, hanya satu komponen yang didukung untuk adaptor penyimpanan atau unit logis.

Flags

Bendera kemampuan status daya perangkat. Miniport menetapkan satu atau beberapa bendera perangkat PoFx untuk mengaktifkan atau menonaktifkan kemampuan status daya. Bendera adalah kombinasi bitwise OR dari berikut ini.

Nilai bendera Makna
STOR_POFX_DEVICE_FLAG_NO_D0 (0x01) Meminta agar IRP daya tidak dikirim ke objek perangkat untuk adaptor atau unit.
STOR_POFX_DEVICE_FLAG_NO_D3 (0x02) Meminta agar IRP matikan tidak dikirim ke objek perangkat untuk adaptor atau unit.
STOR_POFX_DEVICE_FLAG_ENABLE_D3_COLD (0x04) Memungkinkan Storport untuk mengatur status Dingin D3 untuk adaptor jika mendukungnya. Bendera ini hanya berlaku untuk adaptor.
STOR_POFX_DEVICE_FLAG_NO_DUMP_ACTIVE (0x08) Menunjukkan apakah perangkat tersedia untuk cadangan saat diam. Miniport tidak dapat membawa perangkat penyimpanan aktif dalam mode cadangan jika perangkat telah memasuki status diam atau mati saat status diam.
STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT (0x10) Jika STOR_POFX_DEVICE_V3 mewakili unit, bendera ini menunjukkan bahwa bidang UnitMinIdleTimeoutInMS harus dihormati. Jika STOR_POFX_DEVICE_V3 mewakili adaptor, ini menunjukkan bidang AdapterIdleTimeoutInMS harus dihormati.
STOR_POFX_DEVICE_FLAG_ADAPTIVE_D3_IDLE_TIMEOUT (0x20) Menunjukkan bahwa Storport harus secara dinamis menyesuaikan batas waktu diam D3 sehingga perangkat dapat secara agresif memasukkan D3 jika perlu. Ini hanya berlaku ketika STOR_POFX_DEVICE_V3 digunakan.
STOR_POFX_DEVICE_FLAG_NO_UNIT_REGISTRATION (0x40) Menentukan bahwa tidak ada unit yang diekspos oleh adaptor ini yang harus didaftarkan untuk manajemen daya runtime. Ini hanya berlaku untuk struktur STOR_POFX_DEVICE yang mewakili adaptor.
STOR_POFX_DEVICE_FLAG_PERF_STATE_PEP_OPTIONAL (0x80) Menunjukkan miniport tidak memerlukan dukungan P-State dari plug-in ekstensi platform (PEP). Jika ragu, atur bendera ini.
STOR_POFX_DEVICE_FLAG_NO_IDLE_DEBOUNCE (0x100) Memeriksa seberapa mampu versi dump miniport menyala pada perangkat saat perangkat berada dalam status daya yang lebih rendah.
STOR_POFX_DEVICE_FLAG_DUMP_ALWAYS_POWER_ON (0x200) Miniport ingin tumpukan cadangan mencoba menyalakan perangkat.
STOR_POFX_DEVICE_FLAG_DISABLE_INTERRUPTS_ON_D3 (0x400) Miniport ingin Storport menonaktifkan/mengaktifkan interupsi pada transisi Dx.
STOR_POFX_DEVICE_FLAG_ADAPTER_D3_WAKE (0x800) Dukungan bangun adaptor isopt-in miniport D3.
STOR_POFX_DEVICE_FLAG_GET_PERF_STATE_FROM_PEP (0x1000) Miniport membutuhkan P-states dari PEP.

UnitMinIdleTimeoutInMS

Waktu menganggur minimum dalam milidetik untuk unit. Nilai ini hanya valid ketika STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT diatur dalam Bendera.

AdapterIdleTimeoutInMS

Nilai batas waktu diam adaptor dalam milidetik. Nilai ini hanya valid ketika STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT diatur dalam Bendera.

MinimumPowerCyclePeriodInMS

Menunjukkan bahwa perangkat tidak boleh diberi siklus daya (D0 -> D3 -> D0) lebih dari sekali per periode tertentu dalam milidetik. Anggota ini hanya valid ketika bendera STOR_POFX_DEVICE_FLAG_ADAPTIVE_D3_IDLE_TIMEOUT telah ditetapkan.

Components[ANYSIZE_ARRAY]

Anggota ini adalah elemen pertama dalam array dari satu atau beberapa elemen STOR_POFX_COMPONENT . Jika array berisi lebih dari satu elemen, elemen tambahan segera mengikuti struktur STOR_POFX_DEVICE . Array berisi satu elemen untuk setiap komponen dalam perangkat. Saat ini, perangkat penyimpanan hanya memiliki satu komponen sehingga struktur komponen tambahan tidak perlu.

Keterangan

Untuk mendaftarkan adaptor penyimpanan untuk dukungan Storport PoFx, driver miniport memanggil StorPortEnablePassiveInitialization dalam rutinitas HwStorInitialize dan mengimplementasikan HwStorPassiveInitializeRoutine. Miniport memanggil StorPortInitializePoFxPower di dalamnya HwStorPassiveInitializeRoutine untuk memberikan informasi tentang komponen adaptor.

Untuk mendaftarkan unit penyimpanan untuk dukungan Storport PoFx, driver miniport mengimplementasikan rutinitas panggilan balik HwStorUnitControl dan menyediakan penanganan kode kontrol unit ScsiUnitPoFxPowerInfo . Saat menangani kode kontrol ScsiUnitPoFxPowerInfo , miniport memanggil StorPortInitializePoFxPower jika manajemen daya menganggur untuk komponen unit diaktifkan.

Komponen untuk perangkat penyimpanan yang diidentifikasi oleh indeks array Komponennya . Perangkat penyimpanan hanya memiliki satu komponen sehingga indeks 0 digunakan. Rutinitas seperti StorPortPoFxActivateComponent dan StorPortPoFxIdleComponent menggunakan indeks array komponen untuk mengidentifikasi komponen.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10
Header storport.h

Lihat juga

STOR_POFX_COMPONENT

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent

StorPortPoFxIdleComponent