home | login | register | DMCA | contacts | help | donate |      

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
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


my bookshelf | genres | recommend | rating of books | rating of authors | reviews | new | форум | collections | читалки | авторам | add

Системное программирование в среде Windows

Системное программирование в среде Windows
Title: Системное программирование в среде Windows
Author:
Translation:Гузикевич А.
Оценка: 4.3 of 5, readers votes - 68
Genre: computers
Annotation:Эта книга посвящена вопросам разработки приложений с использованием интерфейса прикладного программирования операционных систем компании Microsoft (Windows 9х, Windows XP, Windows 2000 и Windows Server 2003). Основное внимание уделяется базовым системным службам, включая управление файловой системой, процессами и потоками, взаимодействие между процессами, сетевое программирование и синхронизацию. Рассматривается методика переноса приложений, написанных в среде Win32, в среду Win64. Подробно описываются все аспекты системы безопасности Windows и ее практического применения. Изобилие реальных примеров, доступных также и на Web-сайте книги, существенно упрощает усвоение материала.

Книга ориентирована на разработчиков и программистов, как высокой квалификации, так и начинающих, а также будет полезна для студентов соответствующих специальностей.
Year:
Сборники: Программирование
Table of Contents:

hide Table of Contents

  1. Джонсон М. Харт Системное программирование в среде Windows
  2. Введение
  3. Потенциальная аудитория
  4. Изменения в третьем издании
  5. Как организована эта книга
  6. Сопоставление с UNIX и библиотекой С
  7. Примеры
  8. Web- сайты, посвященные этой книге
  9. Благодарности
  10. От издательства
  11. ГЛАВА 1 Знакомство с Win32 и Win64
  12. Основные возможности операционных систем
  13. Эволюция Windows
  14. Версии Windows
  15. Устаревшие предыдущие версии Windows
  16. Windows NT 5.x
  17. Другие интерфейсы программирования для Windows
  18. Поддержка процессоров
  19. Воздействие Windows на ситуацию на рынке
  20. Windows, стандарты и открытые системы
  21. Библиотеки совместимости
  22. Принципы, лежащие в основе Windows
  23. Подготовка к работе с Win64
  24. О целесообразности привлечения функций стандартной библиотеки C для обработки файлов
  25. Что требуется для работы с данной книгой
  26. Пример: простое последовательное копирование файла
  27. Копирование файлов с использованием стандартной библиотеки С
  28. Программа 1.1. срC: копирование файлов с использованием библиотеки С
  29. Копирование файлов с использованием Windows
  30. Программа 1.2. cpW: копирование файлов с использованием Windows, первая реализация 
  31. Копирование файлов с использованием вспомогательной функции Windows
  32. Программа1.3.cpCF: копирование файлов с использованием вспомогательной функции Windows
  33. Резюме
  34. В следующих главах
  35. Дополнительная литература
  36. Win32
  37. Win64
  38. Архитектура Windows NT и история ее развития
  39. UNIX
  40. Программирование с использованием Windows GUI
  41. Теория операционных систем
  42. Стандартная библиотека ANSI С
  43. Windows СЕ
  44. Эмуляция Windows в UNIX
  45. Упражнения
  46. ГЛАВА 2 Использование файловой системы и функций символьного ввода/вывода Windows
  47. Файловые системы Windows
  48. Правила именования файлов
  49. Операции открытия, чтения, записи и закрытияфайлов
  50. Создание и открытие файла
  51. Параметры
  52. Закрытие файла
  53. Чтение файла 
  54. Параметры
  55. Запись в файл 
  56. Вступление: стандартные символы и символы Unicode
  57. Альтернативные функции для работы с обобщенными строками 
  58. Обобщенная функция Main
  59. Определения функций
  60. Стратегии использования символов Unicode
  61. Стандартные устройства и консольный ввод/вывод
  62. Параметры
  63. Параметры
  64. Параметры
  65. Пример: вывод на консоль сообщений и подсказок для пользователя
  66. Программа 2.1. PrintMsg: вспомогательные функции вывода на консоль сообщений и ожидания ответа от пользователя 
  67. Пример: обработка ошибок
  68. Программа 2.2. Функция Report Error, предназначенная для вывода сообщений об ошибках при выполнении системных вызовов 
  69. Пример: копирование нескольких файлов на стандартное устройство вывода
  70. Программа 2.3. cat: вывод нескольких файлов на стандартное устройство вывода 
  71. Пример: преобразование символов из ASCII в Unicode
  72. Программа 2.4. atou: преобразование файла с выводом сообщений об ошибках 
  73. Программа 2.5. Функция Asc2Un
  74. Производительность программы
  75. Управление файлами и каталогами
  76. Управление файлами
  77. Параметры
  78. Управление каталогами
  79. Пример: печать текущего каталога
  80. Программа 2.6. pwd: печать текущего каталога 
  81. Резюме
  82. В следующих главах
  83. Дополнительная литература
  84. Организация хранения данных в Windows и NTFS
  85. Unicode
  86. UNIX
  87. Упражнения
  88. ГЛАВА 3 Усовершенствованные средства для работы с файлами и каталогами и знакомство с реестром
  89. 64- битовая файловая система
  90. Указатели файлов
  91. Параметры
  92. 64- битовая арифметика
  93. Указание позиции файла с помощью структуры OVERLAPPED
  94. Определение размера файла
  95. Установка размера файла, инициализация файла и разреженные файлы
  96. Пример: обновление записей, находящихся в произвольном месте файла
  97. Программа 3.1. RecordAccess 
  98. Атрибуты файлов и управление каталогами
  99. Параметры
  100. Полные имена файлов
  101. Другие методы определения атрибутов файлов и каталогов
  102. Именование временных файлов
  103. Параметры
  104. Точки монтирования
  105. Пример: вывод списка атрибутов файла
  106. Программа 3.2. lsw: вывод списка файлов и обход дерева каталогов 
  107. Пример: установка меток времени файла
  108. Программа 3.3. touch: установка меток даты и времени файла
  109. Стратегии обработки файлов
  110. Блокирование файлов
  111. Параметры
  112. Снятие блокировок
  113. Следствия принятой логики блокирования файлов
  114. Использование блокирования файлов
  115. Реестр
  116. Ключи реестра
  117. Управление системным реестром
  118. Управление подразделами реестра
  119. Параметры
  120. Параметры
  121. Управление значениями
  122. Пример: вывод списка разделов и содержимого реестра
  123. Программа 3.4. lsReq: вывод списка разделов и содержимого системного реестра
  124. Резюме
  125. В следующих главах
  126. Дополнительная литература
  127. Упражнения
  128. ГЛАВА 4 Обработка исключений
  129. Исключения и обработчики исключений
  130. Блоки try и except
  131. Выражения фильтров и их значения
  132. Коды исключений
  133. Резюме: последовательность обработки исключений
  134. Исключения, возникающие при выполнении операций над числами с плавающей точкой
  135. Ошибки и исключения
  136. Исключения, генерируемые приложением
  137. Параметры
  138. Пример: обработка ошибок как исключений
  139. Программа 4.1. ReportException: функция вывода сообщений об исключениях 
  140. Обработчики завершения
  141. Выход из try-блока
  142. Аварийное завершение
  143. Выполнение обработчика завершения и выход из него
  144. Сочетание блоков finally и except
  145. Глобальное и локальное разворачивание стека
  146. Обработчики завершения: завершение процессов и потоков
  147. SEH и обработка исключений в C++
  148. Пример: использование обработчиков завершения для повышения качества программ
  149. Программа 4.2. toupper: обработка файлов с восстановлением нормального состояния программы после сбоев
  150. Пример: использование функции фильтра
  151. Программа 4.3. Exception: обработка исключений и завершения выполнения
  152. Программа 4.4. Функция Filter
  153. Обработчики управляющих сигналов консоли
  154. Пример: обработчик управляющих сигналов консоли
  155. Программа 4.5. Ctrlc: программа обработки сигналов 
  156. Векторная обработка исключений
  157. Резюме
  158. В следующих главах
  159. Упражнения
  160. ГЛАВА 5 Управление памятью, отображение файлов и библиотеки DLL
  161. Архитектура системы управления памятью в Win32 и Win64
  162. Обзор методов управления памятью
  163. Куча
  164. Управление памятью кучи
  165. Параметры
  166. Параметры
  167. Флаг HEAP_NO_SERIALIZE
  168. Флаг HEAP_GENERATE_EXCEPTIONS
  169. Другие функции кучи
  170. Резюме: управление кучами
  171. Пример: сортировка файлов с использованием бинарного дерева поиска
  172. Программа 5.1. sortBT: сортировка с использованием бинарного дерева поиска 
  173. Программа 5.2. FillTree и другие функции управления деревом поиска 
  174. Отображение файлов
  175. Объекты отображения файлов
  176. Параметры
  177. Отображение файла на адресное пространство процесса
  178. Параметры
  179. Ограничения метода отображения файлов
  180. Резюме: отображение файлов
  181. Пример: последовательная обработка файлов с использованием метода отображения
  182. Программа 5.3. Asc2UnMM: преобразование файла с использованием метода отображения файлов 
  183. Пример: сортировка отображенных файлов
  184. Программа 5.4. sortFL: сортировка файла с использованием его отображения в памяти 
  185. Базовые указатели
  186. Пример: использование базовых указателей
  187. Программа 5.5. sortMM: использование базовых указателей в индексном файле 
  188. Программа 5.6. sortMM: создание индексного файла 
  189. Динамически компонуемые библиотеки
  190. Статические и динамические библиотеки
  191. Неявное связывание
  192. Экспортирование и импортирование интерфейсов
  193. Явное связывание
  194. Пример: явное связывание функци и преобразования файлов
  195. Программа 5.7. atouEL: преобразование файлов с использованием явного связывания
  196. Создание библиотек DLL на основе функции Asc2Un
  197. Точки входа библиотеки DLL
  198. Управление версиями DLL
  199. Резюме
  200. В следующих главах
  201. Дополнительная литература
  202. Отображение файлов, виртуальная память и ошибки страниц
  203. Структуры данных и алгоритмы
  204. Использование явного связывания
  205. Упражнения
  206. ГЛАВА 6 Управление процессами
  207. Процессы и потоки Windows
  208. Создание процесса
  209. Параметры
  210. Указание исполняемого модуля и командной строки
  211. Наследуемые дескрипторы
  212. Счетчики дескрипторов процессов
  213. Идентификаторы процессов
  214. Параметры
  215. Дублирование дескрипторов
  216. Завершение и прекращение выполнения процесса
  217. Ожидание завершения процесса
  218. Блоки и строки окружения
  219. Защита процесса
  220. Пример: параллельный поиск указанного текстового шаблона
  221. Программа 6.1. grepMP: выполнение параллельного поиска текстового шаблона 
  222. Процессы в многопроцессорной среде
  223. Временные характеристики процесса
  224. Пример: временные характеристики процессов
  225. Программа 6.2. timep: временные характеристики процессов 
  226. Использование команды timep
  227. Генерация управляющих событий консоли
  228. Пример: простое управление задачами
  229. Создание фоновых задач
  230. Программа 6.3. JobShell: создание, вывод списка и прекращение выполнения фоновых задач 
  231. Получение номера задачи
  232. Программа 6.4. JobMgt: создание информации о новой задаче 
  233. Вывод списка фоновых задач
  234. Программа 6.5. JobMgt: отображение списка активных задач 
  235. Поиск задачи в файле списка задач
  236. Программа 6.6. JobMgt: получение идентификатора процесса по номеру задачи 
  237. Объекты задач
  238. Резюме
  239. В следующих главах
  240. Упражнения
  241. ГЛАВА 7 Потоки и планирование выполнения
  242. Обзор потоков
  243. Перспективы и проблемы
  244. Основные сведения о потоках
  245. Управление потоками
  246. Параметры
  247. Идентификация потоков
  248. Дополнительные функции управления потоками
  249. Приостановка и возобновление выполнения потока
  250. Ожидание завершения потока
  251. Удаленные потоки
  252. Использование библиотеки С впотоках
  253. Библиотеки с многопоточной поддержкой
  254. Пример: многопоточный поиск контекста
  255. Программа 7.1. grepMT: многопоточный поиск текстового шаблона 
  256. Потоки и производительность
  257. Модель "хозяин/рабочий" и другие модели многопоточных приложений
  258. Пример: применение принципа "разделяй и властвуй" для решения задачи сортировки слиянием в SMP-системах
  259. Программа 7.2. sortMT: сортировка слиянием с использованием нескольких потоков 
  260. Производительность
  261. Локальные области хранения потоков
  262. Приоритеты процессов и потоков и планирование выполнения
  263. Предостережение относительно использования приоритетов потоков и процессов
  264. Состояния потоков
  265. Возможные ловушки и распространенные ошибки
  266. Ожидание в течение конечного интервала времени
  267. Облегченные потоки
  268. Резюме
  269. В следующих главах
  270. Дополнительная литература
  271. Windows
  272. UNIX и Pthreads
  273. Упражнения
  274. ГЛАВА 8 Синхронизация потоков
  275. Необходимость в синхронизации потоков
  276. Критические участки кода
  277. Неудачные пути решения проблемы критических участков кода
  278. Класс памяти volatile
  279. Функции взаимоблокировки
  280. Локальная и глобальная память
  281. Резюме: безопасный многопоточный код
  282. Объекты синхронизации потоков
  283. Объекты критических участковкода
  284. Настройка спин-счетчика
  285. Использование объектов CRITICAL_SECTION для защиты разделяемыхпеременных
  286. Пример: простая система "производитель/потребитель"
  287. Программа 8.1.simplePC: простая система "производитель/потребитель"
  288. Комментарии к примеру простой системы "производитель/потребитель"
  289. Мьютексы
  290. Покинутые мьютексы
  291. Мьютексы, критические участки кода и взаимоблокировки
  292. Сравнительный обзор: мьютексы и объекты CRITICAL_SECTION
  293. Синхронизация куч
  294. Семафоры
  295. Использование семафоров
  296. Ограниченность семафоров
  297. События
  298. Обзор: четыре модели использования событий
  299. Пример: система "производитель/потребитель"
  300. Программа 8.2. eventPC: система "производитель/потребитель", использующая сигналы 
  301. Обзор: объекты синхронизации Windows
  302. Ожидание сообщений и объектов
  303. Дополнительные рекомендации относительно использования мьютексов и объектов CRITICAL_SECTION
  304. Другие функции взаимоблокировки
  305. Учет факторов производительности при организации управленияпамятью
  306. Резюме
  307. В следующих главах
  308. Дополнительная литература
  309. Windows
  310. Упражнения
  311. ГЛАВА 9 Влияние синхронизации на производительность и рекомендации по ее повышению
  312. Влияние синхронизации на производительность
  313. Достоинства и недостатки объектов CRITICAL_SECTION
  314. Программа 9.1. statsMX: поддержка статистики потоков
  315. Модельная программа для исследования факторов производительности
  316. Настройка производительности SMP-систем с помощью спин-счетчиков
  317. Установка значений спин-счетчиков
  318. Дросселирование семафора для уменьшения состязательности между потоками
  319. Родство процессоров
  320. Маски родства системы, процесса и потока
  321. Определение количества процессоров в системе
  322. Гиперпотоки и счетчик процессоров
  323. Порты завершения ввода/вывода
  324. Рекомендации по повышению производительности и возможные риски
  325. Резюме
  326. В следующих главах
  327. Дополнительная литература
  328. Упражнения
  329. ГЛАВА 10 Усовершенствованные методы синхронизации потоков
  330. Модель переменных условий и свойства безопасности
  331. Совместное использование событий и мьютексов
  332. Модель переменных условий
  333. Комментарии по поводу модели переменных условий
  334. Использование модели переменных условий
  335. Разновидности модели переменных условий
  336. Пример предиката переменной условия
  337. Семафоры и модель переменных условий
  338. Использование функции SignalObjectAndWait
  339. Пример: объект порогового барьера
  340. Программа 10.1. SynchObj.h: часть 1 — объявления объекта порогового барьера 
  341. Программа 10.2. ThbObject.с: реализация объекта порогового барьера 
  342. Комментарии по поводу реализации объекта порогового барьера
  343. Объект очереди
  344. Программа 10.3. SynchObj.h: часть 2 — объявления объекта очереди 
  345. Программа 10.4. QueueObj.с: функции управления очередью 
  346. Комментарии по поводу функций управления очередью с точки зрения производительности
  347. Пример: использование очередей в многоступенчатом конвейере
  348. Программа 10.5. ThreeStage.с: многоступенчатыйконвейер 
  349. Комментарии по поводу многоступенчатого конвейера
  350. Асинхронные вызовы процедур
  351. Очередизация асинхронных вызовов процедур
  352. АРС и упущенные сигналы
  353. Состояния дежурного ожидания
  354. Программа 10.6. Модифицированная функция q_get, обеспечивающая корректное завершение выполнения потоков 
  355. Безопасная отмена выполнения потоков
  356. Создание переносимых приложений с использованием потоков Pthreads
  357. Стеки потоков и допустимые количества потоков
  358. Рекомендации по проектированию, отладке и тестированию программ
  359. Как избежать создания некорректного программного кода
  360. За рамками Windows API
  361. Резюме
  362. В следующих главах
  363. Дополнительная литература
  364. Упражнения
  365. ГЛАВА 11 Взаимодействие между процессами
  366. Анонимные каналы
  367. Пример: перенаправление ввода/вывода с использованием анонимного канала
  368. Программа 11.1. pipe: межпроцессное взаимодействие с использованием анонимных каналов 
  369. Именованные каналы
  370. Использование именованных каналов
  371. Создание именованных каналов
  372. Параметры
  373. Подключение клиентов именованных каналов
  374. Функции состояния именованных каналов
  375. Функции подключения именованных каналов
  376. Подключение клиентов и серверов именованных каналов
  377. Функции транзакций именованных каналов
  378. Определение наличия сообщений в именованных каналах
  379. Пример: клиент-серверный процессор командной строки
  380. Программа 11.2. clientNP: клиент, ориентированный на соединение посредством именованного канала 
  381. Программа 11.3. serverNP: многопоточный сервер именованного канала 
  382. Комментарии по поводу клиент-серверного процессора командной строки
  383. Почтовые ящики
  384. Использование почтовых ящиков
  385. Создание и открытие почтового ящика
  386. Параметры
  387. Создание, подключение и именование каналов и почтовых ящиков
  388. Пример: сервер, обнаруживаемый клиентами
  389. Программа 11.4. SrvrBcst: функция потока почтового клиента 
  390. Программа 11.5. LocSrvr: почтовый сервер 
  391. Комментарии по поводу многопоточных моделей
  392. Резюме
  393. В следующих главах
  394. Упражнения
  395. ГЛАВА 12 Сетевое программирование с помощью сокетов Windows
  396. Сокеты Windows
  397. Инициализация Winsock
  398. Параметры
  399. Создание сокета
  400. Параметры
  401. Серверные функции сокета
  402. Связывание сокета
  403. Параметры
  404. Перевод связанного сокета в состояние прослушивания
  405. Прием клиентских запросов соединения
  406. Параметры
  407. Отключение и закрытие сокетов
  408. Пример: подготовка и получение клиентских запросов соединения
  409. Клиентские функции сокета
  410. Установление клиентского соединения с сервером
  411. Параметры
  412. Пример: подключение клиента к серверу
  413. Отправка и получение данных
  414. Сравнение именованных каналов и сокетов
  415. Сравнение серверов именованных каналов и сокетов
  416. Сравнение клиентов именованных каналов и сокетов
  417. Пример: функция приема сообщений в случае сокета
  418. Пример: клиент на основе сокета
  419. Программа 12.1. clientSK: клиент на основе сокетов 
  420. Пример: усовершенствованный сервер на основе сокетов
  421. Программа 12.2. serverSK: сервер на основе сокета с внутрипроцессными серверами 
  422. Замечания по поводу безопасности
  423. Внутрипроцессные серверы
  424. Программа 12.3. command: пример внутри процессных серверов 
  425. Ориентированные на строки сообщения , точкив хода DLL и TLS
  426. Решение проблемы долговременных состояний в многопоточной среде
  427. Пример: безопасная многопоточная DLL для обмена сообщениями через сокет
  428. Программа 12.4. SendReceiveSKST: безопасная многопоточная DLL 
  429. Комментарии по поводу DLL и безопасной многопоточной среды
  430. Пример: альтернативная стратегия создания безопасных библиотек DLL с много поточной поддержкой
  431. Программа 12.5. SendReceiveSKHA: безопасная многопоточная DLL со структурой состояния
  432. Дейтаграммы
  433. Использование дейтаграмм для удаленного вызова процедур
  434. Сравнение Berkeley Sockets и Windows Sockets
  435. Перекрывающийся ввод/вывод с использованием Windows Sockets
  436. Windows Sockets 2
  437. Резюме
  438. В следующих главах
  439. Дополнительная литература
  440. Windows Sockets
  441. Berkeley Sockets и TCP/IP
  442. Упражнения
  443. ГЛАВА 13 Windows Services
  444. Написание программ, реализующихслужбы Windows Services: обзор
  445. Функция main()
  446. Программа 13.1. main: точка входа main службы 
  447. Функции ServiceMain()
  448. Регистрация управляющей программы службы
  449. Параметры
  450. Настройка состояния службы
  451. Параметры
  452. Структура SERVICE_STATUS
  453. Параметры
  454. Тип службы
  455. Состояние службы
  456. Воспринимаемые управляющие коды
  457. Специфический для службы код
  458. Обработчик управляющих команд службы
  459. Пример: "интерфейсная оболочка" службы
  460. Программа 13.2. SimpleService: оболочка службы 
  461. Управление службами Windows
  462. Открытие SCM
  463. Параметры
  464. Создание и удаление службы
  465. Параметры
  466. Запуск службы
  467. Управление службой
  468. Опрос состояния службы
  469. Резюме: функционирование и управление службой
  470. Пример:команднаяоболочкауправленияслужбами
  471. Программа 13.3. ServiceShell: программа управления службами
  472. Совместное использование объектов ядра приложениями и службами
  473. Регистрация событий
  474. Замечания по отладке службы
  475. Резюме
  476. В следующих главах
  477. Дополнительная литература
  478. Упражнения
  479. ГЛАВА 14 Асинхронный ввод/вывод и порты завершения
  480. Обзор методов асинхронного ввода/вывода Windows
  481. Перекрывающийся ввод/вывод
  482. Перекрывающиеся сокеты
  483. Следствия применения перекрывающегося ввода/вывода
  484. Структуры OVERLAPPED
  485. Состояния перекрывающегося ввода/вывода
  486. Отмена выполнения операций перекрывающегося ввода/вывода
  487. Пример: использование дескриптора файла в качестве объекта синхронизации
  488. Пример: преобразование файлов с использованием перекрывающегося ввода/вывода и множественной буферизации
  489. Программа 14.1. atouOV: преобразование файла с использованием перекрывающегося ввода/вывода 
  490. Расширенный ввод/вывод с использованием процедуры завершения
  491. Функции ReadFileEx, WriteFileEx и процедурызавершения
  492. Функции дежурного ожидания
  493. Выполнение процедуры завершения и возврат из функции дежурного ожидания
  494. Пример: преобразование файла с использованием расширенного ввода/вывода
  495. Программа 14.2. atouEx: преобразование файла с использованием расширенного ввода/вывода
  496. Асинхронный ввод/вывод сиспользованием нескольких потоков
  497. Таймеры ожидания
  498. Пример: использование таймера ожидания
  499. Программа 14.3. TimeBeep: генерация периодических сигналов 
  500. Комментарии к примеру с таймером ожидания
  501. Порты завершения ввода/вывода
  502. Управление портами завершения ввода/вывода
  503. Ожидание порта завершения ввода/вывода
  504. Отправка уведомления порту завершения ввода/вывода
  505. Альтернативы портам завершенияввода/вывода
  506. Пример: сервер, использующий порты завершения ввода/вывода
  507. Программа 14.4. serverCP: сервер, использующий порт завершения 
  508. Резюме
  509. В следующих главах
  510. Упражнения
  511. ГЛАВА 15 Безопасность объектов Windows
  512. Атрибуты безопасности
  513. Общий обзор средств безопасности: дескриптор безопасности
  514. Списки контроля доступа
  515. Использование объектов безопасности Windows
  516. Права объектов и доступ к объектам
  517. Инициализация дескриптора безопасности
  518. Управляющие флаги дескриптора безопасности
  519. Идентификаторы безопасности
  520. Параметры
  521. Получение имени учетной записи и имени пользователя
  522. Работа с ACL
  523. Пример: использование разрешений на доступ в стиле UNIX к файлам NTFS
  524. Программа 15.1. chmodW: изменение разрешений на доступ к файлу 
  525. Программа 15.2. lsFP: перечисление разрешений на доступ к файлу 
  526. Пример: инициализация атрибутов защиты
  527. Программа 15.3. InitUnFp: инициализация атрибутов защиты 
  528. Комментарии к программе 15.3
  529. Чтение и изменение дескрипторов безопасности
  530. Пример: чтение разрешений на доступ к файлу
  531. Программа 15.4. ReadFilePermissions: чтение атрибутов безопасности 
  532. Пример: изменение разрешений на доступ к файлу
  533. Программа 15.5. ChangeFilePermissions: изменение атрибутов безопасности 
  534. Комментарии по поводу разрешений на доступ к файлам
  535. Защита объектов ядра и коммуникаций
  536. Защита именованных каналов
  537. Программа 15.6. ServerNP: защита именованного канала 
  538. Защита объектов ядра и приватных объектов
  539. Значения маски АСЕ
  540. Пример: защита процесса и его потоков
  541. Обзор дополнительных возможностей защиты объектов
  542. Удаление элементов АСЕ
  543. Абсолютные и самоопределяющиеся относительные дескрипторы безопасности
  544. Системные списки ACL
  545. Информация, хранящаяся в маркерах доступа
  546. Управление идентификаторами SID
  547. Протокол защищенных сокетов
  548. Резюме
  549. В следующей главе
  550. Дополнительная литература
  551. Windows
  552. Строение и архитектура Windows NT
  553. Стандарт безопасности Orange Book C2
  554. Упражнения
  555. ГЛАВА 16 Программирование в среде Win64
  556. Нынешнее состояние Win64
  557. Поддержка процессоров
  558. Поддержка Windows
  559. Поддержка сторонних компаний
  560. Обзор 64-разрядной архитектуры
  561. Необходимость в 64-битовой адресации
  562. Опыт UNIX
  563. Опыт перехода от 16-разрядных версий Windows к 32-разрядным
  564. Надолго ли хватит 64 бит?
  565. Модель программирования Win64
  566. Цели
  567. Типы данных
  568. Типы данных фиксированной точности
  569. Типы данных, соответствующие точности указателей
  570. Пример: использование указательных типов данных
  571. Различия между Windows и UNIX
  572. Перенос имеющегося программного кода
  573. Изменения, связанные с использованием API
  574. Изменения, связанные с устранением неявных допущений относительно предполагаемых размеров элементов данных
  575. Пример: перенос программы sortMM (программа 5.5)
  576. Использование предупреждающих сообщений компилятора
  577. Код до подготовки к переносу
  578. Программа 16.1. sortMM.с: код до подготовки к переносув Win64, часть 1
  579. Предупреждающие сообщения компилятора
  580. Программа 16.2. sortMM: код до подготовки к переносу в Win64, часть 2
  581. Предупреждающие сообщения и необходимые изменения, касающиеся других программ
  582. Резюме
  583. Дополнительная литература
  584. Упражнения
  585. ПРИЛОЖЕНИЕ А Использование примеров программ
  586. Структура каталогов
  587. Учебные пособия (слайды)
  588. Каталог Utility
  589. Каталог Include
  590. Распределение программ по главам
  591. Глава 1
  592. Глава 2
  593. Глава 3
  594. Глава 4
  595. Глава 5
  596. Глава 6
  597. Глава 7
  598. Глава 8
  599. Глава 9
  600. Глава 10
  601. Глава 11
  602. Глава 12
  603. Глава 13
  604. Глава 14
  605. Глава 15
  606. Глава 16
  607. Листинги включаемых файлов
  608. EvryThng.h
  609. Программа А.1. Заголовочный файл EvryThng.h 
  610. Envirmnt.h
  611. Программа А.2. Включаемый файл Envirmnt.h 
  612. Support.h
  613. Программа А.З. Включаемый файл Support.h 
  614. JobMgt.h
  615. Программа А.4. Включаемый файл JobMgt.h 
  616. ClntSrvr.h
  617. Программа А.5. Включаемый файл ClntSrvr.h 
  618. Exclude.h
  619. Программа А.6. Включаемый файл Exclude.h
  620. Дополнительные служебные программы
  621. Options. с
  622. Программа А.7. Функция Options 
  623. SkipArg. с
  624. Программа А.8. Функция SkipArg 
  625. GetArgs. с
  626. Программа А.9. Функция GetArgs 
  627. ПРИЛОЖЕНИЕ Б Сопоставление функций Windows, UNIX и библиотеки С
  628. Главы 2 и 3: управление файлами и каталогами
  629. Глава 4: обработка исключений
  630. Глава 5: управление памятью, отображение файлов и библиотеки DLL
  631. Глава 6: управление процессами
  632. Глава 7: Потоки и планирование выполнения
  633. Главы 8-10: синхронизация потоков
  634. Глава 11: Взаимодействие между процессами
  635. Глава 14: асинхронный ввод/вывод
  636. Глава 15: Безопасность объектов Windows
  637. ПРИЛОЖЕНИЕ В Результаты измерения производительности
  638. Тестовые конфигурации
  639. Приложения
  640. Хост-системы
  641. Измерение производительности
  642. Копирование файлов
  643. Комментарии
  644. Преобразование символов из кодировки ASCII в Unicode
  645. Комментарии
  646. Поиск заданных комбинаций символов
  647. Комментарии
  648. Сортировка файлов
  649. Комментарии
  650. Множество потоков, соревнующихся между собой за обладание единственным ресурсом
  651. Выполнение тестов
  652. Библиография
  653. Примечания


