Какие значения у параметров функции Win32 API??? (на примере CreateFile) - C#
Формулировка задачи:
Подскажите, пожалуйста, какие значения параметров мне нужно передавать при вызове
функции API на примере CreateFile. Во всех хэлпах или примитивное MessageBox или странные параметры GENERIC_READ, FILE_SHARE_READ и т.д. Не могу разобраться с какими значениями этих параметров мне вызывать функцию???Где их взять, это константы или нет?
С меня большое СПАСИБО.
struct SECURITY_ATTRIBUTES
{
internal long nLength;
internal Int16 lpSecurityDescriptor;
internal bool bInheritHandle;
}
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern IntPtr CreateFile(
String lpFileName,
Int32 dwDesiredAccess,
Int32 dwShareMode,
SECURITY_ATTRIBUTES lpSecurityAttributes,
Int32 dwCreationDisposition,
Int32 dwFlagsAndAttributes,
IntPtr hTemplateFile);
...
txt.Text += CreateFile("C:\\out.txt", long GENERIC_READ, long FILE_SHARE_READ, SECURITY_ATTRIBUTES atr, long OPEN_EXISTING, long FILE_ATTRIBUTE_NORMAL, ref GENERIC_READ);Решение задачи: «Какие значения у параметров функции Win32 API??? (на примере CreateFile)»
textual
Листинг программы
using System.IO;
using System.Runtime.InteropServices;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("Kernel32.dll")]
static extern IntPtr CreateFile(
string filename,
[MarshalAs(UnmanagedType.U4)]FileAccess fileaccess,
[MarshalAs(UnmanagedType.U4)]FileShare fileshare,
int securityattributes,
[MarshalAs(UnmanagedType.U4)]FileMode creationdisposition,
int flags,
IntPtr template);
private void button1_Click(object sender, EventArgs e)
{
IntPtr ptr = CreateFile("text.txt", FileAccess.ReadWrite,
FileShare.ReadWrite, 0, FileMode.Create, 0, IntPtr.Zero);
MessageBox.Show("OK");
}
}
}