Partager via


WdfPdoMarkMissing, fonction (wdfpdo.h)

[S’applique uniquement à KMDF]

La méthode WdfPdoMarkMissing informe l’infrastructure qu’un appareil n’est plus accessible.

Syntaxe

NTSTATUS WdfPdoMarkMissing(
  [in] WDFDEVICE Device
);

Paramètres

[in] Device

Handle d’un objet d’appareil framework qui représente l’objet d’appareil physique (PDO) de l’appareil.

Valeur retournée

Si l’opération réussit, la fonction retourne STATUS_SUCCESS. Les valeurs de retour supplémentaires sont les suivantes :

Code de retour Description
STATUS_INVALID_PARAMETER
Le handle d’appareil ne représente pas un AOP.
STATUS_NO_SUCH_DEVICE
L’objet d’appareil est introuvable.
 

La méthode peut également retourner d’autres valeurs NTSTATUS.

Un bogue système case activée se produit si le pilote fournit un handle d’objet non valide.

Remarques

Pour plus d’informations sur WdfPdoMarkMissing, consultez Énumération statique.

Exemples

L’exemple de code suivant recherche une liste d’appareils enfants pour en trouver un qui correspond à un numéro de série spécifié. Lorsque l’exemple trouve l’enfant approprié, il appelle WdfPdoMarkMissing pour indiquer que l’enfant n’est pas accessible. Cet exemple a été extrait de l’exemple de pilote de bus De grille-pain et simplifié.

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

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
En-tête wdfpdo.h (inclure Wdf.h)
Bibliothèque Wdf01000.sys (consultez Gestion de version de la bibliothèque d’infrastructure.)
IRQL <= DISPATCH_LEVEL
Règles de conformité DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Voir aussi

WdfFdoLockStaticChildListForIteration

WdfFdoRetrieveNextStaticChild

WdfFdoUnlockStaticChildListFromIteration