WdfPdoMarkMissing 函式 (wdfpdo.h)
[僅適用於 KMDF]
WdfPdoMarkMissing 方法會通知架構裝置無法再存取。
語法
NTSTATUS WdfPdoMarkMissing(
[in] WDFDEVICE Device
);
參數
[in] Device
架構裝置物件的句柄,代表裝置的實體裝置物件 (PDO) 。
傳回值
如果作業成功,函式會傳回STATUS_SUCCESS。 其他傳回值包括:
傳回碼 | Description |
---|---|
|
裝置句柄不代表 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);
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最低 KMDF 版本 | 1.0 |
標頭 | wdfpdo.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (請參閱 Framework Library Versioning.) |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | DriverCreate (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf) |