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


Метод IWDFRemoteTarget::Reopen (wudfddi.h)

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

Метод Повторно открытьудаленный целевой объект ввода-вывода после его временного закрытия.

Синтаксис

HRESULT Reopen();

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

Повторное открытие возвращает S_OK, если операция выполнена успешно. В противном случае метод может вернуть следующее значение:

Код возврата Описание
E_OUTOFMEMORY
Попытка платформы выделить память завершилась сбоем.
 

Этот метод может возвращать одно из других значений, содержащихся в Winerror.h.

Средство проверки платформы сообщает об ошибке, если платформе не удается открыть файл.

Комментарии

Как правило, драйвер вызывает функцию обратного вызова IRemoteTargetCallbackRemoval::OnRemoteTargetRemoveCanceled , но функция повторного вызова может вызываться после возврата OnRemoteTargetRemoveCanceled .

Повторное открытие использует имя файла или интерфейса, которое драйвер ранее указал для IWDFRemoteTarget::OpenFileByName или IWDFRemoteTarget::OpenRemoteInterface. Если вы хотите изменить файл или интерфейс, используемый драйвером, драйвер может вызвать IWDFRemoteTarget::Close, а затем вызвать OpenFileByName или OpenRemoteInterface вместо повторного открытия.

Дополнительные сведения о повторном открытии и использовании целевых объектов удаленного ввода-вывода в драйверах на основе UMDF см. в статье Управление состоянием общего целевого объекта ввода-вывода в UMDF.

Примеры

В следующем примере кода показана функция обратного вызова IRemoteTargetCallbackRemoval::OnRemoteTargetRemoveCanceled , которая вызывает Reopen.

VOID 
STDMETHODCALLTYPE
CMyRemoteTarget::OnRemoteTargetRemoveCanceled(
    __in IWDFRemoteTarget* FxTarget
    )
{
 if (S_OK == (FxTarget->Reopen()))
    {
    //
    // Resume sending I/O requests to the remote target.
    //
    ...
    }
 else
    {
       FxTarget->Close();
    }
}

Требования

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

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

IWDFRemoteTarget

IWDFRemoteTarget::Close