DSTORAGE_ERROR_RECORD
失败的 DirectStorage 请求的详细记录。
语法
typedef struct DSTORAGE_ERROR_RECORD {
UINT32 FailureCount;
struct
{
HRESULT HResult ;
DSTORAGE_COMMAND_TYPE CommandType;
union
{
struct
{
DSTORAGE_REQUEST_OPTIONS Options;
void *Destination;
UINT32 DestinationSize;
WCHAR Filename[MAX_PATH];
UINT64 FileOffset;
void *Source;
UINT32 SourceSize;
UINT64 CancellationTag;
CHAR Name[DSTORAGE_REQUEST_MAX_NAME];
} Request;
struct
{
IDStorageStatusArrayX *StatusArray;
UINT32 Index;
} Status;
struct
{
ID3D12Fence *Fence;
UINT64 Value;
} Signal;
};
} FirstFailure;
} DSTORAGE_ERROR_RECORD
成员
FailureCount
类型:UINT32
自上一次 RetrieveErrorRecord
调用后队列中失败的请求的数量。
HResult
类型:HRESULT
失败的 HRESULT 代码。
CommandType
类型:DSTORAGE_COMMAND_TYPE
导致失败的排队请求的类型。
选项
类型:DSTORAGE_REQUEST_OPTIONS
失败的请求的各种选项。
目标
类型:void *
要接收失败请求的最终结果的缓冲区的地址。
DestinationSize
类型:UINT32
作为初始请求的一部分,预期大小(以字节为单位)作为失败请求的最终结果。
Filename
类型:WCHAR[MAX_PATH]
请求所面向的文件的名称。
FileOffset
类型:UINT64
文件中相对于失败的读取请求的起始位置的偏移量(以字节为单位)。
*Source
类型:void
对于源为内存的请求,为要从中进行读取的缓冲区的地址。
SourceSize
类型:UINT32
要从源读取的字节数。
CancellationTag
类型:UINT64
用于取消匹配的任意 UINT64 数字。
名称
类型:CHAR[DSTORAGE_REQUEST_MAX_NAME]
请求的名称。
*StatusArray
类型:IDStorageStatusArrayX
对于状态写入请求,为 IDStorageStatusArrayX 对象。
Index
类型:UINT32
对于状态写入请求而言,为要接收状态的 IDStorageStatusArrayX
对象中的状态条目的索引。
*Fence
类型:ID3D12Fence
对于围栏写入请求,为 ID3D12Fence
对象。
值
类型:UINT64
对于围栏写入请求,为要向围栏写入的值。
备注
IDStorageQueueX::RetrieveErrorRecord 方法使用此结构。
如果 CommandType 为 DSTORAGE_COMMAND_TYPE_NONE
,剩下的数据是未定义的。
有关详细信息,请参阅 DirectStorage 概述中的“GetErrorEvent/RetrieveErrorRecord”部分。
要求
头文件:dstorage_xs.h
支持的平台:Xbox Series 主机