Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Когда диспетчер ввода-вывода отправляет запрос ввода-вывода в драйвер на основе платформы, платформа перехватывает запрос и создает объект запроса платформы. Платформа "владеет" объектом запроса, так как только платформа может получить доступ к запросу и выполнять операции с объектом.
После создания объекта запроса платформа помещает объект в одну из очередей ввода-вывода драйвера. Платформа продолжает принадлежать объекту запроса, пока он не удаляет запрос из очереди и передает его драйверу.
После того как драйвер получает объект запроса, он владеет запросом. Драйвер может получить доступ к объекту запроса через дескриптор и выполнить операции с объектом. Хотя драйвер владеет объектом запроса, он может повторно запросить, завершить, отменить или перенаправить запрос, после чего он больше не владеет объектом запроса и не может получить к нему доступ.
Так как владение объектом запроса передается между драйвером и платформой, значение дескриптора объекта не изменяется. Например, если драйвер получает запрос из очереди ввода-вывода, переносит его в другую очередь, а затем снова получает этот запрос, значение дескриптора не изменится. Аналогичным образом, если драйвер перенаправит запрос в целевой объект ввода-вывода и позже получает уведомление о том, что целевой объект ввода-вывода завершил запрос, функция обратного вызова уведомления драйвера получает то же значение дескриптора, которое драйвер предоставил целевому объекту ввода-вывода.