Crate direct_storage

Source
Expand description

Rust bindings for DirectStorage.

We try to provide the same abstraction level and coding style as windows-rs.

For more documentation, please have a look at the header files of the official distribution. We can’t simply copy those because of licensing issues.

This crate will panic if it can’t find the shared libraries of DirectStorage. Please refer to the README.md on how to install them.

Modules§

runtime_loaded
Functions in this module are loaded dynamically at runtime, instead of linked dynamically against dstorage.lib at compile-time.

Structs§

DSTORAGE_COMMAND_TYPE
DSTORAGE_COMPRESSION
DSTORAGE_COMPRESSION_FORMAT
DSTORAGE_COMPRESSION_SUPPORT
DSTORAGE_CONFIGURATION
DSTORAGE_CONFIGURATION1
DSTORAGE_CUSTOM_DECOMPRESSION_FLAGS
DSTORAGE_CUSTOM_DECOMPRESSION_REQUEST
DSTORAGE_CUSTOM_DECOMPRESSION_RESULT
DSTORAGE_DEBUG
DSTORAGE_DESTINATION_BUFFER
DSTORAGE_DESTINATION_MEMORY
DSTORAGE_DESTINATION_MULTIPLE_SUBRESOURCES
DSTORAGE_DESTINATION_TEXTURE_REGION
DSTORAGE_DESTINATION_TILES
DSTORAGE_ERROR_FIRST_FAILURE
DSTORAGE_ERROR_PARAMETERS_EVENT
DSTORAGE_ERROR_PARAMETERS_REQUEST
DSTORAGE_ERROR_PARAMETERS_SIGNAL
DSTORAGE_ERROR_PARAMETERS_STATUS
DSTORAGE_ERROR_RECORD
DSTORAGE_GET_REQUEST_FLAGS
DSTORAGE_PRIORITY
DSTORAGE_QUEUE_DESC
DSTORAGE_QUEUE_INFO
DSTORAGE_REQUEST
DSTORAGE_REQUEST_DESTINATION_TYPE
DSTORAGE_REQUEST_OPTIONS
DSTORAGE_REQUEST_SOURCE_TYPE
DSTORAGE_SOURCE_FILE
DSTORAGE_SOURCE_MEMORY
DSTORAGE_STAGING_BUFFER_SIZE
IDStorageCompressionCodec
IDStorageCompressionCodec_Vtbl
IDStorageCustomDecompressionQueue
IDStorageCustomDecompressionQueue1
IDStorageCustomDecompressionQueue1_Vtbl
IDStorageCustomDecompressionQueue_Vtbl
IDStorageFactory
IDStorageFactory_Vtbl
IDStorageFile
IDStorageFile_Vtbl
IDStorageQueue
IDStorageQueue1
IDStorageQueue2
IDStorageQueue1_Vtbl
IDStorageQueue2_Vtbl
IDStorageQueue_Vtbl
IDStorageStatusArray
IDStorageStatusArray_Vtbl

Constants§

