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


Метод 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, которая вызывает Повторное открытие.

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 (include Wudfddi.h)
DLL WUDFx.dll

См. также

IWDFRemoteTarget

IWDFRemoteTarget::Close