Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato stránka popisuje DEVICE_DSM_ACTION konstanty, které lze použít k provedení akce správy datové sady (DSM) v sadě dat zařízení. Tyto konstanty jsou definovány v ntddstor.h. Akce identifikované jako nedestruktivní nebudou měnit žádná data. Informace o zpracování akce DSM najdete v tématu Přehled správy sad dat.
konstanta DEVICE_DSM_ACTION | Popis |
---|---|
DeviceDsmAction_None | Pouze pro účely inicializace struktury. |
DeviceDsmAction_Trim | Ovladač provede operaci oříznutí. |
DeviceDsmAction_Notification | Nedestruktivní. Ovladač provede operaci oznámení. U této akce je blok parametru bezprostředně za strukturou DEVICE_DSM_INPUT formátován jako struktura DEVICE_DSM_NOTIFICATION_PARAMETERS. Podporováno ve Windows 7 a novějších verzích. |
DeviceDsmAction_OffloadRead | Nedestruktivní. Ovladač provádí operaci snižování zátěže čtení. U této akce je blok parametru bezprostředně za strukturou DEVICE_DSM_INPUT formátován jako struktura DEVICE_DSM_OFFLOAD_READ_PARAMETERS. Výstup se skládá ze struktury DEVICE_DSM_OUTPUT následované strukturou STORAGE_OFFLOAD_READ_OUTPUT. Podporováno ve Windows 8 a novějších verzích. |
DeviceDsmAction_OffloadWrite | Ovladač provede operaci snižování zátěže zápisu. U této akce je blok parametru bezprostředně za strukturou DEVICE_DSM_INPUT formátován jako struktura DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS. Výstup se skládá ze struktury DEVICE_DSM_OUTPUT následované strukturou STORAGE_OFFLOAD_WRITE_OUTPUT. Podporováno ve Windows 8 a novějších verzích. |
DeviceDsmAction_Allocation | Nedestruktivní. Ovladač provede operaci zřizování logického bloku. Oblast logického bloku je určena v jedné DEVICE_DSM_RANGE struktuře. Podporováno ve Windows 8 a novějších verzích. |
DeviceDsmAction_Repair | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_Scrub | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_DrtQuery | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_DrtClear | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_DrtDisable | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_TieringQuery | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_Map | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_RegenerateParity | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_NvCache_Change_Priority | Nedestruktivní. Ovladač změní prioritu ukládání do mezipaměti u zadaných oblastí logických bloků. Nová cílová priorita je nastavena ve struktuře DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS, která se nachází v bloku parametrů bezprostředně za strukturou DEVICE_DSM_INPUT. Oblasti logických bloků, pro které se má změnit priorita, jsou uvedeny v jedné nebo více DEVICE_DSM_RANGE strukturách. Podporováno ve Windows 8.1 a novějších verzích. |
DeviceDsmAction_NvCache_Evict | Nedestruktivní. Ovladač vyřadí data z média ukládání do mezipaměti. Pokud chcete vyřadit všechna data, nastavte příznak DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE v Flags člen DEVICE_DSM_INPUT a nezahrnujte žádné DEVICE_DSM_RANGE struktury. Konkrétní oblasti logických bloků, které se mají vyřadit, jsou uvedeny v jedné nebo více DEVICE_DSM_RANGE strukturách. Akce DeviceDsmAction_NvCache_Evict se provádí synchronně. Dokud akce vyřazení neuspěla nebo se nezdařila, neprovedou se žádné další akce. Aby bylo možné omezit dopad na aplikace používající zařízení, měla by každá DeviceDsmAction_NvCache_Evict vystavená akce zahrnovat relativně malé rozsahy dat. Neměly by překročit 10 MB a ideálně by měly být menší než 2 MB. Tím se minimalizuje pravděpodobnost, že aplikace na úrovni uživatelů budou mít při přístupu k datům na zařízení znatelné zpoždění. Podporováno ve Windows 8.1 a novějších verzích. |
DeviceDsmAction_TopologyIdQuery | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_GetPhysicalAddresses | Nedestruktivní. Ovladač vrátí rozsahy fyzických adres, které odpovídají jednomu nebo více logickým rozsahům bloků. Tato akce se podporuje jenom na trvalých paměťových discích. Oblasti logických bloků jsou určeny jako řada DEVICE_DSM_RANGE struktur bezprostředně za strukturou DEVICE_DSM_INPUT. Výstup se skládá ze struktury DEVICE_DSM_OUTPUT následované odsazením a následnou strukturou DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT s rozsahy fyzických adres požadovanými ve výstupním bloku. Každý rozsah fyzických adres se vrátí ve struktuře DEVICE_STORAGE_ADDRESS_RANGE. Pokud výstupní vyrovnávací paměť není dostatečně velká pro uložení všech dat, vrátí DSM STATUS_BUFFER_OVERFLOW a TotalNumberOfRanges pole struktury DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT obsahuje počet DEVICE_STORAGE_ADDRESS_RANGE prvků potřebných k uspokojení požadavku. Všechny rozsahy fyzických adres, které obsahují chybu paměti, budou mít jako adresu DEVICE_DSM_PHYSICAL_ADDRESS_HAS_MEMORY_ERROR. Aplikace můžou namapovat vrácené rozsahy fyzických adres na vstupní logické blokové rozsahy tím, že sledují délku každého vráceného rozsahu fyzických adres. Všimněte si, že jeden rozsah logických bloků může odpovídat mnoha rozsahům fyzických adres. Pokud je DEVICE_DSM_FLAG_PHYSICAL_ADDRESSES_OMIT_TOTAL_RANGES nastavena v poli Flags struktury DEVICE_DSM_INPUT, ovladač nebude vypočítat TotalNumberOfRanges. Jedná se o optimalizaci výkonu pro volající, kteří nepotřebují znát celkový počet rozsahů. |
DeviceDsmAction_ScopeRegen | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_ReportZones | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_OpenZone | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_FinishZone | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_CloseZone | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_ResetWritePointer | Pouze pro interní použití. |
DeviceDsmAction_GetRangeErrorInfo | Nedestruktivní. Ovladač vrátí informace o tom, zda jedna nebo více logických oblastí bloků obsahuje chyby médií. To se podporuje jenom na trvalých paměťových discích. Oblasti logických bloků se zadají jako řada DEVICE_DSM_RANGE struktur bezprostředně za strukturou DEVICE_DSM_INPUT. Výstup se skládá ze struktury DEVICE_DSM_OUTPUT následované odsazením a strukturou DEVICE_DSM_RANGE_ERROR_OUTPUT), která obsahuje pole DEVICE_STORAGE_RANGE_ATTRIBUTES. Pokud výstupní vyrovnávací paměť není dostatečně velká na uložení všech dat, vrátí DSM STATUS_BUFFER_OVERFLOW a TotalNumberOfRanges pole struktury DEVICE_DSM_RANGE_ERROR_OUTPUT obsahuje počet DEVICE_STORAGE_RANGE_ATTRIBUTES prvků potřebných k uspokojení požadavku. Každá struktura DEVICE_STORAGE_RANGE_ATTRIBUTES obsahuje pole IsRangeBad. Ovladač nastaví toto pole na hodnotu 1, pokud oblast logického bloku obsahuje chybu média. Pokud v některém z požadovaných oblastí nejsou žádné chyby médií, ovladač nastaví DEVICE_STORAGE_NO_ERRORS v poli Příznaky DEVICE_DSM_RANGE_ERROR_OUTPUT. Prvky pole DEVICE_STORAGE_RANGE_ATTRIBUTES jsou seřazeny tak, aby jejich pořadí odpovídalo pořadí vstupních oblastí. Pokud se například první vstupní oblast rozdělila na 3 výstupní oblasti, budou to první tři oblasti v poli. Volající může zjistit, které výstupní rozsahy odpovídají vstupnímu rozsahu, a to tak, že sleduje délku výstupních rozsahů. |
DeviceDsmAction_WriteZeroes | Pouze pro interní použití. |
DeviceDsmAction_LostQuery | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_GetFreeSpace | Nedestruktivní. Pouze pro interní použití. |
DeviceDsmAction_ConversionQuery | Nedestruktivní. Pouze pro interní použití. |