2
2
Copyright (c) 1993-2008, Cognitive Technologies
5
����������� ��������� ��������������� � ������������� ��� � ���� ��������� ����,
6
��� � � �������� �����, � ����������� ��� ���, ��� ���������� ��������� �������:
8
* ��� ��������� ��������������� ��������� ���� ������ ���������� ���������
9
���� ����������� �� ��������� �����, ���� ������ ������� � �����������
11
* ��� ��������� ��������������� ��������� ���� � ������������ �/��� �
12
������ ����������, ������������ ��� ���������������, ������ �����������
13
��������� ���� ���������� �� ��������� �����, ���� ������ ������� �
14
����������� ����� �� ��������.
15
* �� �������� Cognitive Technologies, �� ����� �� ����������� �� �����
16
���� ������������ � �������� �������� ��������� �/��� �����������
17
���������, ���������� �� ���� ��, ��� ���������������� �����������
20
��� ��������� ������������� ����������� ��������� ���� �/��� ������� ������ "���
21
��� ����" ��� ������-���� ���� ��������, ���������� ���� ��� ���������������,
22
������� �������� ������������ �������� � ����������� ��� ���������� ����, �� ��
23
������������� ���. �� �������� ��������� ���� � �� ���� ������ ����, �������
24
����� �������� �/��� �������� �������������� ���������, �� � ���� ������ ��
25
��Ѩ� ���������������, ������� ����� �����, ���������, ����������� ���
26
������������� ������, ��������� � �������������� ��� ���������� ����������
27
������������� ������������� ��������� (������� ������ ������, ��� ������,
28
������� ���������, ��� ������ �/��� ������ �������, ���������� ��-�� ��������
29
������� ��� �/��� ������ ��������� �������� ��������� � ������� �����������,
30
�� �� ������������� ����� ��������), �� �� ������������� ���, ���� ���� �����
31
�������� ��� ������ ���� ���� �������� � ����������� ����� ������� � ������.
5
Разрешается повторное распространение и использование как в виде исходного кода,
6
так и в двоичной форме, с изменениями или без, при соблюдении следующих условий:
8
* При повторном распространении исходного кода должны оставаться указанное
9
выше уведомление об авторском праве, этот список условий и последующий
11
* При повторном распространении двоичного кода в документации и/или в
12
других материалах, поставляемых при распространении, должны сохраняться
13
указанная выше информация об авторском праве, этот список условий и
14
последующий отказ от гарантий.
15
* Ни название Cognitive Technologies, ни имена ее сотрудников не могут
16
быть использованы в качестве средства поддержки и/или продвижения
17
продуктов, основанных на этом ПО, без предварительного письменного
20
ЭТА ПРОГРАММА ПРЕДОСТАВЛЕНА ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ И/ИЛИ ДРУГИМИ ЛИЦАМИ "КАК
21
ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ,
22
ВКЛЮЧАЯ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ, НО НЕ
23
ОГРАНИЧИВАЯСЬ ИМИ. НИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ
24
МОЖЕТ ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, НИ В КОЕМ СЛУЧАЕ НЕ
25
НЕСЁТ ОТВЕТСТВЕННОСТИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ
26
ПОСЛЕДОВАВШИЕ УБЫТКИ, СВЯЗАННЫЕ С ИСПОЛЬЗОВАНИЕМ ИЛИ ПОНЕСЕННЫЕ ВСЛЕДСТВИЕ
27
НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ ПОТЕРИ ДАННЫХ, ИЛИ ДАННЫЕ,
28
СТАВШИЕ НЕГОДНЫМИ, ИЛИ УБЫТКИ И/ИЛИ ПОТЕРИ ДОХОДОВ, ПОНЕСЕННЫЕ ИЗ-ЗА ДЕЙСТВИЙ
29
ТРЕТЬИХ ЛИЦ И/ИЛИ ОТКАЗА ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ,
30
НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМИ СЛУЧАЯМИ), НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ДАЖЕ ЕСЛИ ТАКОЙ
31
ВЛАДЕЛЕЦ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ И ПОТЕРЬ.
33
33
Redistribution and use in source and binary forms, with or without modification,
34
34
are permitted provided that the following conditions are met:
64
64
# include "mainpic.h"
66
66
///////////////////////////////////GLOBAL VARIABLES///////////////////////////////
67
static Word16 gwHeightRC = 0;
68
static Word16 gwLowRC = 0;
67
static uint16_t gwHeightRC = 0;
68
static uint16_t gwLowRC = 0;
69
69
static HANDLE ghStorage = NULL;
70
70
static HINSTANCE ghInst = NULL;
71
71
//////////////////////////////////////////////////////////////////////////////////
73
BOOL APIENTRY DllMain( HINSTANCE hModule,
74
DWORD ul_reason_for_call,
73
Bool APIENTRY DllMain( HINSTANCE hModule,
74
uint32_t ul_reason_for_call,
77
77
switch( ul_reason_for_call )
112
112
//////////////////////////////////////////////////////////////////////////////////
113
RPIC_FUNC(Word32) RPIC_GetReturnCode()
113
RPIC_FUNC(uint32_t) RPIC_GetReturnCode()
116
116
if(gwLowRC && (gwLowRC - IDS_ERR_NO)> 0 )
117
rc = (Word32)(gwHeightRC<<16)|(gwLowRC - IDS_ERR_NO);
117
rc = (uint32_t)(gwHeightRC<<16)|(gwLowRC - IDS_ERR_NO);
120
120
//////////////////////////////////////////////////////////////////////////////////
121
RPIC_FUNC(Int8 *) RPIC_GetReturnString(Word32 dwError)
121
RPIC_FUNC(char *) RPIC_GetReturnString(uint32_t dwError)
123
Word16 rc = (Word16)(dwError & 0xFFFF) + IDS_ERR_NO;
124
static Int8 szBuffer[512];
123
uint16_t rc = (uint16_t)(dwError & 0xFFFF) + IDS_ERR_NO;
124
static char szBuffer[512];
126
126
if( dwError >> 16 != gwHeightRC)
127
127
gwLowRC = IDS_ERR_NOTIMPLEMENT;
183
183
//////////////////////////////////////////////////////////////////////////////////
185
void SetReturnCode_rpic(Word32 rc)
185
void SetReturnCode_rpic(uint32_t rc)
187
Word16 low = (Word16)(rc & 0xFFFF);
188
Word16 hei = (Word16)(rc >> 16);
187
uint16_t low = (uint16_t)(rc & 0xFFFF);
188
uint16_t hei = (uint16_t)(rc >> 16);
191
gwLowRC = (Word16)rc;
191
gwLowRC = (uint16_t)rc;
194
194
if(low - IDS_ERR_NO)
195
gwLowRC = (Word16)((Word32)(gwHeightRC<<16)|(low - IDS_ERR_NO));
195
gwLowRC = (uint16_t)((uint32_t)(gwHeightRC<<16)|(low - IDS_ERR_NO));
201
Word32 GetReturnCode_rpic()
201
uint32_t GetReturnCode_rpic()
204
Word16 low = (Word16)(gwLowRC & 0xFFFF);
205
Word16 hei = (Word16)(gwLowRC >> 16);
203
uint32_t rc = gwLowRC;
204
uint16_t low = (uint16_t)(gwLowRC & 0xFFFF);
205
uint16_t hei = (uint16_t)(gwLowRC >> 16);
207
207
if(hei == gwHeightRC || hei == 0)
208
208
rc = low + IDS_ERR_NO;