Funzione WdfPdoMarkMissing (wdfpdo.h)
[Si applica solo a KMDF]
Il metodo WdfPdoMarkMissing informa il framework che un dispositivo non è più accessibile.
Sintassi
NTSTATUS WdfPdoMarkMissing(
[in] WDFDEVICE Device
);
Parametri
[in] Device
Handle per un oggetto dispositivo framework che rappresenta l'oggetto dispositivo fisico (PDO) del dispositivo.
Valore restituito
Se l'operazione ha esito positivo, la funzione restituisce STATUS_SUCCESS. I valori restituiti aggiuntivi includono:
Codice restituito | Descrizione |
---|---|
|
L'handle dispositivo non rappresenta un PDO. |
|
Impossibile trovare l'oggetto dispositivo. |
Il metodo potrebbe anche restituire altri valori NTSTATUS.
Un controllo dei bug di sistema si verifica se il driver fornisce un handle di oggetto non valido.
Commenti
Per altre informazioni su WdfPdoMarkMissing, vedere Enumerazione statica.
Esempio
Nell'esempio di codice seguente viene eseguita una ricerca in un elenco di dispositivi figlio in modo che corrisponda a un numero di serie specificato. Quando l'esempio trova l'elemento figlio corretto, chiama WdfPdoMarkMissing per indicare che l'elemento figlio non è accessibile. Questo esempio è stato tratto dal driver dell'autobus di esempio Tostapane e semplificato.
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);
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Intestazione | wdfpdo.h (include Wdf.h) |
Libreria | Wdf01000.sys (vedere Controllo delle versioni della libreria framework). |
IRQL | <= DISPATCH_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |