mirror of
https://github.com/ckaczor/WorkIndicator.git
synced 2026-01-13 17:23:18 -05:00
Initial commit
This commit is contained in:
53
Delcom/FileIODeclarations.cs
Normal file
53
Delcom/FileIODeclarations.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Microsoft.Win32.SafeHandles;
|
||||
|
||||
namespace WorkIndicator.Delcom
|
||||
{
|
||||
internal sealed class FileIODeclarations
|
||||
{
|
||||
internal const Int32 FileFlagOverlapped = 0x40000000;
|
||||
|
||||
internal const Int32 FileShareRead = 1;
|
||||
internal const Int32 FileShareWrite = 2;
|
||||
|
||||
internal const UInt32 GenericRead = 0x80000000;
|
||||
internal const UInt32 GenericWrite = 0x40000000;
|
||||
|
||||
internal const Int32 InvalidHandleValue = -1;
|
||||
|
||||
internal const Int32 OpenExisting = 3;
|
||||
|
||||
internal const Int32 WaitTimeout = 0x102;
|
||||
internal const Int32 WaitObject0 = 0;
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
internal class SecurityAttributes
|
||||
{
|
||||
internal Int32 nLength;
|
||||
internal Int32 lpSecurityDescriptor;
|
||||
internal Int32 bInheritHandle;
|
||||
}
|
||||
|
||||
[DllImport("kernel32.dll", SetLastError = true)]
|
||||
internal static extern Int32 CancelIo(SafeFileHandle hFile);
|
||||
|
||||
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
internal static extern IntPtr CreateEvent(IntPtr securityAttributes, Boolean bManualReset, Boolean bInitialState, String lpName);
|
||||
|
||||
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
internal static extern SafeFileHandle CreateFile(String lpFileName, UInt32 dwDesiredAccess, Int32 dwShareMode, IntPtr lpSecurityAttributes, Int32 dwCreationDisposition, Int32 dwFlagsAndAttributes, Int32 hTemplateFile);
|
||||
|
||||
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
internal static extern Boolean GetOverlappedResult(SafeFileHandle hFile, IntPtr lpOverlapped, ref Int32 lpNumberOfBytesTransferred, Boolean bWait);
|
||||
|
||||
[DllImport("kernel32.dll", SetLastError = true)]
|
||||
internal static extern Boolean ReadFile(SafeFileHandle hFile, IntPtr lpBuffer, Int32 nNumberOfBytesToRead, ref Int32 lpNumberOfBytesRead, IntPtr lpOverlapped);
|
||||
|
||||
[DllImport("kernel32.dll", SetLastError = true)]
|
||||
internal static extern Int32 WaitForSingleObject(IntPtr hHandle, Int32 dwMilliseconds);
|
||||
|
||||
[DllImport("kernel32.dll", SetLastError = true)]
|
||||
internal static extern Boolean WriteFile(SafeFileHandle hFile, Byte[] lpBuffer, Int32 nNumberOfBytesToWrite, ref Int32 lpNumberOfBytesWritten, IntPtr lpOverlapped);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user