Funzione WdfDeviceAddRemovalRelationsPhysicalDevice (wdfdevice.h)
[Si applica solo a KMDF]
Il metodo WdfDeviceAddRemovalRelationsPhysicalDevice indica che un dispositivo specificato deve essere rimosso quando viene rimosso un altro dispositivo specificato.
Sintassi
NTSTATUS WdfDeviceAddRemovalRelationsPhysicalDevice(
[in] WDFDEVICE Device,
[in] PDEVICE_OBJECT PhysicalDevice
);
Parametri
[in] Device
Handle per un oggetto dispositivo framework.
[in] PhysicalDevice
Puntatore a una struttura di DEVICE_OBJECT fornita dal chiamante che rappresenta un oggetto dispositivo fisico (PDO).
Valore restituito
Se l'operazione ha esito positivo, WdfDeviceAddRemovalRelationsPhysicalDevice restituisce STATUS_SUCCESS. I valori restituiti aggiuntivi includono:
Codice restituito | Descrizione |
---|---|
|
PhysicalDevice è NULL. |
|
Allocazione di memoria non riuscita. |
Il metodo potrebbe restituire altri valori NTSTATUS.
Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.
Commenti
Il parametro PhysicalDevice punta a un PDO di un dispositivo i cui driver devono essere rimossi quando vengono rimossi i driver per Device . In genere, entrambi i dispositivi sono controllati dal driver chiamante. Non segnalare i dispositivi figlio dell'oggetto dispositivo specificato in Device perché quando il gestore Plug and Play rimuove un dispositivo padre, rimuove anche gli elementi figlio del dispositivo.
Il driver può chiamare WdfDeviceAddRemovalRelationsPhysicalDevice più volte per aggiungere più dispositivi all'elenco di dispositivi che devono essere rimossi quando device viene rimosso. L'ordine in cui i dispositivi specificati vengono rimossi non è definito.
Esempio
L'esempio di codice seguente aggiunge il dispositivo identificato da pPdo all'elenco di dispositivi che devono essere rimossi quando il dispositivo specificato viene rimosso.
status = WdfDeviceAddRemovalRelationsPhysicalDevice(
device,
pPdo
);
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Intestazione | wdfdevice.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) |