estrutura MTP_COMMAND_DATA_OUT (mtpext.h)
A estrutura MTP_COMMAND_DATA_OUT contém respostas mtp que são preenchidas pelo driver de dispositivo ao sair de uma chamada para IWMDMDevice3::D eviceIoControl.
Sintaxe
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;
Membros
ResponseCode
Código de resposta.
NumParams
Número de parâmetros para essa resposta.
Params[MTP_RESPONSE_MAX_PARAMS]
Parâmetros da resposta. MTP_RESPONSE_MAX_PARAMS é uma constante definida com um valor de 5.
CommandReadDataSize
Tamanho dos dados de CommandReadData[1], em bytes.
CommandReadData[1]
Opcional, primeiro byte de dados a serem lidos do dispositivo se MTP_COMMAND_DATA_IN. NextPhase é MTP_NEXTPHASE_READ_DATA.
Comentários
Espera-se que o buffer de entrada contenha uma estrutura de MTP_COMMAND_DATA_IN preenchida adequadamente. Ao sair, o driver do dispositivo preencherá a estrutura MTP_COMMAND_DATA_OUT e a salvará no buffer de saída. Portanto, qualquer solicitação deve ter um buffer de entrada de pelo menos SIZEOF_REQUIRED_COMMAND_DATA_IN bytes, que é definido como o seguinte:
#define SIZEOF_REQUIRED_COMMAND_DATA_IN (sizeof(MTP_COMMAND_DATA_IN)-1)
Qualquer solicitação também deve ter um buffer de saída de pelo menos SIZEOF_REQUIRED_COMMAND_DATA_OUT bytes, que é definido como o seguinte:
#define SIZEOF_REQUIRED_COMMAND_DATA_OUT (sizeof(MTP_COMMAND_DATA_OUT)-1)
Supõe-se que todos os comandos sejam independentes, ou seja, eles podem ser processados completamente em uma única chamada. Isso tem implicações em transferências de dados longas, porque não há suporte para a divisão em partes no sentido tradicional. (Por exemplo, para emitir uma leitura para 3megabytes, o chamador teria que garantir que ele alocasse um buffer de saída de 3 MB mais SIZEOF_REQUIRED_COMMAND_DATA_OUT bytes.) Transferências de dados longas não devem ser feitas com esse método, mas sim por meio de APIs de transferência de dados normais.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | mtpext.h |