internal static class Win32SafeNativeMethods : object
Native Methods - take a look on www.pinvoke.net
internal static Boolean ConvertStringSidToSid(String sidString, IntPtr& sidHandle)
internal static Boolean CopyFile(String fullNameSource, String fullNameTarget, Boolean failOnExists)
CreateDirectory(String fullName, IntPtr securityAttributes)
Create directory
internal static Boolean CreateDirectory(String fullName, IntPtr securityAttributes)
CreateFile(String fullName, FileAccess dwDesiredAccess, FileShare dwShareMode, IntPtr lpSecurityAttributes, FileMode dwCreationDisposition, FileAttributes dwFlagsAndAttributes, IntPtr hTemplateFile)
Creates a file / directory or opens an handle for an existing file.
Otherwise it you'll get an invalid handle
internal static SafeFileHandle CreateFile(String fullName, FileAccess dwDesiredAccess, FileShare dwShareMode, IntPtr lpSecurityAttributes, FileMode dwCreationDisposition, FileAttributes dwFlagsAndAttributes, IntPtr hTemplateFile)
CreateFileForAppend(String fullName, UInt32 dwDesiredAccess, FileShare dwShareMode, IntPtr lpSecurityAttributes, FileMode dwCreationDisposition, FileAttributes dwFlagsAndAttributes, IntPtr hTemplateFile)
Open handle for appending
FileMode has to be 0x0004 for internal appending mode
internal static SafeFileHandle CreateFileForAppend(String fullName, UInt32 dwDesiredAccess, FileShare dwShareMode, IntPtr lpSecurityAttributes, FileMode dwCreationDisposition, FileAttributes dwFlagsAndAttributes, IntPtr hTemplateFile)
DeleteFile(String fullName)
Removes a file.
internal static Boolean DeleteFile(String fullName)
FindClose(SafeHandle fileHandle)
Close Hnalde
internal static Boolean FindClose(SafeHandle fileHandle)
FindFirstFile(String fullName, Win32FindData win32FindData)
Finds first file of given path
internal static Win32FileHandle FindFirstFile(String fullName, Win32FindData win32FindData)
FindNextFile(Win32FileHandle findFileHandle, Win32FindData win32FindData)
Finds next file of current handle
internal static Boolean FindNextFile(Win32FileHandle findFileHandle, Win32FindData win32FindData)
GetFileAttributes(String fullName)
Gets Attributes of given path
internal static UInt32 GetFileAttributes(String fullName)
internal static UInt32 GetNamedSecurityInfo(String unicodePath, Win32SecurityObjectType securityObjectType, Win32FileSystemEntrySecurityInformation securityInfo, IntPtr& sidOwner, IntPtr& sidGroup, IntPtr& dacl, IntPtr& sacl, IntPtr& securityDescriptor)
internal static UInt32 GetSecurityDescriptorLength(IntPtr byteArray)
LocalFree(IntPtr handle)
Free unmanaged memory
internal static IntPtr LocalFree(IntPtr handle)
internal static UInt32 LookupAccountSid(String systemName, IntPtr sidHandle, StringBuilder name, Int32& cchName, StringBuilder domainName, Int32& cchDomainName, Int32& peUse)
MoveFile(String fullNameSource, String fullNameTarget)
Moves a directory
internal static Boolean MoveFile(String fullNameSource, String fullNameTarget)
OpenReadWriteFileSystemEntryHandle(String fullName, UInt32 dwAccess, FileShare dwShareMode, IntPtr lpSecurityAttributes, FileMode dwMode, UInt32 dwAttribute, IntPtr hTemplateFile)
Use this to open an handle for an existing file or directory to change for example the timestamps
internal static SafeFileHandle OpenReadWriteFileSystemEntryHandle(String fullName, UInt32 dwAccess, FileShare dwShareMode, IntPtr lpSecurityAttributes, FileMode dwMode, UInt32 dwAttribute, IntPtr hTemplateFile)
RemoveDirectory(String fullName)
Removes a file.
internal static Boolean RemoveDirectory(String fullName)
SetAllFileTimes(SafeFileHandle fileHandle, Int64& lpCreationTime, Int64& lpLastAccessTime, Int64& lpLastWriteTime)
Sets the last all times for files or directories
internal static Int32 SetAllFileTimes(SafeFileHandle fileHandle, Int64& lpCreationTime, Int64& lpLastAccessTime, Int64& lpLastWriteTime)
SetCreationFileTime(SafeFileHandle hFile, Int64& lpCreationTime, IntPtr lpLastAccessTime, IntPtr lpLastWriteTime)
Sets the last creation time for files or directories
internal static Boolean SetCreationFileTime(SafeFileHandle hFile, Int64& lpCreationTime, IntPtr lpLastAccessTime, IntPtr lpLastWriteTime)
SetFileAttributes(String fullName, UInt32 fileAttributes)
Set File Attributes
internal static Boolean SetFileAttributes(String fullName, UInt32 fileAttributes)
SetLastAccessFileTime(SafeFileHandle hFile, IntPtr lpCreationTime, Int64& lpLastAccessTime, IntPtr lpLastWriteTime)
Sets the last acess time for files or directories
internal static Boolean SetLastAccessFileTime(SafeFileHandle hFile, IntPtr lpCreationTime, Int64& lpLastAccessTime, IntPtr lpLastWriteTime)
SetLastWriteFileTime(SafeFileHandle hFile, IntPtr lpCreationTime, IntPtr lpLastAccessTime, Int64& lpLastWriteTime)
Sets the last write time for files or directories
internal static Boolean SetLastWriteFileTime(SafeFileHandle hFile, IntPtr lpCreationTime, IntPtr lpLastAccessTime, Int64& lpLastWriteTime)
internal static UInt32 SetNamedSecurityInfo(String unicodePath, Win32SecurityObjectType objectType, Win32FileSystemEntrySecurityInformation securityInfo, IntPtr sidOwner, IntPtr sidGroup, IntPtr dacl, IntPtr sacl)