Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В версиях структуры 1.11 и более поздних драйверы UMDF могут задавать и извлекать идентификаторы действий. Идентификаторы действий позволяют связать несколько запросов ввода-вывода, чтобы отслеживать их с помощью трассировки событий для Windows (ETW). В этом разделе описываются некоторые возможные сценарии, в которых драйвер может использовать идентификаторы действий.
В функции обратного вызова ввода-вывода драйвера можно создать несколько запросов на ввод-вывод платформы в результате входящего запроса. Драйвер получает идентификатор действия из исходного запроса и задает его в новых запросах путем вызова WdfRequestRetrieveActivityId и WdfRequestSetActivityId.
Пример кода см. в разделе WdfRequestRetrieveActivityId.
Драйвер может создать новый запрос ввода-вывода в потоке, отличном от потока отправки ввода-вывода или рабочего элемента. Можно задать идентификатор действия для такого запроса из любого соответствующего запроса или с помощью идентификатора действия, связанного с потоком отправки ввода-вывода. Драйвер может получить идентификатор действия, связанный с текущим потоком, вызвав EventActivityIdControl, а затем вызовив WdfRequestSetActivityId, чтобы задать идентификатор для каждого нового запроса ввода-вывода.
Если драйвер вызывает API Win32 для отправки запроса ввода-вывода, он может получить идентификатор действия из исходного запроса и распространить его в поток. Затем диспетчер операций ввода-вывода применяет идентификатор действия, связанный с потоком, к любым пакетам запросов ввода-вывода (IRPs), которые он создает в ответ на запрос.