Zitat von
Luckie:
Allerdings bekomme ich von WNetAddConnection2 1219 zurück während ERROR_EXTENDED_ERROR 1208 ist. Bei 1219 liefert SysErrorMessage allerdings einen Leerstring zurück.
Nur wenn die Errornr = ERROR_EXTENDED_ERROR ist, dann kommt WNetGetLastError zum Zuge.
Falls SysErrorMessage nichts liefert, kann das daran liegen, dass der Errortext aus den Resourcen einer anderen
DLL gezogen werden müssen:
Delphi-Quellcode:
function ErrorMessageFromModule(ErrorCode: Integer; hm:HModule):
string;
var
Len: Integer;
begin
SetLength(Result, 512);
Len := FormatMessage(FORMAT_MESSAGE_FROM_HMODULE
(*or
FORMAT_MESSAGE_ARGUMENT_ARRAY*) or FORMAT_MESSAGE_IGNORE_INSERTS, Pointer(hm), ErrorCode, 0, PChar(Result),
512,
nil);
while (Len > 0)
and (Result[Len - 1]
in [#0..#32, '
.'])
do Dec(Len);
SetLength(Result, Len);
end;
errormsg := ErrorMessageFromModule(errorcode, GetModuleHandle('
mpr.dll'));