Поделиться через


Метод IWDFIoRequest3::RetrieveActivityId (wudfddi.h)

[Предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с помощью UMDF.]

Метод RetrieveActivityId извлекает идентификатор текущего действия, связанный с запросом ввода-вывода.

Синтаксис

HRESULT RetrieveActivityId(
  [out] LPGUID ActivityId
);

Параметры

[out] ActivityId

Указатель на расположение для хранения полученного GUID.

Возвращаемое значение

RetrieveActivityId возвращает S_OK, если вызов выполнен успешно. В противном случае этот метод может вернуть одно из следующих значений.

Код возврата Описание
HRESULT_FROM_WIN32 (ERROR_NOT_FOUND)
Идентификатор действия не связан с запросом.

Комментарии

Запросы, отраженные в режиме ядра, имеют идентификатор действия, доступный только в том случае, если включен поставщик трассировки ядра или если драйвер UMDF с именем IWDFIoRequest3::SetActivityId после получения запроса. Дополнительные сведения о трассировке событий Windows (ETW) см. в разделе Трассировка событий.

Запросы, инициированные драйвером UMDF, имеют идентификатор действия, доступный только в том случае, если драйвер UMDF ранее назывался IWDFIoRequest3::SetActivityId.

Платформа не очищает идентификатор действия запроса, когда драйвер вызывает IWdfIoRequest2::Reuse.

Дополнительные сведения об идентификаторах действий см. в разделе Использование идентификаторов действий.

Эквивалентом UMDF 2 этого метода является WdfRequestRetrieveActivityId.

Примеры

В следующем примере кода показано, как драйвер может получить идентификатор действия из одного запроса, а затем использовать его для задания идентификатора действия для другого запроса.

hrQI = pWdfRequest->QueryInterface(IID_PPV_ARGS(&pOriginalRequest3));
ASSERT(SUCCEEDED(hrQI));

hrQI = pNewRequest->QueryInterface(IID_PPV_ARGS(&pNewRequest3));
ASSERT(SUCCEEDED(hrQI));

//
// Obtain activity id from original request and set in the new one
//

pOriginalRequest3->RetrieveActivityId(&activityId);
pNewRequest3->SetActivityId(&activityId);

pOriginalRequest3->Release();
pNewRequest3->Release();


Требования

Требование Значение
Минимальная версия клиента Windows 8
Дата окончания поддержки Недоступно в UMDF 2.0 и более поздних версиях.
Целевая платформа Персональный компьютер
Минимальная версия UMDF 1.11
Верхняя часть wudfddi.h (включая Wudfddi.h)
DLL WUDFx.dll

См. также раздел

IWDFIoRequest3

IWDFIoRequest3::SetActivityId