|
@@ -224,7 +224,13 @@ begin
|
|
Mode:= ARequest.ReadDWord;
|
|
Mode:= ARequest.ReadDWord;
|
|
DCDebug('FileOpen ', FileName);
|
|
DCDebug('FileOpen ', FileName);
|
|
Handle:= mbFileOpen(FileName, Mode);
|
|
Handle:= mbFileOpen(FileName, Mode);
|
|
- ATransport.WriteHandle(Handle);
|
|
|
|
|
|
+ if (Handle <> feInvalidHandle) then
|
|
|
|
+ LastError:= 0
|
|
|
|
+ else begin
|
|
|
|
+ LastError:= GetLastOSError;
|
|
|
|
+ end;
|
|
|
|
+ ATransport.WriteBuffer(LastError, SizeOf(LastError));
|
|
|
|
+ if (LastError = 0) then ATransport.WriteHandle(Handle);
|
|
end;
|
|
end;
|
|
RPC_FileCreate:
|
|
RPC_FileCreate:
|
|
begin
|
|
begin
|
|
@@ -232,7 +238,13 @@ begin
|
|
Mode:= ARequest.ReadDWord;
|
|
Mode:= ARequest.ReadDWord;
|
|
DCDebug('FileCreate ', FileName);
|
|
DCDebug('FileCreate ', FileName);
|
|
Handle:= mbFileCreate(FileName, Mode);
|
|
Handle:= mbFileCreate(FileName, Mode);
|
|
- ATransport.WriteHandle(Handle);
|
|
|
|
|
|
+ if (Handle <> feInvalidHandle) then
|
|
|
|
+ LastError:= 0
|
|
|
|
+ else begin
|
|
|
|
+ LastError:= GetLastOSError;
|
|
|
|
+ end;
|
|
|
|
+ ATransport.WriteBuffer(LastError, SizeOf(LastError));
|
|
|
|
+ if (LastError = 0) then ATransport.WriteHandle(Handle);
|
|
end;
|
|
end;
|
|
RPC_RenameFile:
|
|
RPC_RenameFile:
|
|
begin
|
|
begin
|