.


:




:

































 

 

 

 


( )




Win32 pagefile.sys . , . . , ; .

CreateFileMapping - :

HANDLE CreateFileMapping(

HANDLE hFile, //

LPSECURITY_ATTRIBUTES lpAttributes, //

DWORD flProtect, //

DWORD dwMaximumSizeHigh, // DWORD

DWORD dwMaximumSizeLow, // DWORD

LPCTSTR lpName // -

);

 

3.1

 

-:

hMapFile = CreateFileMapping(

INVALID_HANDLE_VALUE, //

NULL, //

PAGE_READWRITE, // /

0, // .

1024, //

"myFileMapping"); //

 

lpD = (D*)MapViewOfFile(hMapFile, //

FILE_MAP_ALL_ACCESS, // /

0, // DWORD

0, // DWORD

1024); //

- .

- OpenFileMapping "myFileMapping", - , -. MapViewOfFile .

hMapFile = OpenFileMapping(

FILE_MAP_ALL_ACCESS, // /

FALSE, //

"myFileMapping"); // " "

 

lpD= (D*) MapViewOfFile(hMapFile, //

FILE_MAP_ALL_ACCESS, // /

0, // DWORD

0, // DWORD

1024); //

- .

. , , (mailslot server). , (mailslot clients), , . , .

, , , .

- .

HANDLE Mail;

LPSTR MailslotName = "\\\\.\\mailslot\\$Box_1$"; //

DWORD cbRead; //

char szBuf[512]; //

Mailslot, NameMailslot, Mail

Mail = CreateMailslot(NameMailslot, 0, MAILSLOT_WAIT_FOREVER, NULL);

,

if(Mail == INVALID_HANDLE_VALUE) return;

- 1 . :

Code = GetMailslotInfo(Mail, NULL, &Msg, &Number, NULL); //

// Mailslot , :

if(Number!= 0) ReadFile(Mail, szBuf, 512, &cbRead, NULL);

- .

- , . .

HANDLE Mail;

LPSTR ServerName = "\\\\.\\mailslot\\$Box_1$";

char szBuf[512];

//

Mail = CreateFile(ServerName, GENERIC_READ | GENERIC_WRITE,

FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);

// ,

if(Mail == INVALID_HANDLE_VALUE)

{

sprintf(m_mess, " : %d \r\n", GetLastError());

SendMessage(hwndEdit, WM_SETTEXT, 0, (LPARAM)m_mess);

return;

}

//

WriteFile(Mail, szBuf, strlen(szBuf) + 1,&cbWritten, NULL);

- .

: .

( ) .

, .

. CreateNamedPipe, . .

. -, , . , . .

CreateNamedPipe . , , , .

HANDLE hNamedPipe[2]; // 2-

hNamedPipe[ j ]=CreateNamedPipe("\\\\.\\pipe\\my_pipe",

PIPE_ACCESS_DUPLEX, //

PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT,

PIPE_UNLIMITED_INSTANCES, //

512, 512, //

5000, //

NULL); //

fConnected[ j ] = ConnectNamedPipe(hNamedPipe[ j ], NULL); //false -

// ,

ReadFile(hNamedPipe[j],szBuf,512,&cbRead, NULL); //

- .

- :

hNamedPipe = CreateFile("\\\\.\\pipe\\my_pipe",

GENERIC_READ | GENERIC_WRITE, //

0, //

NULL, //

OPEN_EXISTING, //

0, //

NULL); //

:

WriteFile(hNamedPipe, szBuf, strlen(szBuf)+1, &cbWritten, NULL);

- .

Windows , "", Berkeley Software Distribution (BSD). Berkeley, , Windows. WinSock (Windows Socket) Windows API, . , .





:


: 2015-11-05; !; : 495 |


:

:

, .
==> ...

1703 - | 1576 -


© 2015-2024 lektsii.org - -

: 0.012 .