Share via


MTP_COMMAND_DATA_OUT 構造体 (mtpext.h)

MTP_COMMAND_DATA_OUT構造体には、IWMDMDevice3::D eviceIoControl の呼び出しの終了時にデバイス ドライバーによって入力されるメディア トランスポート プロトコル (MTP) 応答が含まれています。

構文

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;

メンバー

ResponseCode

応答コード。

NumParams

この応答のパラメーターの数。

Params[MTP_RESPONSE_MAX_PARAMS]

応答のパラメーター。 MTP_RESPONSE_MAX_PARAMS は、値が 5 の定義済み定数です。

CommandReadDataSize

CommandReadData[1]のデータ サイズ (バイト単位)。

CommandReadData[1]

オプションで、デバイスから読み取るデータの最初のバイト (MTP_COMMAND_DATA_IN場合)。NextPhase はMTP_NEXTPHASE_READ_DATA。

注釈

入力バッファーには、適切に入力された MTP_COMMAND_DATA_IN 構造体が 含まれている必要があります。 終了時に、デバイス ドライバーによって MTP_COMMAND_DATA_OUT 構造が入力され、出力バッファーに保存されます。 したがって、要求には、少なくともSIZEOF_REQUIRED_COMMAND_DATA_IN バイトの入力バッファーが必要です。これは次のように定義されます。

#define SIZEOF_REQUIRED_COMMAND_DATA_IN (sizeof(MTP_COMMAND_DATA_IN)-1)

また、要求には、少なくともSIZEOF_REQUIRED_COMMAND_DATA_OUT バイトの出力バッファーが必要です。これは次のように定義されています。

#define SIZEOF_REQUIRED_COMMAND_DATA_OUT (sizeof(MTP_COMMAND_DATA_OUT)-1)

すべてのコマンドは自己完結型であると想定されます。つまり、1 回の呼び出しで完全に処理できます。 従来の意味でのチャンクはサポートされていないため、これは長いデータ転送に影響します。 (たとえば、3megabytes の読み取りを発行するには、呼び出し元が 3 MB とSIZEOF_REQUIRED_COMMAND_DATA_OUT バイトの出力バッファーを確実 割り当てる必要があります)。長いデータ転送は、この方法ではなく、通常のデータ転送 API を使用して行う必要があります。

要件

要件
Header mtpext.h

こちらもご覧ください

IWMDMDevice3::D eviceIoControl

MTP_COMMAND_DATA_IN

構造体