PTP_VENDOR_DATA_IN structure (ptpusd.h)

The PTP_VENDOR_DATA_IN structure contains information about an arbitrary command that an application issues to the device.

Syntax

typedef struct _PTP_VENDOR_DATA_IN {
  WORD  OpCode;
  DWORD SessionId;
  DWORD TransactionId;
  DWORD Params[PTP_MAX_PARAMS];
  DWORD NumParams;
  DWORD NextPhase;
  BYTE  VendorWriteData[1];
} PTP_VENDOR_DATA_IN, *PPTP_VENDOR_DATA_IN;

Members

OpCode

Specifies the command opcode. For more information, see ISO 15740:2013 Photography − Electronic still picture imaging − Picture Transfer Protocol (PTP) for Digital Still Photography Devices.

SessionId

Specifies the session ID. This member is not currently used by the PTP driver and should be set to 0.

TransactionId

Specifies the transaction ID. This member is not currently used by the PTP driver and should be set to 0.

Params[PTP_MAX_PARAMS]

Is an array consisting of PTP_MAX_PARAMS (defined in Ptpusd.h) elements, representing the parameters of the command.

NumParams

Specifies the actual number of elements in the Params array.

NextPhase

Indicates whether to read data from the device, write data to the device, or neither. This member can be set to one of the following values:

Value Meaning
PTP_NEXTPHASE_NO_DATA No data is to be read from or written to the device.
PTP_NEXTPHASE_READ_DATA Read data from the device.
PTP_NEXTPHASE_WRITE_DATA Write data to the device.

VendorWriteData[1]

Is an array containing an (optional) first byte to write to the device.

Remarks

See Vendor-Extended Commands for more information and example code that uses this structure.

For more information about the opcodes used in the OpCode member, see ISO 15740:2013 Photography − Electronic still picture imaging − Picture Transfer Protocol (PTP) for Digital Still Photography Devices.

Requirements

Requirement Value
Header ptpusd.h (include Ptpusd.h)

See also

PTP_VENDOR_DATA_OUT