ВУЗ:
Составители:
80
66. Чем заполняется поле Status в блоке IRP IoStatus?
67. Каковы стандартные значения поля Status?
68. Как выглядит функция завершения IRP?
69. Что делает функция CompleteRequest?
70. Для чего в функции IoCompleteRequest передается величина приращения
приоритета?
71. К чему относится величина приращения приоритета, которая передается в
функции IoCompleteRequest?
72. Что необходимо сделать перед вызовом функции IoCompleteRequest?
73. Какие задачи
решает функция IoCompleteRequest?
74. Что такое итоговая зачистка?
75. Как IRP передается вниз по стеку ввода-вывода?
76. Какая функция обеспечивает создание стека устройств?
77. Какие обязанности возлагаются на программиста драйвера при передаче IRP
на низший уровень стека?
78. Какие поля IO_STACK_LOCATION обычно копируются при передаче IRP на
низший уровень?
79. Как IRP ставится в очередь
для последующей обработки?
80. Что представляет собой объект DEVQUEUE?
81. Для чего нужен объект DEVQUEUE?
82. Какую функция следует всегда вызывать, если диспетчерская функция
возвращает STATUS_PENDING?
83. Какая функция помещает IRP в очередь?
84. Какая функция вызывается, если устройство не занято?
85. О чем говорит возврат STATUS_PENDING?
86. Для чего обычно используется функция StartIo?
87. Какова главная
задача функции StartIo?
88. На каком уровне IRQL получает управление функция StartIo?
89. Для чего нужен обработчик прерывания ISR?
90. На каком уровне IRQL работает обработчик прерывания?
91. Что такое спин-блокировка?
92. Как реализуется спин-блокировка для многопроцессорных систем?
93. Как реализуется спин-блокировка для однопроцессорных систем?
94. Как выглядит типичный код ISR?
95. Что
содержит первый аргумент ISR?
96. Что содержит второй аргумент ISR?
97. Для чего ISR планирует отложенный вызов процедуры DPC?
98. На каком уровне IRQL получает управление функция DpcForIsr?
66. Чем заполняется поле Status в блоке IRP IoStatus? 67. Каковы стандартные значения поля Status? 68. Как выглядит функция завершения IRP? 69. Что делает функция CompleteRequest? 70. Для чего в функции IoCompleteRequest передается величина приращения приоритета? 71. К чему относится величина приращения приоритета, которая передается в функции IoCompleteRequest? 72. Что необходимо сделать перед вызовом функции IoCompleteRequest? 73. Какие задачи решает функция IoCompleteRequest? 74. Что такое итоговая зачистка? 75. Как IRP передается вниз по стеку ввода-вывода? 76. Какая функция обеспечивает создание стека устройств? 77. Какие обязанности возлагаются на программиста драйвера при передаче IRP на низший уровень стека? 78. Какие поля IO_STACK_LOCATION обычно копируются при передаче IRP на низший уровень? 79. Как IRP ставится в очередь для последующей обработки? 80. Что представляет собой объект DEVQUEUE? 81. Для чего нужен объект DEVQUEUE? 82. Какую функция следует всегда вызывать, если диспетчерская функция возвращает STATUS_PENDING? 83. Какая функция помещает IRP в очередь? 84. Какая функция вызывается, если устройство не занято? 85. О чем говорит возврат STATUS_PENDING? 86. Для чего обычно используется функция StartIo? 87. Какова главная задача функции StartIo? 88. На каком уровне IRQL получает управление функция StartIo? 89. Для чего нужен обработчик прерывания ISR? 90. На каком уровне IRQL работает обработчик прерывания? 91. Что такое спин-блокировка? 92. Как реализуется спин-блокировка для многопроцессорных систем? 93. Как реализуется спин-блокировка для однопроцессорных систем? 94. Как выглядит типичный код ISR? 95. Что содержит первый аргумент ISR? 96. Что содержит второй аргумент ISR? 97. Для чего ISR планирует отложенный вызов процедуры DPC? 98. На каком уровне IRQL получает управление функция DpcForIsr? 80