DSTORAGE_COMMAND_TYPE_EVENT
DSTORAGE_COMMAND_TYPE_NONE
DSTORAGE_COMMAND_TYPE_REQUEST
DSTORAGE_COMMAND_TYPE_SIGNAL
DSTORAGE_COMMAND_TYPE_STATUS
DSTORAGE_COMPRESSION_BEST_RATIO
DSTORAGE_COMPRESSION_DEFAULT
DSTORAGE_COMPRESSION_FASTEST
DSTORAGE_COMPRESSION_FORMAT_GDEFLATE
DSTORAGE_COMPRESSION_FORMAT_NONE
DSTORAGE_COMPRESSION_SUPPORT_CPU_FALLBACK
DSTORAGE_COMPRESSION_SUPPORT_GPU_FALLBACK
DSTORAGE_COMPRESSION_SUPPORT_GPU_OPTIMIZED
DSTORAGE_COMPRESSION_SUPPORT_NONE
DSTORAGE_COMPRESSION_SUPPORT_USES_COMPUTE_QUEUE
DSTORAGE_COMPRESSION_SUPPORT_USES_COPY_QUEUE
DSTORAGE_CUSTOM_COMPRESSION_0
DSTORAGE_CUSTOM_DECOMPRESSION_FLAG_DEST_IN_UPLOAD_HEAP
DSTORAGE_CUSTOM_DECOMPRESSION_FLAG_NONE
DSTORAGE_DEBUG_BREAK_ON_ERROR
DSTORAGE_DEBUG_NONE
DSTORAGE_DEBUG_RECORD_OBJECT_NAMES
DSTORAGE_DEBUG_SHOW_ERRORS
DSTORAGE_DISABLE_BUILTIN_CPU_DECOMPRESSION
DSTORAGE_GET_REQUEST_FLAG_SELECT_ALL
DSTORAGE_GET_REQUEST_FLAG_SELECT_BUILTIN
DSTORAGE_GET_REQUEST_FLAG_SELECT_CUSTOM
DSTORAGE_MAX_QUEUE_CAPACITY
DSTORAGE_MIN_QUEUE_CAPACITY
DSTORAGE_PRIORITY_COUNT
DSTORAGE_PRIORITY_FIRST
DSTORAGE_PRIORITY_HIGH
DSTORAGE_PRIORITY_LAST
DSTORAGE_PRIORITY_LOW
DSTORAGE_PRIORITY_NORMAL
DSTORAGE_PRIORITY_REALTIME
DSTORAGE_REQUEST_DESTINATION_BUFFER
DSTORAGE_REQUEST_DESTINATION_MEMORY
DSTORAGE_REQUEST_DESTINATION_MULTIPLE_SUBRESOURCES
DSTORAGE_REQUEST_DESTINATION_TEXTURE_REGION
DSTORAGE_REQUEST_DESTINATION_TILES
DSTORAGE_REQUEST_MAX_NAME
DSTORAGE_REQUEST_SOURCE_FILE
DSTORAGE_REQUEST_SOURCE_MEMORY
DSTORAGE_SDK_VERSION
DSTORAGE_STAGING_BUFFER_SIZE_0
DSTORAGE_STAGING_BUFFER_SIZE_32MB
E_DSTORAGE_ACCESS_VIOLATION
E_DSTORAGE_ALREADY_RUNNING
E_DSTORAGE_BCPACK_BAD_DATA
E_DSTORAGE_BCPACK_BAD_HEADER
E_DSTORAGE_COMPRESSED_DATA_TOO_LARGE
E_DSTORAGE_DECOMPRESSION_ERROR
E_DSTORAGE_DECRYPTION_ERROR
E_DSTORAGE_DEPRECATED_PREVIEW_GDK
E_DSTORAGE_END_OF_FILE
E_DSTORAGE_FILEBUFFERING_REQUIRES_DISABLED_BYPASSIO
E_DSTORAGE_FILE_NOT_OPEN
E_DSTORAGE_FILE_TOO_FRAGMENTED
E_DSTORAGE_INDEX_BOUND
E_DSTORAGE_INVALID_BCPACK_MODE
E_DSTORAGE_INVALID_CLUSTER_SIZE
E_DSTORAGE_INVALID_DESTINATION_SIZE
E_DSTORAGE_INVALID_DESTINATION_TYPE
E_DSTORAGE_INVALID_FENCE
E_DSTORAGE_INVALID_FILE_HANDLE
E_DSTORAGE_INVALID_FILE_OFFSET
E_DSTORAGE_INVALID_INTERMEDIATE_SIZE
E_DSTORAGE_INVALID_MEMORY_QUEUE_PRIORITY
E_DSTORAGE_INVALID_QUEUE_CAPACITY
E_DSTORAGE_INVALID_QUEUE_PRIORITY
E_DSTORAGE_INVALID_SOURCE_TYPE
E_DSTORAGE_INVALID_STAGING_BUFFER_SIZE
E_DSTORAGE_INVALID_STATUS_ARRAY
E_DSTORAGE_INVALID_SWIZZLE_MODE
E_DSTORAGE_IO_TIMEOUT
E_DSTORAGE_NOT_RUNNING
E_DSTORAGE_PASSTHROUGH_ERROR
E_DSTORAGE_QUEUE_CLOSED
E_DSTORAGE_REQUEST_TOO_LARGE
E_DSTORAGE_RESERVED_FIELDS
E_DSTORAGE_STAGING_BUFFER_LOCKED
E_DSTORAGE_STAGING_BUFFER_TOO_SMALL
E_DSTORAGE_SYSTEM_NOT_SUPPORTED
E_DSTORAGE_TOO_MANY_FILES
E_DSTORAGE_TOO_MANY_QUEUES
E_DSTORAGE_UNSUPPORTED_FILE
E_DSTORAGE_UNSUPPORTED_VOLUME
E_DSTORAGE_XVD_DEVICE_NOT_SUPPORTED
E_DSTORAGE_XVD_NOT_REGISTERED
E_DSTORAGE_ZLIB_BAD_DATA
E_DSTORAGE_ZLIB_BAD_HEADER
E_DSTORAGE_ZLIB_PARITY_FAIL
FACILITY_GAME

Traits§

IDStorageCompressionCodec_Impl
IDStorageCustomDecompressionQueue1_Impl
IDStorageCustomDecompressionQueue_Impl
IDStorageFactory_Impl
IDStorageFile_Impl
IDStorageQueue1_Impl
IDStorageQueue2_Impl
IDStorageQueue_Impl
IDStorageStatusArray_Impl

Functions§

DStorageCreateCompressionCodec
DStorageGetFactory
DStorageSetConfiguration
DStorageSetConfiguration1
readonly_copy
Create a temporary “owned” copy inside a ManuallyDrop without increasing the refcount or moving away the source variable.

Unions§

DSTORAGE_DESTINATION
DSTORAGE_ERROR_FIRST_FAILURE_0
DSTORAGE_SOURCE