WdfPdoMarkMissing-Funktion (wdfpdo.h)

[Gilt nur für KMDF]

Die WdfPdoMarkMissing-Methode informiert das Framework darüber, dass auf ein Gerät nicht mehr zugegriffen werden kann.

Syntax

NTSTATUS WdfPdoMarkMissing(
  [in] WDFDEVICE Device
);

Parameter

[in] Device

Ein Handle für ein Frameworkgeräteobjekt, das das physische Geräteobjekt (PDO) des Geräts darstellt.

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt die Funktion STATUS_SUCCESS zurück. Weitere Rückgabewerte sind:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Das Gerätehandle stellt keine PDO dar.
STATUS_NO_SUCH_DEVICE
Das Geräteobjekt konnte nicht gefunden werden.
 

Die -Methode gibt möglicherweise auch andere NTSTATUS-Werte zurück.

Eine Systemfehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.

Hinweise

Weitere Informationen zu WdfPdoMarkMissing finden Sie unter Statische Enumeration.

Beispiele

Im folgenden Codebeispiel wird eine Liste untergeordneter Geräte durchsucht, um ein Gerät zu finden, das einer angegebenen Seriennummer entspricht. Wenn im Beispiel das richtige untergeordnete Element gefunden wird, wird WdfPdoMarkMissing aufgerufen, um anzugeben, dass auf das untergeordnete Element nicht zugegriffen werden kann. Dieses Beispiel stammt aus dem Toaster-Beispielbustreiber und wurde vereinfacht.

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

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
Kopfzeile wdfpdo.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (siehe Versionsverwaltung der Frameworkbibliothek).)
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Weitere Informationen

WdfFdoLockStaticChildListForIteration

WdfFdoRetrieveNextStaticChild

WdfFdoUnlockStaticChildListFromIteration