dotnet: bug fixes

This commit is contained in:
Bill Zissimopoulos 2017-05-06 17:01:55 -07:00
parent 0bca8f851c
commit 31519ba416
3 changed files with 21 additions and 4 deletions

View File

@ -3,3 +3,4 @@ build
*.suo *.suo
*.vcproj.* *.vcproj.*
*.vcxproj.user *.vcxproj.user
*.csproj.user

View File

@ -337,8 +337,9 @@ namespace Fsp
StreamInfo.SetStreamNameBuf(StreamName); StreamInfo.SetStreamNameBuf(StreamName);
if (!Api.FspFileSystemAddStreamInfo(ref StreamInfo, Buffer, Length, if (!Api.FspFileSystemAddStreamInfo(ref StreamInfo, Buffer, Length,
out BytesTransferred)) out BytesTransferred))
break; return STATUS_SUCCESS;
} }
Api.FspFileSystemEndStreamInfo(Buffer, Length, out BytesTransferred);
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
public virtual Boolean GetStreamEntry( public virtual Boolean GetStreamEntry(
@ -383,8 +384,9 @@ namespace Fsp
DirInfo.SetFileNameBuf(FileName); DirInfo.SetFileNameBuf(FileName);
if (!Api.FspFileSystemAddDirInfo(ref DirInfo, Buffer, Length, if (!Api.FspFileSystemAddDirInfo(ref DirInfo, Buffer, Length,
out BytesTransferred)) out BytesTransferred))
break; return STATUS_SUCCESS;
} }
Api.FspFileSystemEndDirInfo(Buffer, Length, out BytesTransferred);
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
public Int32 BufferedReadDirectory( public Int32 BufferedReadDirectory(

View File

@ -121,7 +121,7 @@ namespace Fsp.Interop
Size = VolumeLabelSize; Size = VolumeLabelSize;
for (int I = 0; Size > I; I++) for (int I = 0; Size > I; I++)
P[I] = Value[I]; P[I] = Value[I];
VolumeLabelLength = (UInt16)Size; VolumeLabelLength = (UInt16)(Size * 2);
} }
} }
} }
@ -156,7 +156,7 @@ namespace Fsp.Interop
Size = NormalizedNameSize; Size = NormalizedNameSize;
for (int I = 0; Size > I; I++) for (int I = 0; Size > I; I++)
P[I] = Value[I]; P[I] = Value[I];
NormalizedNameSize = (UInt16)Size; NormalizedNameSize = (UInt16)(Size * 2);
} }
} }
@ -682,6 +682,13 @@ namespace Fsp.Interop
fixed (DirInfo *P = &DirInfo) fixed (DirInfo *P = &DirInfo)
return _FspFileSystemAddDirInfo((IntPtr)P, Buffer, Length, out PBytesTransferred); return _FspFileSystemAddDirInfo((IntPtr)P, Buffer, Length, out PBytesTransferred);
} }
internal static unsafe Boolean FspFileSystemEndDirInfo(
IntPtr Buffer,
UInt32 Length,
out UInt32 PBytesTransferred)
{
return _FspFileSystemAddDirInfo(IntPtr.Zero, Buffer, Length, out PBytesTransferred);
}
internal static unsafe Boolean FspFileSystemAddStreamInfo( internal static unsafe Boolean FspFileSystemAddStreamInfo(
ref StreamInfo StreamInfo, ref StreamInfo StreamInfo,
IntPtr Buffer, IntPtr Buffer,
@ -691,6 +698,13 @@ namespace Fsp.Interop
fixed (StreamInfo *P = &StreamInfo) fixed (StreamInfo *P = &StreamInfo)
return _FspFileSystemAddStreamInfo((IntPtr)P, Buffer, Length, out PBytesTransferred); return _FspFileSystemAddStreamInfo((IntPtr)P, Buffer, Length, out PBytesTransferred);
} }
internal static unsafe Boolean FspFileSystemEndStreamInfo(
IntPtr Buffer,
UInt32 Length,
out UInt32 PBytesTransferred)
{
return _FspFileSystemAddStreamInfo(IntPtr.Zero, Buffer, Length, out PBytesTransferred);
}
internal unsafe static Object GetUserContext( internal unsafe static Object GetUserContext(
IntPtr NativePtr) IntPtr NativePtr)