Fungsi WdfPdoMarkMissing (wdfpdo.h)

[Berlaku untuk KMDF saja]

Metode WdfPdoMarkMissing menginformasikan kerangka kerja bahwa perangkat tidak lagi dapat diakses.

Sintaks

NTSTATUS WdfPdoMarkMissing(
  [in] WDFDEVICE Device
);

Parameter

[in] Device

Handel ke objek perangkat kerangka kerja yang mewakili objek perangkat fisik (PDO) perangkat.

Nilai kembali

Jika operasi berhasil, fungsi akan mengembalikan STATUS_SUCCESS. Nilai pengembalian tambahan meliputi:

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER
Handel Perangkat tidak mewakili PDO.
STATUS_NO_SUCH_DEVICE
Objek perangkat tidak dapat ditemukan.
 

Metode ini mungkin juga mengembalikan nilai NTSTATUS lainnya.

Pemeriksaan bug sistem terjadi jika driver memasok handel objek yang tidak valid.

Keterangan

Untuk informasi selengkapnya tentang WdfPdoMarkMissing, lihat Enumerasi Statis.

Contoh

Contoh kode berikut mencari daftar perangkat anak untuk menemukan perangkat yang cocok dengan nomor seri tertentu. Ketika contoh menemukan anak yang benar, ia memanggil WdfPdoMarkMissing untuk menunjukkan bahwa anak tidak dapat diakses. Contoh ini diambil dari sopir bus sampel Toaster dan disederhanakan.

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);

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Header wdfpdo.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.)
IRQL <= DISPATCH_LEVEL
Aturan kepatuhan DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Lihat juga

WdfFdoLockStaticChildListForIteration

WdfFdoRetrieveNextStaticChild

WdfFdoUnlockStaticChildListFromIteration