Функция WdfIoTargetCloseForQueryRemove (wdfiotarget.h)

[Относится к KMDF и UMDF]

Метод WdfIoTargetCloseForQueryRemove временно закрывает указанный удаленный целевой объект ввода-вывода , так как целевое устройство вскоре может быть удалено.

Синтаксис

void WdfIoTargetCloseForQueryRemove(
  [in] WDFIOTARGET IoTarget
);

Параметры

[in] IoTarget

Дескриптор удаленного целевого объекта ввода-вывода, полученный при предыдущем вызове WdfIoTargetCreate.

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

None

Remarks

Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Драйверы, предоставляющие функцию обратного вызова EvtIoTargetQueryRemove , должны вызывать WdfIoTargetCloseForQueryRemove из этой функции обратного вызова, если драйвер определяет, что целевое устройство можно безопасно удалить.

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

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

Примеры

В следующем примере кода используется функция обратного вызова EvtIoTargetQueryRemove из примера драйвера Для Тостера . Функция останавливает таймер, обеспечивает обслуживание ранее отправленного рабочего элемента, а затем вызывает WdfIoTargetCloseForQueryRemove.

NTSTATUS
ToastMon_EvtIoTargetQueryRemove(
    WDFIOTARGET IoTarget
)
{
    PTARGET_DEVICE_INFO  targetDeviceInfo = NULL;

    //
    // Get I/O target object's context space.
    //
    targetDeviceInfo = GetTargetDeviceInfo(IoTarget);

    //
    // Stop the timer and wait for any outstanding work items
    // to finish before closing the target.
    //
    WdfTimerStop(targetDeviceInfo->TimerForPostingRequests, TRUE);
    WdfWorkItemFlush(targetDeviceInfo->WorkItemForPostingRequests);

    WdfIoTargetCloseForQueryRemove(IoTarget);

    return STATUS_SUCCESS;
}

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfiotarget.h (включая Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Правила соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

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

EvtIoTargetQueryRemove

WdfIoTargetCreate