Вопрос: Порядок контроля доступа субъекта к охраняемому объекту
  сис тема управления безопасностью просматривает список DACL охра няемого объекта для поиска элемента, в котором хранится идентификатор безопасности субъекта
  если такой элемент в списке DACL не найден, то поток получает отказ в доступе к объекту
  если найденный элемент имеет тип ACCESS_ALLOWED_ACE, то система безопасности проверяет, установлены ли в этом элементе флаги прав доступа субъекта, которые соответствуют за прашиваемому потоком доступу
  если такие флаги установлены, то поток получает доступ к охраняемому объекту, в противном случае поток получает отказ в доступе к охраняемому объекту
Порядок определения потока, в контексте которого исполня ется асинхронная процедура
  вызвать функцию QueueUserAPC, которая связывает асинхронную про цедуру с потоком
  поместить асинхронную про цедуру в очередь асинхронных процедур
  в пользо вательскую очередь асинхронная процедура ставится при помощи функции QueueUserAPC
  в системную очередь асинхронная процедура ставится опе рационной системой
Порядок получения монопольного доступа к куче
  поток вызывает функцию HeapLock
  в случае успешного завершения эта функция блокирует доступ остальных потоков к куче и возвращает ненулевое значение
  если другой поток вызывает какую-нибудь функцию для доступа к этой куче, то система переведет его в состояние ожидания до тех пор, пока поток, вызвавший функцию HeapLock, не вызовет функцию HeapUnlock
  в случае успешного завершения функция HeapUnlock разблокирует кучу и возвраща ет ненулевое значение, а в случае неудачи куча остается заблокированной и функция возвращает значение FALSE
Порядок просмотра элементов кучи с помощью функции HeapWalk
  вызвать функцию HeapWalk
  установить значение поля lpData в структуре PROCESS_HEAP_ENTRY в значение NULL
  последовательно вызывать функцию HeapWalk, не изменяя значения параметров hHеар, lpEntry и со держимого полей структуры PROCESS_HEAP_ENTRY
  при вызове функции по сле просмотра последнего элемента кучи функция HeapWalk возвращает зна чение FALSE
Порядок работы с именованными каналами
  создание именованного канала сервером
  соединение сервера с экземпляром именованного канала
  соединение клиента с экземпляром именованного канала
  обмен данными по именованному каналу
Порядок работы с почтовыми ящиками
  создание сервером почтового ящика 
  соединение клиента с почтовым ящиком
  обмен данными через почтовый ящик
  закрытие почтового ящика клиентом и сервером
Порядок работы функции CallNamedPipe, используемой для передачи единственной транзакции по именованному каналу
  открыть именованный канал в режиме передачи данных сообщениями
  функция устанавливает связь с именованным каналом, используя его имя
  функция передает по именованному каналу единственное сообщение и получает сообщение в ответ
  функция разрывает связь с именованным каналом
После завершения работы с виртуальной памятью ее необходимо освобо дить, используя функцию 
 (*ответ*) VirtualFree
 VirtualAlloc
 VirtualNotUse
 VirtualDel
Последний элемент таблицы сервисов должен содержать пус тую структуру, т. е. структуру с пустыми 
 (*ответ*) указателями
Последовательность действий, выполняемая функцией ServiceMain 
  запустить обработчик управляющих команд от менеджера сервисов, вызвав функцию RegisterServiceCtrlHandler
  установить стартующее состояние сервиса SERVICE_START_PENDING по средством вызова функции SetServiceStatus
  провести локальную инициализацию сервиса
  установить рабочее состояние сервиса SERVICE_RUNNING посредством вы зова функции SetServiceStatus
Последовательность действий, которые необ ходимо выполнить для работы с отображаемым в память файлом
  открыть файл, который будет отображаться в память
  создать объект ядра, который выполняет отображение файла
  отобразить файл или его часть в адресное пространство процесса
  выполнить необходимую работу с файлом
Категория: разное
Ответы:
все верные ответы указаны по тесту
тест прошел проверку)