Функция TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK

Описание прототипа функции обратного вызова для обработки полученной информации об отправленной транзакции.

Подача асинхронных транзакций с использованием функции обратного вызова и синхронных транзакций одновременно запрещена. Это связано с тем, что невозможно корректно вызвать функцию обратного вызова в момент, когда функция обработки синхронной транзакции еще не закончила свою работу.

void __stdcall TRANS2QUIK_TRANSACTION_REPLY_CALLBACK(long nTransactionResult, long nTransactionExtendedErrorCode, long nTransactionReplyCode, DWORD dwTransId, unsigned__int64 dOrderNum, LPSTR lpstrTransactionReplyMessage, intptr_t transReplyDescriptor)

Параметр Описание
nTransactionResult

Тип: Long. Возвращаемое число может принимать следующие значения:

  • TRANS2QUIK_SUCCESS – транзакция передана успешно,
  • TRANS2QUIK_DLL_NOT_CONNECTED – отсутствует соединение между библиотекой Trans2QUIK.dll и терминалом QUIK,
  • TRANS2QUIK_QUIK_NOT_CONNECTED – отсутствует соединение между терминалом QUIK и сервером,
  • TRANS2QUIK_FAILED – транзакцию передать не удалось. В этом случае в переменную pnExtendedErrorCode может передаваться дополнительный код ошибки
nTransactionExtendedErrorCode Тип: Long. В случае возникновения проблемы при выходе из функции обратного вызова в переменную может быть помещен расширенный код ошибки
nTransactionReplyCode Тип: Long. Указатель для получения статуса выполнения транзакции. Значения статусов те же самые, что и при подаче заявок через файл
dwTransId Тип: Long. Содержимое параметра TransId, который получила зарегистрированная транзакция
dOrderNum Тип: unsigned__int64. Номер заявки, присвоенный торговой системой в результате выполнения транзакции
lpstrTransactionReplyMessage Тип: указатель на переменную типа Строка. Сообщение от торговой системы или сервера QUIK
transReplyDescriptor Тип: intptr_t. Дескриптор ответа на транзакцию, может использоваться для следующих специальных функций в теле функции обратного вызова:
  • LPTSTR __stdcall TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE (intptr_t transReplyDescriptor) – возвращает код класса, по которому подана транзакция;
  • LPTSTR __stdcall TRANS2QUIK_TRANSACTION_REPLY_SEC_CODE (intptr_t transReplyDescriptor) – возвращает код инструмента, по которому выставлена транзакция;
  • double __stdcall TRANS2QUIK_TRANSACTION_REPLY_PRICE (intptr_t transReplyDescriptor) – возвращает цену сделки;
  • __int64 __stdcall TRANS2QUIK_TRANSACTION_REPLY_QUANTITY (intptr_t transReplyDescriptor) – возвращает количество;
  • __int64 __stdcall TRANS2QUIK_TRANSACTION_REPLY_BALANCE (intptr_t transReplyDescriptor) – возвращает остаток;
  • LPTSTR __stdcall TRANS2QUIK_TRANSACTION_REPLY_FIRMID (intptr_t transReplyDescriptor) – возвращает код фирмы;
  • LPTSTR __stdcall TRANS2QUIK_TRANSACTION_REPLY_ACCOUNT (intptr_t transReplyDescriptor) – возвращает торговый счет;
  • LPTSTR __stdcall TRANS2QUIK_TRANSACTION_REPLY_CLIENT_CODE (intptr_t transReplyDescriptor) – возвращает код клиента;
  • LPTSTR __stdcall TRANS2QUIK_TRANSACTION_REPLY_BROKERREF (intptr_t transReplyDescriptor) – возвращает комментарий;
  • LPTSTR __stdcall TRANS2QUIK_TRANSACTION_REPLY_EXCHANGE_CODE (intptr_t transReplyDescriptor) – возвращает биржевой номер заявки

См. также Функции для работы с транзакциями через API