Freigeben über


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

Die Parameter

[in] Device

Ein Handle zu einem Framework-Geräteobjekt, das das physische Geräteobjekt des Geräts (PDO) 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 Device Handle stellt keine PDO dar.
STATUS_NO_SUCH_DEVICE
Das Geräteobjekt konnte nicht gefunden werden.
 

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

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

Bemerkungen

Weitere Informationen zu WdfPdoMarkMissingfinden Sie unter Static Enumeration.

Beispiele

Im folgenden Codebeispiel wird eine Liste untergeordneter Geräte durchsucht, um eine Liste zu finden, die einer angegebenen Seriennummer entspricht. Wenn das Beispiel das richtige untergeordnete Element findet, ruft es WdfPdoMarkMissing- auf, um anzugeben, dass auf das untergeordnete Element nicht zugegriffen werden kann. Dieses Beispiel stammt aus dem Toaster Beispielbustreiber und 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
Minimale KMDF-Version 1.0
Kopfzeile wdfpdo.h (include Wdf.h)
Bibliothek Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.)
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Siehe auch

WdfFdoLockStaticChildListForIteration

WdfFdoRetrieveNextStaticChild

WdfFdoUnlockStaticChildListFromIteration