Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Графика -> Гончаров Д. -> "DirectX 7.0 Для программистов" -> 163

DirectX 7.0 Для программистов - Гончаров Д.

Гончаров Д., Салихо Т. DirectX 7.0 Для программистов — Спб.: Питер, 2001. — 528 c.
ISBN 5-318-00173-4
Скачать (прямая ссылка): dirext7dlyaprogrammistov2001.djvu
Предыдущая << 1 .. 157 158 159 160 161 162 < 163 > 164 165 166 167 168 169 .. 229 >> Следующая

LPSTR IpszSSPIProviderA;
}:
union {
LPWSTR IpszCAPIProvider;
LPSTR IpszCAPIProviderA;
}:
DWORD dwCAPIProviderType;
DWORD dwEncryptionAlgorithm;
} DPSECURITYDESC, FAR *LPDPSECURITYDESC;
Поле dwFlags в данный момент не используется и предназначено для будущих версий.
Поле lpszSSPIProvider (или IpszSSPIProviderA, в зависимости от типа используемого интерфейса) является указателем на строку, описывающую пакеты системного провайдера поддержки безопасности. Этот провайдер будет применяться для аутентификации пользователя. Если указан NULL, используется провайдер по умолчанию, а именно NTLM (NT LAN Manager).
Поле IpszCAPIProvider (или IpszCAPIProviderA, в зависимости от типа используемого интерфейса) является указателем на строку, описывающую пакеты провайдера CryptoAPI (программный интерфейс для шифрования). Данный провайдер будет применяться для шифрования всех сообщений. Если указан NULL, используется провайдер по умолчанию — Microsoft RSA Base Cryptographic Provider v. 1.0.
Поле dwCAPIProviderType указывает на тип провайдера, используемого для шифрования. Если указан 0, применяется значение по умолчанию — PR0V RSA FULL. Поле dwEncryptionAlgorithm указывает на тип алгоритма, используемого для шифрования сообщений. Если указан 0, применяется значение по умолчанию — CALG RC4.
Структура DPCREDENTIALS содержит всю необходимую для аутентификации информацию — имя домена, а также имя и пароль пользователя. Если вместо указателя на структуру передать NULL, аутентификация не будет произведена. Эта структура также игнорируется при создании сеанса, typedef struct {
DWORD dwSize;
DWORD dwFlags; union {
LPWSTR lpszUsername;
LPSTR lpszUsernameA;
}:
union {
LPWSTR lpszPassword;
LPSTR IpszPasswordA;
}:
union {
LPWSTR IpszDomain;
LPSTR IpszDomainA;
376
Урок 12 • Сетевые подключения
}:
} DPCREDENTIALS, FAR *LPDPCREDENTIALS;
Поле с флагами в данной версии не используется и предназначено для будущих версий.
Поля lpszUsername, IpszPassword, lpszDomain указывают на имя пользователя, его пароль и имя домена соответственно.
Закрытие сеанса
После окончания работы с сеансом его необходимо закрыть. Это делается для того, чтобы игроки получили информацию именно о закрытии соединения, а не об обрыве связи.
Для закрытия сеанса используется функция IDirectPl ау4: :Close().
HRESULT CloseC );
При вызове этой функции происходит удаление всех локальных игроков. После этого происходит информирование всех остальных игроков о происшедшем событии при помощи системных сообщений DPMSG DELETEPLAYERFROMGROUP и DPMSG_ DE STROY Р LAY Е R0RGR0U Р.
Получение информации о сеансе
Каждый сеанс характеризуется определенной информацией. Это могут быть сведения об аппаратных возможностях сеанса или такие параметры, как имя сеанса и т. п.
Получение и установка свойств сеанса
Каждый сеанс имеет набор свойств, характеризующих его. Эти свойства задаются при открытии сеанса. Любой игрок в сеансе может получить их, а объект, открывший сеанс, еще и изменить.
Получение свойств сеанса осуществляется при помощи функции IDi rectPl ау4:: GetSessionDescO.
HRESULT GetSessionDescC LPVOID lpData,
LPDWORD lpdwDataSize
):
Параметр lpData является указателем на буфер, хранящий структуру DPSESSION-DESC2, в которую будет помещена информация о сеансе.
В параметре lpdwDataSize передается указатель на переменную, в которую будет помещен размер созданного буфера.
Для изменения информации о сеансе используется функция IDi rectPl ау4:: Set SessionDescO.
HRESULT SetSessionDescC
LPDPSESSI0NDESC2 IpSessDesc,
DWORD dwFlags
);
В параметре IpSessDesc передается указатель на структуру типа DPSESSI0NDESC2, в которой хранятся новые настройки сеанса.
Параметр dwFlags указывает флаги, но в данный момент не используется.
Управление сеансом
377
Дополнительная информация о сеансе
Кроме информации о текущих настройках сеанса существует информация о его возможностях. Получить эти сведения можно при помощи функции IDi rect Play4::GetCaps().
HRESULT GetCaps(
LPDPCAPS lpDPCaps.
DWORD dwFlags
);
В параметре 1 pDPCaps передается указатель на структуру типа DPCAPS, в которую будет помещена информация о возможностях текущего сеанса.
Параметр dwFlags задает флаги и имеет одно возможное значение — DPGETCAPS_ GUARANTED, указывающее на то, что запрос о возможностях сеанса будет производиться с гарантией доставки сообщений.
Структура DPCAPS имеет следующий вид: typedef struct {
DWORD dwSize;
DWORD dwFlags;
DWORD dwMaxBufferSize;
DWORD dwMaxQueueSize;
DWORD dwMaxPlayers;
DWORD dwHundredBaud;
DWORD dwLatency;
DWORD dwMaxLocalPIayers:
DWORD dwHeaderLength;
DWORD dwTimeout;
} DPCAPS. FAR *LPDPCAPS;
Поле dwFi ags содержит флаги, характеризующие объект DirectPlay. Их описание приведено в табл. 12.6.
В поле dwMaxBufferSize указывается максимальный размер одного пакета, который может отправить текущий провайдер. Если сообщение имеет большой размер, оно разбивается на несколько пакетов, не превышающих максимальной величины.
Поле dwMaxQueueSize в настоящий момент не используется. В предыдущих версиях оно означало максимальный размер очереди сообщений.
Предыдущая << 1 .. 157 158 159 160 161 162 < 163 > 164 165 166 167 168 169 .. 229 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.