#define IOCTL_EVENT_MSG CTL_CODE(FILE_DEVICE_UNKNOWN, 0x933, METHOD_BUFFERED , FILE_ANY_ACCESS)
HANDLE hcomm;
hcomm=CreateFile("\\\\.\\Driver001",GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,NULL);
if(hcomm!=INVALID_HANDLE_VALUE)
{
char m_dwOptions[6]={'\0'};
DWORD bytesWrite;
m_dwOptions[0]='a';
m_dwOptions[1]='b';
m_dwOptions[2]='c';
m_dwOptions[3]='d';
m_dwOptions[4]='e';
if(DeviceIoControl(hcomm ,IOCTL_EVENT_MSG,( char * )m_dwOptions,6,( char * )m_dwOptions, 5, &bytesWrite, NULL ))
{
CloseHandle(hcomm);
return 1;
}谢谢各位了!!!!
HANDLE hcomm;
hcomm=CreateFile("\\\\.\\Driver001",GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,NULL);
if(hcomm!=INVALID_HANDLE_VALUE)
{
char m_dwOptions[6]={'\0'};
DWORD bytesWrite;
m_dwOptions[0]='a';
m_dwOptions[1]='b';
m_dwOptions[2]='c';
m_dwOptions[3]='d';
m_dwOptions[4]='e';
if(DeviceIoControl(hcomm ,IOCTL_EVENT_MSG,( char * )m_dwOptions,6,( char * )m_dwOptions, 5, &bytesWrite, NULL ))
{
CloseHandle(hcomm);
return 1;
}谢谢各位了!!!!
m_dwOptions: array[0..6] of char;
bytesWrite: DWORD;
begin
hcomm :=CreateFile('\\.\Driver001',GENERIC_READ or GENERIC_WRITE,0, nil,
OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED, 0);
if not (hcomm =INVALID_HANDLE_VALUE) then
begin
m_dwOptions[6] := #0;
m_dwOptions[0] :='a';
m_dwOptions[1] :='b';
m_dwOptions[2] :='c';
m_dwOptions[3] :='d';
m_dwOptions[4] :='e';
//IOCTL_EVENT_MSG
if(DeviceIoControl(hcomm , 0, @m_dwOptions[0], 6, @m_dwOptions[0], 5, bytesWrite, nil )) then
begin
CloseHandle(hcomm);
result := 1;
//return 1;
end;
end;