Juri Shutenko Personal Homepage. Visual FoxPro.

Некоторые функции Windows API, необходимые для работы с Internet в приложениях Visual FoxPro.

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

Ниже приведен список функций, рассмотренных в этой статье:

Функция GetLastError

Функция GetLastError возвращает вызвавшей ее нити значение кода последней ошибки. Код последней ошибки - per-thread basis, то есть разные нити не переписывают код последней ошибки друг друга.
Ее декларация проста, так как функции не передаются никакие параметры.

Declare Integer GetLastError In Kernel32

Параметры
Функция не принимает никаких параметров.

Возвращаемое значение

Возвращаемое значение представляет собой код последней ошибки случившейся в нити, из которой впоследствии вызывается эта функция. Функции, вызов которых завершился с ошибкой, устанавливают это значение посредством функции SetLastError. Секция Return Value описания функций обычно содержит условия, при которых функция устанавливает код последней ошибки и которая впоследствии может быть извлечена с помощью функции GetLastError.

Windows Me/98/95: Функции, которые реально исполняются в 16-битном коде, не устанавливают код последней ошибки. Вы должны игнорировать код последней ошибки, когда вызываете эти функции.

Remarks

Для получения строки ошибки для кодов системной ошибки используйте функцию FormatMessage. Для получения полного листа кодов ошибок, поставляемых операционной системой обратитесь на сайт MSDN Microsoft и найдите через поиск описание "System Error Codes". Коды ошибок, характерные для функций WinInet приведены в статье "Коды ошибок вызовов функций WinInet" этого цикла

Коды ошибок, возвращаемые функцией, не является частью спецификации Windows API и могут варьироваться как операционной системой, так и драйверами устройств.

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

Пример:
Смотрите примеры в описаниях функций в статьях этого цикла.

Требования
смотри требования к клиенту, серверу и обозревателю Internet в таблице требований к системе.


Функция FileTimeToSystemTime

Функция FileTimeToSystemTime преобразует аттрибуты времен файла в системный формат времени.

Синтаксис команды регистрации функции для Visual FoxPro приведен ниже:

Declare Integer FileTimeToSystemTime IN kernel32.dll; 
    String @lpFileTime,; 
    String @lpSystemTime 

Параметры:

lpFileTime
Указатель на структуры FILETIME, содержащую временнОй аттрибут файла, для конвертирования в системный формат даты и времени.
Значение должно быть менее 0x8000000000000000. В противном случае вызов функции завершится с ошибкой.

Описание структуры FILETIME приведено ниже:

typedef struct _FILETIME {  
   DWORD dwLowDateTime;  
   DWORD dwHighDateTime;
} FILETIME, *PFILETIME;

lpSystemTime
Указатель на структуру SYSTEMTIME, служащую для приема преобразованного аттрибута файла.

Описание структуры SYSTEMTIME приведено ниже:

typedef struct _SYSTEMTIME {
   WORD wYear;
   WORD wMonth;
   WORD wDayOfWeek;
   WORD wDay;
   WORD wHour;
   WORD wMinute;
   WORD wSecond;
   WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME;

Возвращаемые значения
Если выполнение функции завершилось удачно, то возвращается ненулевое значение, в противном случае - 0. Для получения расширенной информации об ошибке вызовите функцию GetLastError.

Примечания

Требования
смотри требования к клиенту, серверу и обозревателю Internet в таблице требований к системе.

Требования
Клиент Требует использования Windows "Longhorn", Windows XP, Windows 2000 Professional, Windows NT Workstation 4.0, Windows Me, Windows 98 или Windows 95.
Сервер Требует использования Windows Server "Longhorn", Windows Server 2003, Windows 2000 Server или Windows NT Server 4.0
Заголовки Объявлены в Winbase.h. а также включены в Windows.h.
DLL Требуется наличие Kernel32.dll.

Смотрите последующие части, для получения информации о WinAPI функциях, связанных с получением информации из сети Internet.

Cелектор для быстрого перехода на сайты, связанные с Visual FoxPro.