Метод 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, которое платформа назначает запросу.
Возвращаемое значение
None
Remarks
Если драйвер на основе платформы вызывает IWDFDevice::CreateRequest для создания объектов запроса, драйвер может повторно использовать эти объекты запросов. Драйверы также могут повторно использовать объекты запросов, которые они получают от платформы в своих очередях ввода-вывода.
Драйвер может повторно использовать объект запроса после завершения исходного запроса. После того как драйвер вызовет повторное использование, содержимое запроса должно быть повторно инициализировано.
Если вы хотите, чтобы повторно используемый запрос должен иметь функцию обратного вызова IRequestCallbackRequestCompletion::OnCompletion , драйвер должен вызвать IWDFIoRequest::SetCompletionCallback после вызова reuse.
Дополнительные сведения о повторном использовании см. в разделе Повторное использование объектов запросов платформы.
Примеры
В следующем примере кода показано, как функция обратного вызова 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 (включая Wudfddi.h) |
DLL | WUDFx.dll |