Beispiel #1
0
        public static unsafe NativeFileObject Open(string fileName, FileObjectAccessRights accessRights, FileShareMode shareMode, FileDisposition disposition, FileAttributes attributes)
        {
            SafeFileObjectHandle handle = CreateFileW(fileName, (uint)accessRights, (uint)shareMode, null, (uint)disposition, (uint)attributes, SafeFileObjectHandle.InvalidHandle);

            if (handle.IsInvalid)
            {
                throw new Win32Exception();
            }
            return(new NativeFileObject(handle));
        }
Beispiel #2
0
 internal static unsafe extern SafeFileMappingHandle CreateFileMappingA(SafeFileObjectHandle fileHandle, [Optional] SecurityAttributes *securityAttributes, UInt32 flProtect, UInt32 dwMaximumSizeHigh, UInt32 dwMaximumSizeLow, [MarshalAs(UnmanagedType.LPStr)] string name);
Beispiel #3
0
 internal static extern bool UnlockFileNative(SafeFileObjectHandle handle, UInt32 offsetLow, UInt32 offsetHigh, UInt32 sizeLow, UInt32 sizeHigh);
Beispiel #4
0
 internal static extern FileObjectType GetFileType(SafeFileObjectHandle handle);
Beispiel #5
0
 internal static extern unsafe SafeFileObjectHandle CreateFileW([MarshalAs(UnmanagedType.LPWStr)] string fileName, UInt32 desiredAccess, UInt32 shareMode, SecurityAttributes *securityAttributes, UInt32 creationDisposition, UInt32 flagsAndAttributes, SafeFileObjectHandle template);
Beispiel #6
0
 internal static extern unsafe bool DeviceIoControl(SafeFileObjectHandle handle, DeviceIoControlCode controlCode, void *inBuffer, uint inBufferLength, void *outBuffer, uint outBufferLength, out uint returnSize, void *lpOverlapped);
Beispiel #7
0
 public NativeFileObject(FileStream stream)
 {
     this.handle = new SafeFileObjectHandle(stream.SafeFileHandle);
 }
Beispiel #8
0
 internal NativeFileObject(SafeFileObjectHandle handle)
 {
     this.handle = handle;
 }