DSTORAGE_REQUEST
Representa una solicitud de lectura de DirectStorage.Sintaxis
Miembros
OptionsTipo: DSTORAGE_REQUEST_OPTIONS Varias opciones para esta solicitud. Destination
Tipo: void * Dirección del búfer que recibirá el resultado final de esta solicitud. DestinationPageArray
Tipo: PULONG_PTR Dirección de la matriz de páginas que recibirá el resultado final de esta solicitud si se especifica DestinationIsPhysicalPages. Cada entrada es un número de página de 64 KB. DestinationPageOffset
Tipo: UINT16 Desplazamiento dentro de la página de 64 KB donde comienza el destino, si se especifica DestinationIsPhysicalPages. DestinationSize
Tipo: UINT32 El tamaño esperado, en bytes, del resultado final de esta solicitud. Si la solicitud no incluye descompresión, debe ser igual a SourceSize. Para las solicitudes que incluyen descompresión, este valor será mayor que SourceSize. File
Tipo: IDStorageFileX * El archivo desde el que se realiza esta solicitud de lectura, si SourceType es
DSTORAGE_REQUEST_SOURCE_FILE.
FileOffsetTipo: UINT64 El desplazamiento, en bytes, dentro del archivo en el que comienza la solicitud de lectura, si SourceType es
DSTORAGE_REQUEST_SOURCE_FILE. Si se especifica ZlibDecompress o BcpackMode, el desplazamiento debe estar alineado a 16 bytes.
*SourceTipo: void Dirección del búfer de origen desde el que se leerá, si SourceType es
DSTORAGE_REQUEST_SOURCE_MEMORY y no se especifica SourceIsPhysicalPages.
SourcePageArrayTipo: PULONG_PTR Dirección de la matriz de páginas que proporciona el búfer de origen desde el que se leerá si SourceType es
DSTORAGE_REQUEST_SOURCE_MEMORY y se especifica SourceIsPhysicalPages. Cada entrada es un número de página de 64 KB.
SourcePageOffsetTipo: UINT16 Desplazamiento dentro de la página de 64 KB donde comienza el origen, si SourceType es
DSTORAGE_REQUEST_SOURCE_MEMORY y se especifica SourceIsPhysicalPages.
SourceSizeTipo: UINT32 Tamaño, en bytes, que se leerá del archivo o del origen de memoria. IntermediateSize
Tipo: UINT32 El número de bytes de datos comprimidos con BCPack si se especifican tanto ZlibDecompress como BcpackMode. CancellationTag
Tipo: UINT64 Un número UINT64 arbitrario usado para la coincidencia de cancelación. *Name
Tipo: const CHAR Nombre opcional de la solicitud. Se usa para la depuración. Si se especifica, la cadena debe permanecer accesible hasta que se complete la solicitud.
Comentarios
Esta estructura la usa el método IDStorageQueueX::EnqueueRequest. La estructura se puede reutilizar en cuantoEnqueueRequest devuelve el control.
Una única solicitud debe cumplir uno de los siguientes requisitos de tamaño:
- DestinationSize es igual o menor que 32 MiB (DSTORAGE_MAX_4K_PAGE_DESTINATION_SIZE). O
- El uso de memoria combinado de SourceSize (solo para solicitudes de memoria a memoria) + DestinationSize es igual o menor que 1 GiB (DSTORAGE_MAX_REQUEST_SIZE), y los búferes de memoria mayores de 32 MiB deben usar páginas de 64 KiB o páginas de 2 MiB.
