Use pointers instead of references.

To avoid copying structs needlessly.
This commit is contained in:
Felix A. Croes 2019-05-14 11:38:55 +02:00
parent 290896b010
commit 1d619e0874

View File

@ -725,7 +725,7 @@ namespace Fsp.Interop
IntPtr FileSystem, IntPtr FileSystem,
ref FspFsctlTransactRsp Response); ref FspFsctlTransactRsp Response);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate ref FspFileSystemOperationContext FspFileSystemGetOperationContext(); internal unsafe delegate FspFileSystemOperationContext *FspFileSystemGetOperationContext();
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate IntPtr FspFileSystemMountPointF( internal delegate IntPtr FspFileSystemMountPointF(
IntPtr FileSystem); IntPtr FileSystem);
@ -961,9 +961,7 @@ namespace Fsp.Interop
} }
internal static unsafe UInt64 FspFileSystemGetOperationRequestHint() internal static unsafe UInt64 FspFileSystemGetOperationRequestHint()
{ {
FspFileSystemOperationContext Context = FspFileSystemGetOperationContext(); return FspFileSystemGetOperationContext()->Request->Hint;
FspFsctlTransactReq Request = *Context.Request;
return Request.Hint;
} }
internal static unsafe Boolean FspFileSystemAddDirInfo( internal static unsafe Boolean FspFileSystemAddDirInfo(
ref DirInfo DirInfo, ref DirInfo DirInfo,