DSTORAGE_REQUEST
Représente une requête de lecture DirectStorage.Syntaxe
Membres
OptionsType : DSTORAGE_REQUEST_OPTIONS Diverses options pour cette requête. Destination
Type : void * Adresse de la mémoire tampon devant recevoir le résultat final de cette requête. DestinationPageArray
Type : PULONG_PTR Adresse du tableau de pages devant recevoir le résultat final de cette requête si DestinationIsPhysicalPages est spécifié. Chaque entrée est un numéro de page de 64 Ko. DestinationPageOffset
Type : UINT16 Décalage dans la page de 64 Ko où commence la destination, si DestinationIsPhysicalPages est spécifié. DestinationSize
Type : UINT32 La taille attendue, en octets, du résultat final de cette requête. Si la requête n’inclut pas de décompression, cette valeur doit être égale à SourceSize. Pour les requêtes qui incluent une décompression, cette valeur sera supérieure à SourceSize. File
Type : IDStorageFileX * Le fichier à partir duquel effectuer cette requête de lecture, si SourceType est
DSTORAGE_REQUEST_SOURCE_FILE.
FileOffsetType : UINT64 Le décalage, en octets, dans le fichier où commence la requête de lecture, si SourceType est
DSTORAGE_REQUEST_SOURCE_FILE. Si ZlibDecompress ou BcpackMode est spécifié, le décalage doit être aligné sur 16 octets.
*SourceType : void Adresse de la mémoire tampon source à lire, si SourceType est
DSTORAGE_REQUEST_SOURCE_MEMORY et que SourceIsPhysicalPages n’est pas spécifié.
SourcePageArrayType : PULONG_PTR Adresse du tableau de pages fournissant la mémoire tampon source à lire si SourceType est
DSTORAGE_REQUEST_SOURCE_MEMORY et que SourceIsPhysicalPages est spécifié. Chaque entrée est un numéro de page de 64 Ko.
SourcePageOffsetType : UINT16 Décalage dans la page de 64 Ko où commence la source, si SourceType est
DSTORAGE_REQUEST_SOURCE_MEMORY et que SourceIsPhysicalPages est spécifié.
SourceSizeType : UINT32 Taille, en octets, à lire à partir de la source (fichier ou mémoire). IntermediateSize
Type : UINT32 Le nombre d’octets de données compressées BCPack si ZlibDecompress et BcpackMode sont tous deux spécifiés. CancellationTag
Type : UINT64 Un nombre UINT64 arbitraire utilisé pour la correspondance d’annulation. *Name
Type : const CHAR Nom facultatif de la requête. Utilisé pour le débogage. S’il est spécifié, la chaîne doit rester accessible jusqu’à la fin de la requête.
Remarques
Cette structure est utilisée par la méthode IDStorageQueueX::EnqueueRequest. La structure peut être réutilisée dès queEnqueueRequest retourne.
Une requête unique doit satisfaire l’une des exigences de taille suivantes :
- La valeur DestinationSize est inférieure ou égale à 32 Mio (DSTORAGE_MAX_4K_PAGE_DESTINATION_SIZE). OU
- L’utilisation combinée de la mémoire de SourceSize (pour les requêtes de mémoire à mémoire seulement) + DestinationSize est inférieure ou égale à 1 Gio (DSTORAGE_MAX_REQUEST_SIZE), et les mémoires tampons de plus de 32 Mio doivent utiliser des pages de 64 Kio ou de 2 Mio.