Rate this book  


Read this book now: Системное программирование в среде Windows

Download (1001k) in formats: fb2, epub, mobi, txt, html

close [X]

close [X]




Reviews

Сама книга - неплоха. Но вот выделение кода выравнием по центру... Это точно так в книге? Или то маразм того кто переписывал? Оно конечно лечиться удалением класса у HTML разметки, но постоянно так делать - надоедает

Оценка 3 из 5 звёзд от VoidPtr 30.05.2018 00:08  

Супер!!! Супер!!!

Оценка 5 из 5 звёзд от Дмитро 06.12.2015 15:21  

ОЧЕНЬ ПОЛНОЕ ДОХОДЧИВОЕ СЕТЕВОЕ ОБЬЯСНЕНИЕ. ЭТО ОТВЕТ НА ВОПРОС КАК ПРОХОДЯТ ВИНДУС СООБЩЕНИЯ ПО СЕТЕВЫМ ФИЗИЧЕСКИМ РЕСУРСАМ. СПАСИБО.

Оценка 5 из 5 звёзд от БЛОХАСТЫЙ 26.12.2012 02:40  

Всего обзоров: 3
Средний рейтинг 4.3 из 5

Enter your name:     Rate this book

Enter your comments or review:


получать комментарии о книге Системное программирование в среде Windows на e-mail

Anti-spam code Anti spam Capcha