На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Retrieving Network Errors



When one of the WNet functions returns WN_EXTENDED_ERROR, an application can call the WNetGetLastError function to get more information about the error that occurred. This information is usually specific to the network provider.

The following example illustrates an application-defined error-handling function (NetErrorHandler) that takes three arguments: a window handle, the error code returned by one of the WNet functions, and the name of the function that produced the error. If the error code is WN_EXTENDED_ERROR, NetErrorHandler calls WNetGetLastError to get extended error information.

BOOL WINAPI NetErrorHandler(HWND hwnd,
DWORD dwErrorCode,
LPSTR lpszFunction)
{
DWORD dwWNetResult, dwLastError;
CHAR szError[256];
CHAR szCaption[256];
CHAR szDescription[256];
CHAR szProvider[256];

// The following code performs standard error-handling.

if (dwErrorCode != ERROR_EXTENDED_ERROR)
{
wsprintf((LPSTR) szError, "%s failed; \nResult is %ld",

lpszFunction, dwErrorCode);
wsprintf((LPSTR) szCaption, "%s error", lpszFunction);
MessageBox(hwnd, (LPSTR) szError, (LPSTR) szCaption, MB_OK);
return TRUE;
}

// The following code performs error-handling when the
// ERROR_EXTENDED_ERROR return value indicates that WNetGetLastError
// can retrieve additional information.

else
{
dwWNetResult = WNetGetLastError(&dwLastError,
(LPSTR) szDescription, // buffer for error description

sizeof(szDescription),
(LPSTR) szProvider, // buffer for provider name
sizeof(szProvider));

if(dwWNetResult != NO_ERROR) {
wsprintf((LPSTR) szError,
"WNetGetLastError failed; error %ld", dwWNetResult);
MessageBox(hwnd, (LPSTR) szError,
"WNetGetLastError", MB_OK);
return FALSE;
}

wsprintf((LPSTR) szError,
"%s failed with code %ld;\n%s",

(LPSTR) szProvider, dwLastError, (LPSTR) szDescription);
wsprintf((LPSTR) szCaption, "%s error", lpszFunction);
MessageBox(hwnd, (LPSTR) szError, (LPSTR) szCaption, MB_OK);
return TRUE;
}
}



Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Поиск Сетевых Ошибок



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

Следующий пример иллюстрирует определенную прикладную ошибку-обработку функции (NetErrorHandler), что берет три аргумента: ручка окна, код ошибки возвращался одной из функций WNet, и имя функции, которые производили ошибку. Если код ошибки является WN_EXTENDED_ERROR, вызовами NetErrorHandler WNetGetLastError, чтобы расширять информацию ошибки.

BOOL WINAPI NetErrorHandler(HWND hwnd, DWORD dwErrorCode, LPSTR lpszFunction)
{
DWORD dwWNetResult, dwLastError;
СИМВОЛЬНЫЙ szError[256];
СИМВОЛ szCaption[256];
СИМВОЛ szDescription[256];
СИМВОЛ szProvider[256];

// Следующее кода выполняет стандартную ошибку-обработку.

если (dwErrorCode != ERROR_EXTENDED_ERROR)
{
wsprintf szError((LPSTR), "%s терпел неудачу; \nResult - %ld",

lpszFunction, dwErrorCode);
wsprintf((LPSTR) szCaption, "%s ошибка", lpszFunction);
MessageBox szError(hwnd, (LPSTR), (LPSTR) szCaption, MB_OK);
возвращайтесь ВЕРНО;
}

// Следующее кода выполняет ошибку-обработку когда // обратная величина ERROR_EXTENDED_ERROR указывает, что WNetGetLastError // может извлечь дополнительную информацию.

еще
{
dwWNetResult = WNetGetLastError(&dwLastError, (LPSTR) szDescription, // БУФЕР для описания ошибки

sizeof(szDescription), (LPSTR) szProvider, // буфер для имени поставщика sizeof(szProvider));

если szError(dwWNetResult != NO_ERROR) { wsprintf((LPSTR), "WNetGetLastError потерпевший неудачу; ошибка %ld", dwWNetResult);
MessageBox szError(hwnd, (LPSTR), "WNetGetLastError", MB_OK);
обратная ЛОЖЬ;
}

wsprintf szError((LPSTR), "%s терпел неудачу кодом %ld;\n%s",

(LPSTR) szProvider, dwLastError, (LPSTR) szDescription);
wsprintf((LPSTR) szCaption, "%s ошибка", lpszFunction);
MessageBox szError(hwnd, (LPSTR), (LPSTR) szCaption, MB_OK);
возвращайтесь ВЕРНО;
}
}



Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz