Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Применимо только к KMDF]
Метод WdfPdoMarkMissing сообщает платформе, что устройство больше не доступно.
Синтаксис
NTSTATUS WdfPdoMarkMissing(
[in] WDFDEVICE Device
);
Параметры
[in] Device
Дескриптор объекта устройства платформы, представляющий физический объект устройства (PDO).
Возвращаемое значение
Если операция выполнена успешно, функция возвращает STATUS_SUCCESS. К дополнительным возвращаемым значениям относятся:
Код возврата | Описание |
---|---|
|
Дескриптор устройства не представляет PDO. |
|
Не удалось найти объект устройства. |
Метод также может возвращать другие значения NTSTATUS.
Проверка системной ошибки возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Замечания
Дополнительные сведения о WdfPdoMarkMissingсм. в статических перечислений.
Примеры
В следующем примере кода выполняется поиск списка дочерних устройств, чтобы найти его, соответствующий указанному серийному номеру. При поиске правильного дочернего элемента вызывается WdfPdoMarkMissing, чтобы указать, что дочерний объект недоступен. Этот пример был взят из тостера пример водителя автобуса и упрощен.
WDFDEVICE hChild = NULL;
NTSTATUS status = STATUS_INVALID_PARAMETER;
BOOLEAN found = FALSE;
PPDO_DEVICE_DATA pdoData;
WdfFdoLockStaticChildListForIteration(Device);
while ((hChild = WdfFdoRetrieveNextStaticChild(
Device,
hChild,
WdfRetrieveAddedChildren
)) != NULL) {
pdoData = PdoGetData(hChild); // Device object context space
if (SerialNo == pdoData->SerialNo) {
status = WdfPdoMarkMissing(hChild);
if(!NT_SUCCESS(status)) {
KdPrint(("WdfPdoMarkMissing failed 0x%x\n", status));
break;
}
found = TRUE;
break;
}
}
WdfFdoUnlockStaticChildListFromIteration(Device);
Требования
Требование | Ценность |
---|---|
целевая платформа | универсальный |
минимальная версия KMDF | 1.0 |
Заголовок | wdfpdo.h (включая Wdf.h) |
Библиотека | Wdf01000.sys (см. управление версиями библиотеки Платформы).) |
IRQL | <= DISPATCH_LEVEL |
правил соответствия DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |