Partager via


structure MTP_COMMAND_DATA_OUT (mtpext.h)

La structure MTP_COMMAND_DATA_OUT contient des réponses MTP (Media Transport Protocol) qui sont remplies par le pilote de périphérique à la sortie d’un appel à IWMDMDevice3 ::D eviceIoControl.

Syntaxe

typedef struct _MTP_COMMAND_DATA_OUT {
  WORD  ResponseCode;
  DWORD NumParams;
  DWORD Params[MTP_RESPONSE_MAX_PARAMS];
  DWORD CommandReadDataSize;
  BYTE  CommandReadData[1];
} MTP_COMMAND_DATA_OUT, *PMTP_COMMAND_DATA_OUT;

Membres

ResponseCode

Code de réponse.

NumParams

Nombre de paramètres pour cette réponse.

Params[MTP_RESPONSE_MAX_PARAMS]

Paramètres de la réponse. MTP_RESPONSE_MAX_PARAMS est une constante définie avec une valeur de 5.

CommandReadDataSize

Taille des données de CommandReadData[1], en octets.

CommandReadData[1]

Facultatif, premier octet de données à lire à partir de l’appareil si MTP_COMMAND_DATA_IN. NextPhase est MTP_NEXTPHASE_READ_DATA.

Remarques

La mémoire tampon d’entrée doit contenir une structure de MTP_COMMAND_DATA_IN correctement remplie. À la sortie, le pilote de périphérique remplit la structure MTP_COMMAND_DATA_OUT et l’enregistre dans la mémoire tampon de sortie. Par conséquent, toute demande doit avoir une mémoire tampon d’entrée d’au moins SIZEOF_REQUIRED_COMMAND_DATA_IN octets, qui est définie comme suit :

#define SIZEOF_REQUIRED_COMMAND_DATA_IN (sizeof(MTP_COMMAND_DATA_IN)-1)

Toute demande doit également avoir une mémoire tampon de sortie d’au moins SIZEOF_REQUIRED_COMMAND_DATA_OUT octets, qui est définie comme suit :

#define SIZEOF_REQUIRED_COMMAND_DATA_OUT (sizeof(MTP_COMMAND_DATA_OUT)-1)

Il est supposé que toutes les commandes sont autonomes, c’est-à-dire qu’elles peuvent être traitées complètement en un seul appel. Cela a des implications sur les transferts de données longs, car la segmentation au sens traditionnel n’est pas prise en charge. (Par exemple, pour émettre une lecture pour 3 mégaoctets, l’appelant doit s’assurer qu’il alloue une mémoire tampon de sortie de 3 Mo plus SIZEOF_REQUIRED_COMMAND_DATA_OUT octets.) Les transferts de données longs ne doivent pas être effectués avec cette méthode, mais plutôt par le biais d’API de transfert de données normales.

Configuration requise

Condition requise Valeur
En-tête mtpext.h

Voir aussi

IWMDMDevice3 ::D eviceIoControl

MTP_COMMAND_DATA_IN

Structures