57 lines
1.7 KiB
Plaintext
57 lines
1.7 KiB
Plaintext
import "unknwn.idl";
|
|
|
|
//
|
|
// PTP command request
|
|
//
|
|
const DWORD VENDOR_COMMAND_NUMPARAMS_MAX = 5;
|
|
typedef struct _VENDOR_COMMAND
|
|
{
|
|
WORD OpCode; // the opcode
|
|
DWORD SessionId; // the session id
|
|
DWORD TransactionId; // the transaction id
|
|
DWORD Params[VENDOR_COMMAND_NUMPARAMS_MAX]; // parameters
|
|
}VENDOR_COMMAND, *PVENDOR_COMMAND;
|
|
|
|
//
|
|
// PTP response block
|
|
//
|
|
const DWORD VENDOR_RESPONSE_NUMPARAMS_MAX = 5;
|
|
typedef struct _VENDOR_RESPONSE
|
|
{
|
|
WORD ResponseCode; // response code
|
|
DWORD SessionId; // the session id
|
|
DWORD TransactionId; // the transaction id
|
|
DWORD Params[VENDOR_RESPONSE_NUMPARAMS_MAX]; // parameters
|
|
}VENDOR_RESPONSE, *PVENDOR_RESPONSE;
|
|
|
|
//
|
|
// NextPhase constants
|
|
//
|
|
const int VENDORCOMMAND_READ_DATA = 3;
|
|
const int VENDORCOMMAND_WRITE_DATA = 4;
|
|
const int VENDORCOMMAND_NO_DATA = 5;
|
|
|
|
//
|
|
// IWiaPtpVendorExt definition
|
|
//
|
|
[ object,
|
|
uuid(D5F0C4B7-7981-4d92-BC1A-D3686BDF2045),
|
|
helpstring("PTP vendor access"),
|
|
]
|
|
|
|
interface IWiaPtpVendorExt : IUnknown
|
|
{
|
|
[local]
|
|
HRESULT VendorCommand(
|
|
[in] VENDOR_COMMAND *pCommand,
|
|
[out] VENDOR_RESPONSE *pResponse,
|
|
[in, out] unsigned int *pReadDataSize,
|
|
[out, size_is(*pReadDataSize)] unsigned char *pReadData,
|
|
[in] unsigned int WriteDataSize,
|
|
[in, size_is(WriteDataSize)] unsigned char *pWriteData,
|
|
[in] unsigned int NumCommandParams,
|
|
[in] int NextPhase
|
|
);
|
|
};
|
|
|