|
 Учебно-методический комплекс по учебной дисциплине «компьютерные сети»После того, как обнаружен свободный экземпляр канала, чтобыumk seti chast 2 1703После того, как обнаружен свободный экземпляр канала, чтобы установить связь с этим каналом, клиент должен вызвать функцию CreateFile, которая имеет следующий прототип: HANDLE CreateF i1е ( LPCTSTR lpFileName, // указатель на имя канала DWORD dwDesiredAccess, // чтение или запись в канал DWORD dwShareMode, // режим совместного использования LPSECURITY_ATTRIBUTES IpSecurityAttributes, // атрибуты безопасности DWORD dwCreationDisposition, // флаг открытия канала DWORD dwFlagsAndAttributes, // флаги и атрибуты HANDLE hTemplateFile // дополнительные атрибуты ); В случае успешного завершения эта функция возвращает дескриптор имени ванного канала, а в случае неудачи — значение INVALID _ HANDLE _ VALUE Здесь функция используется для открытия именованного канала, и ее параметры могут принимать следующие значения: Параметр lpFileName должен указывать на имя канала, которое быть задано в том же формате, что и в функции WaitNamedPipe. Отметим, что если клиент работает на той же машине, что и сервер, и использует для открытия именованного канала в функции СreateFile имя канала как \\.\pipe\pipe_name, то файловая система именованных каналов открывает этот именованный канал в режиме передачи данных потоком. Чтобы открыть именованный канал в режиме передачи данных сообщениями, нужно задавать имя канала в виде: \\server_name\pipe\pipe_name Параметр dwDesiredAccess может принимать одно из следующих значений: - 0 - разрешает получить атрибуты канала; - GENERIC _ READ — разрешает чтение из канала; - GENERIC _ WRITE — разрешает запись в канал. Следует отметить, что функция СreateFile завершается неудачей, если доступ к именованному каналу, заданный этими значениями, не соответствует значениям параметра dwOpenMode в функции СreateNamedPipe.
Поделитесь с Вашими друзьями: |
|
|