DirectStorage 常量

对于基于 DirectStorage 的编程,在 和 dstorageerr.hdstorage.h声明以下常量。

常量 & 值 说明
DSTORAGE_MIN_QUEUE_CAPACITY (0x80) 最小有效队列容量。
DSTORAGE_MAX_QUEUE_CAPACITY (0x2000) 最大有效队列容量。
DSTORAGE_REQUEST_MAX_NAME (64) 将为请求名称存储的最大字符数。
DSTORAGE_SDK_VERSION ([依赖版本]) DirectStorage 的主版本号。
E_DSTORAGE_ACCESS_VIOLATION ( (HRESULT) 0x89240009L) 无法访问 DirectStorage 请求的目标缓冲区。
E_DSTORAGE_ALREADY_RUNNING ( (HRESULT) 0x89240001L) DirectStorage 已以独占方式运行。
E_DSTORAGE_COMPRESSED_DATA_TOO_LARGE ( (HRESULT) 0x89240039L) 生成的压缩数据的大小太大,DirectStorage 无法成功在 GPU 上解压缩。
E_DSTORAGE_DECOMPRESSION_ERROR ( (HRESULT) 0x89240030L) 解压缩期间发生一般错误。
E_DSTORAGE_END_OF_FILE ( (HRESULT) 0x89240007L) 指定的偏移量和长度超过了文件的大小。
E_DSTORAGE_FILE_NOT_OPEN ( (HRESULT) 0x8924000BL) 文件未打开。
E_DSTORAGE_INDEX_BOUND ( (HRESULT) 0x89240015L) 索引参数超出边界。
E_DSTORAGE_INVALID_DESTINATION_SIZE ( (HRESULT) 0x8924000FL) 请求的目标大小无效。 如果未使用解压缩,则它必须等于请求的长度;如果使用解压缩,则它必须大于请求的长度。
E_DSTORAGE_INVALID_FENCE ( (HRESULT) 0x89240022L) 围栏无效或已释放。
E_DSTORAGE_INVALID_FILE_HANDLE ( (HRESULT) 0x89240017L) 尚未打开指定的文件。
E_DSTORAGE_INVALID_FILE_OFFSET ( (HRESULT) 0x8924001AL) 对于指定的解压缩模式,请求的文件偏移量无效。
E_DSTORAGE_INVALID_MEMORY_QUEUE_PRIORITY ( (HRESULT) 0x89240024L) 为队列指定的优先级无效。 只有DSTORAGE_PRIORITY_REALTIME是内存队列的有效优先级。
E_DSTORAGE_INVALID_QUEUE_CAPACITY ( (HRESULT) 0x89240003L) 队列容量参数无效。
E_DSTORAGE_INVALID_QUEUE_PRIORITY ( (HRESULT) 0x89240013L) 为队列指定的优先级无效。
E_DSTORAGE_INVALID_SOURCE_TYPE ( (HRESULT) 0x8924001BL) 内存源请求已排入文件源队列,或者文件源请求已排队进入内存源队列。
E_DSTORAGE_INVALID_STAGING_BUFFER_SIZE ( (HRESULT) 0x89240020L) 指定的暂存缓冲区大小无效。
E_DSTORAGE_INVALID_STATUS_ARRAY ( (HRESULT) 0x89240023L) 状态数组无效或已释放。
E_DSTORAGE_IO_TIMEOUT ( (HRESULT) 0x89240016L) IO 操作已超时。
E_DSTORAGE_NOT_RUNNING ( (HRESULT) 0x89240002L) DirectStorage 未运行。
E_DSTORAGE_QUEUE_CLOSED ( (HRESULT) 0x89240010L) 请求以已关闭的队列为目标。
E_DSTORAGE_REQUEST_TOO_LARGE ( (HRESULT) 0x89240008L) IO 请求太大。
E_DSTORAGE_RESERVED_FIELDS ( (HRESULT) 0x8924000CL) 保留字段未设置为 0。
E_DSTORAGE_STAGING_BUFFER_LOCKED ( (HRESULT) 0x8924001FL) 仅当未创建队列且未打开任何文件时,才能更改暂存缓冲区大小。
E_DSTORAGE_STAGING_BUFFER_TOO_SMALL ( (HRESULT) 0x89240021L) 暂存缓冲区不够大,无法执行此操作。
E_DSTORAGE_TOO_MANY_FILES ( (HRESULT) 0x89240014L) 文件数已达到最大限制。
E_DSTORAGE_TOO_MANY_QUEUES ( (HRESULT) 0x89240012L) 队列数已达到最大限制。

要求

要求
标头 dstorage.h
dstorageerr.h

另请参阅