mql中该如何调用kernel32.dll中的CreateFileA?

 

kernel32.dll中的CreateFileA定义如下:

HANDLE CreateFile(
LPCTSTR lpFileName, // file name对象路径名
DWORD dwDesiredAccess, // access mode控制模式
DWORD dwShareMode, // share mode共享模式
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // SD 安全属性(也即销毁方式)
DWORD dwCreationDisposition, // how to create
DWORD dwFlagsAndAttributes, // file attributes
HANDLE hTemplateFile // handle to template file

);

mql中导入时候这么写:

#import "kernel32.dll"

int CreateFileA(

string fileName,

int DAccess,

int SMode,

void SAttributes,

int CDisposion,

int FAttributes,

int template

);

#import

不知道上边导入的头写得对不? LPSECURITY_ATTRIBUTES结构在mql4中是不是可以用void类型?

其中的参数:

dwDesiredAccess
指明对象的控制模式。一个应用程序可以包含读控制、写控制、读/写控制、设备查询控制。
这个参数的取值可以是下面这些的组合:
0 指定设备查询控制:程序可以不访问设备就查询到设备属性。
GENERIC_READ 指定读控制,可以从对象中读取数据(指针将可以移动)。

GENERIC_WRITE 指定写控制,可以向对象中写数据(指针将可以移动)。

GENERIC_READ在winbase.h中定义为0x80000000L,使用的时候是不是要转成整形数??这个整数好大不知道mql4中的int能使用不?

请高手帮帮忙,谢谢了