WdfPdoMarkMissing 函数 (wdfpdo.h)
[仅适用于 KMDF]
WdfPdoMarkMissing 方法通知框架设备不再可访问。
语法
NTSTATUS WdfPdoMarkMissing(
[in] WDFDEVICE Device
);
参数
[in] Device
表示设备的物理设备对象的框架设备对象的句柄, (PDO) 。
返回值
如果操作成功,函数将返回STATUS_SUCCESS。 其他返回值包括:
返回代码 | 说明 |
---|---|
|
设备句柄不表示 PDO。 |
|
找不到设备对象。 |
该方法还可能返回其他 NTSTATUS 值。
如果驱动程序提供无效的对象句柄,则会发生系统 bug 检查。
注解
有关 WdfPdoMarkMissing 的详细信息,请参阅 静态枚举。
示例
下面的代码示例搜索子设备列表,以查找与指定序列号匹配的设备。 当示例找到正确的子级时,它会调用 WdfPdoMarkMissing 来指示该子级不可访问。 此示例取自 Toaster 示例总线驱动程序并进行了简化。
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) |
Library | Wdf01000.sys (请参阅框架库 Versioning.) |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | DriverCreate (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf) |