DSTORAGE_REQUEST
Representa uma solicitação de leitura do DirectStorage.Sintaxe
Membros
OptionsTipo: DSTORAGE_REQUEST_OPTIONS Várias opções para esta solicitação. Destination
Tipo: void * Endereço do buffer que receberá o resultado final desta solicitação. DestinationPageArray
Tipo: PULONG_PTR Endereço da matriz de páginas que receberá o resultado final desta solicitação se DestinationIsPhysicalPages for especificado. Cada entrada é um número de página de 64 KB. DestinationPageOffset
Tipo: UINT16 Deslocamento na página de 64 KB em que o destino começa, se DestinationIsPhysicalPages for especificado. DestinationSize
Tipo: UINT32 O tamanho esperado, em bytes, do resultado final desta solicitação. Se a solicitação não incluir descompactação, esse valor deverá ser igual a SourceSize. Para solicitações que incluem descompactação, esse valor será maior que SourceSize. File
Tipo: IDStorageFileX * O arquivo a partir do qual esta solicitação de leitura será executada, se SourceType for
DSTORAGE_REQUEST_SOURCE_FILE.
FileOffsetTipo: UINT64 O deslocamento, em bytes, no arquivo em que a solicitação de leitura começará, se SourceType for
DSTORAGE_REQUEST_SOURCE_FILE. Se ZlibDecompress ou BcpackMode for especificado, o deslocamento deverá estar alinhado em 16 bytes.
*SourceTipo: void Endereço do buffer de origem a ser lido, se SourceType for
DSTORAGE_REQUEST_SOURCE_MEMORY e SourceIsPhysicalPages não for especificado.
SourcePageArrayTipo: PULONG_PTR Endereço da matriz de páginas que fornece o buffer de origem a ser lido, se SourceType for
DSTORAGE_REQUEST_SOURCE_MEMORY e SourceIsPhysicalPages for especificado. Cada entrada é um número de página de 64 KB.
SourcePageOffsetTipo: UINT16 Deslocamento na página de 64 KB em que a origem começa, se SourceType for
DSTORAGE_REQUEST_SOURCE_MEMORY e SourceIsPhysicalPages for especificado.
SourceSizeTipo: UINT32 Tamanho, em bytes, a ser lido da origem de arquivo ou memória. IntermediateSize
Tipo: UINT32 O número de bytes de dados compactados com BCPack se ZlibDecompress e BcpackMode forem especificados. CancellationTag
Tipo: UINT64 Um número UINT64 arbitrário usado para correspondência de cancelamento. *Name
Tipo: const CHAR Nome opcional da solicitação. Usado para depuração. Se especificada, a cadeia de caracteres deverá permanecer acessível até que a solicitação seja concluída.
Comentários
Esta estrutura é usada pelo método IDStorageQueueX::EnqueueRequest. A estrutura pode ser reutilizada assim queEnqueueRequest retornar.
Uma única solicitação deve atender a um dos seguintes requisitos de tamanho:
- O DestinationSize é igual ou inferior a 32 MiB (DSTORAGE_MAX_4K_PAGE_DESTINATION_SIZE). OU
- O uso de memória combinado de SourceSize (somente para solicitações de memória para memória) + DestinationSize é igual ou inferior a 1 GiB (DSTORAGE_MAX_REQUEST_SIZE), e os buffers de memória maiores que 32 MiB devem usar páginas de 64 KiB ou páginas de 2 MiB.
