На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Creating a Mailslot



Mailslots are supported by three specialized functions: CreateMailslot, GetMailslotInfo, and SetMailslotInfo. These functions are used by the mailslot server.

The following code sample uses the CreateMailslot function to retrieve the handle of a mailslot named sample_mailslot.

BOOL FAR PASCAL Makeslot(HWND hwnd, HDC hdc)
{
LPSTR lpszSlotName = "\\\\.\\mailslot\\sample_mailslot";

/* The mailslot handle "hSlot1" is declared globally. */

hSlot1 = CreateMailslot(lpszSlotName,
0, /* no maximum message size */
MAILSLOT_WAIT_FOREVER, /* no time-out for read operations */
(LPSECURITY_ATTRIBUTES) NULL); /* no security attributes */

if (hSlot1 == INVALID_HANDLE_VALUE) {

ErrorHandler(hwnd, "CreateMailslot"); /* local error handler */
return FALSE;
}

TextOut(hdc, 10, 10, "CreateMailslot successful.", 26);
return TRUE;
}


To create a mailslot that can be inherited by child processes, an application should change the SECURITY_ATTRIBUTES structure passed as the last parameter of CreateMailslot. To do this, the application sets the bInheritHandle member of this structure to TRUE (the default setting is FALSE).


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Создание Mailslot



Mailslots Поддерживаны тремя специализированными функциями: CreateMailslot, GetMailslotInfo, и SetMailslotInfo. Эти функции использованы сервером mailslot.

Кодовый образец следующего использует функцию CreateMailslot, чтобы извлекать ручку mailslot поименованного sample_mailslot.

BOOL ЗНАЧИТЕЛЬНО PASCAL Makeslot(HWND hwnd, HDC hdc)
{
LPSTR lpszSlotName = "\\\\.\\mailslot\\sample_mailslot";

/* Ручка mailslot "hSlot1" объявлена globally. */

hSlot1 = CreateMailslot(lpszSlotName, 0, /* никакой максимальный размер сообщения */ MAILSLOT_WAIT_FOREVER, /* никакая задержка для операций чтения */ (LPSECURITY_ATTRIBUTES) НЕДЕЙСТВИТЕЛЬНЫЙ); /* никакая безопасность не приписывается */

если (hSlot1 == INVALID_HANDLE_VALUE) {

ErrorHandler(hwnd, "CreateMailslot"); /* локальный вручитель ошибки */ обратная ЛОЖЬ;
}

TextOut(hdc, 10, 10, "CreateMailslot УСПЕШНЫЙ.", 26);
возвращайтесь ВЕРНО;
}


Для того, чтобы создавать mailslot, который может быть унаследован процессами ребенка, приложение должно изменять структуру SECURITY_ATTRIBUTES пройденную как последний параметр CreateMailslot. Чтобы делать это, приложение устанавливает элемент bInheritHandle этой структуры в ИСТИНУ ( по умолчанию установка является ЛОЖЬЮ).


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz