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 |