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;
}
}
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database