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


функция обратного вызова EVT_WDF_DEVICE_SET_LOCK (wdfpdo.h)

[Применяется только к KMDF]

Функция обратного вызова события EvtDeviceSetLock драйвера блокирует указанное устройство, чтобы его нельзя было извлечь, или разблокирует устройство, чтобы его можно было извлечь.

Синтаксис

EVT_WDF_DEVICE_SET_LOCK EvtWdfDeviceSetLock;

NTSTATUS EvtWdfDeviceSetLock(
  [in] WDFDEVICE Device,
  [in] BOOLEAN IsLocked
)
{...}

Параметры

[in] Device

Дескриптор объекта устройства платформы.

[in] IsLocked

Логическое значение, указывающее, должен ли драйвер блокировать или разблокировать устройство. Если задано значение TRUE, драйвер должен заблокировать устройство, чтобы его нельзя было извлечь. Если значение РАВНО FALSE, драйвер должен разблокировать устройство, чтобы его можно было извлечь.

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

Если драйвер успешно блокирует или разблокирует устройство, он должен вернуть STATUS_SUCCESS. В противном случае он должен вернуть значение NTSTATUS, которое NT_SUCCESS принимает значение FALSE.

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

Комментарии

Драйверы шины на основе платформы могут предоставлять функцию обратного вызова EvtDeviceSetLock . Чтобы зарегистрировать эту функцию обратного вызова, драйверы шины вызывают WdfPdoInitSetEventCallbacks.

Платформа вызывает функцию обратного вызова EvtDeviceSetLock драйвера, когда диспетчер PnP запрашивает у водителя автобуса блокировку или разблокировку одного из перечисленных дочерних устройств.

Отсутствие реализации функции обратного вызова EvtDeviceSetLock для устройства эквивалентно возврату значения NTSTATUS, которое оценивается как FALSE.

Дополнительные сведения о возвращаемых значениях см. в разделе Поддержка извлекаемых устройств.

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Верхняя часть wdfpdo.h (включая Wdf.h)
IRQL PASSIVE_LEVEL

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

EvtDeviceEject