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


Метод IWDFIoRequest2::Reuse (wudfddi.h)

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

Метод повторного использования повторно инициализирует объект запроса платформы, чтобы его можно было повторно использовать.

Синтаксис

void Reuse(
  [in] HRESULT hrNewStatus
);

Параметры

[in] hrNewStatus

Значение состояния HRESULT с типом, которое платформа назначает запросу.

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

Никакой

Замечания

Если драйвер на основе платформы вызывает IWDFDevice::CreateRequest для создания объектов запроса, драйвер может повторно использовать эти объекты запроса. Драйверы также могут повторно использовать объекты запроса, полученные из платформы в очередях ввода-вывода.

Драйвер может повторно использовать объект запроса после завершения исходного запроса. После вызова драйвера повторного использованиясодержимое запроса должно быть повторно инициализировано.

Если вы хотите, чтобы повторно использованный запрос был функцией обратного вызова IRequestCallbackRequestCompletion::OnCompletion обратного вызова, драйвер должен вызывать IWDFIoRequest::SetCompletionCallback после вызова повторного использования.

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

Примеры

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

void 
STDMETHODCALLTYPE
CMyRemoteDevice::OnCompletion(
    __in IWDFIoRequest*  FxRequest,
    __in IWDFIoTarget*  FxTarget,
    __in IWDFRequestCompletionParams*  Params,
    __in void*  Context
    )
{
...
    CComQIPtr<IWDFIoRequest2> fxRequest2(FxRequest);
    fxRequest2->Reuse(S_OK);
...
}

Требования

Требование Ценность
завершение поддержки Недоступно в UMDF 2.0 и более поздних версиях.
целевая платформа Настольный
минимальная версия UMDF 1.9
заголовка wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

См. также

IRequestCallbackRequestCompletion::OnCompletion

IWDFIoRequest2

IWDFIoRequest::SetCompletionCallback