Функция WdfDeviceInitRegisterPnpStateChangeCallback (wdfdevice.h)
[Применяется только к KMDF]
Примечание
Этот метод предназначен только для внутреннего использования майкрософт.
Метод WdfDeviceInitRegisterPnpStateChangeCallback регистрирует предоставленную драйвером функцию обратного вызова событий, которую платформа вызывает при изменении состояния конечного автомата Plug and Play устройства.
Синтаксис
NTSTATUS WdfDeviceInitRegisterPnpStateChangeCallback(
[in] PWDFDEVICE_INIT DeviceInit,
[in] WDF_DEVICE_PNP_STATE PnpState,
[in] PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION EvtDevicePnpStateChange,
[in] ULONG CallbackTypes
);
Параметры
[in] DeviceInit
Указатель на структуру WDFDEVICE_INIT , предоставленный вызывающим.
[in] PnpState
Перечислитель WDF_DEVICE_PNP_STATE, определяющий состояние компьютера Plug and Play, для которого драйвер запрашивает уведомление.
[in] EvtDevicePnpStateChange
Предоставленный вызывающим элементом указатель на функцию обратного вызова события EvtDevicePnpStateChange драйвера.
[in] CallbackTypes
Комбинация WDF_STATE_NOTIFICATION_TYPE типизированных перечислителей ORed.
Возвращаемое значение
Если операция выполнена успешно, WdfDeviceInitRegisterPnpStateChangeCallback возвращает STATUS_SUCCESS. К дополнительным возвращаемым значениям относятся:
Код возврата | Описание |
---|---|
|
Обнаружен недопустимый параметр. |
|
Недостаточно памяти для завершения операции. |
Комментарии
Если драйвер вызывает WdfDeviceInitRegisterPnpStateChangeCallback, он должен сделать это, прежде чем вызывать WdfDeviceCreate.
Дополнительные сведения о WdfDeviceInitRegisterPnpStateChangeCallback см. в разделе Конечные машины в платформе.
Примеры
В следующем примере кода регистрируется функция обратного вызова события, которая будет вызываться платформой при изменении состояния Plug and Play конечного автомата устройства.
status = WdfDeviceInitRegisterPnpStateChangeCallback(
DeviceInit,
WdfDevStatePnpEjectFailed,
MyDrvPnPStateChangeCallback,
StateNotificationAllStates
);
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Верхняя часть | wdfdevice.h (включая Wdf.h) |
Библиотека | Wdf01000.sys (см. раздел Управление версиями библиотеки платформы). |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf) |