The WPD_COMMAND_MTP_EXT_EXECUTE_COMMAND_WITH_DATA_TO_READ command sends an MTP command block, which will be followed by a data phase. (The data is sent from the device to the host.)

Command category



The driver expects the following parameters.

Parameter VarType Description
WPD_PROPERTY_MTP_EXT_OPERATION_CODE VT_UI4 Required. Identifies a vendor-extended MTP operation code.
WPD_PROPERTY_MTP_EXT_OPERATION_PARAMS VT_UI4 Required. An IPortableDevicePropVariantCollection,which identifies the required parameters for the vendor operation code.

Return Value

The driver returns the following results.

Result VarType Description
WPD_PROPERTY_MTP_EXT_TRANSFER_TOTAL_DATA_SIZE VT_UI8 Required. Returns the total data size, in bytes, excluding any overhead coming from the device. If the device reports unknown datasize (0xFFFFFFFF), the driver should call ReadData repeatedly until a short chunk is received
WPD_PROPERTY_MTP_EXT_OPTIMAL_TRANSFER_BUFFER_SIZE VT_UI4 Optional. Returns the optimal size of the transfer buffer.
WPD_PROPERTY_MTP_EXT_TRANSFER_CONTEXT VT_LPWSTR Required. Specifies the context identifier for subsequent data transfers.

Calling Methods

Can only be called directly by using IPortableDevice::SendCommand.


Requirement Value

See also

Supporting MTP Extensions