WdfPdoMarkMissing 函式 (wdfpdo.h)

[僅適用於 KMDF]

WdfPdoMarkMissing 方法會通知架構裝置無法再存取。

語法

NTSTATUS WdfPdoMarkMissing(
  [in] WDFDEVICE Device
);

參數

[in] Device

架構裝置物件的句柄,代表裝置的實體裝置物件 (PDO) 。

傳回值

如果作業成功,函式會傳回STATUS_SUCCESS。 其他傳回值包括:

傳回碼 Description
STATUS_INVALID_PARAMETER
裝置句柄不代表 PDO。
STATUS_NO_SUCH_DEVICE
找不到裝置物件。
 

方法也可能傳回其他 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)

另請參閱

WdfFdoLockStaticChildListForIteration

WdfFdoRetrieveNextStaticChild

WdfFdoUnlockStaticChildListFromIteration