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
STATUS_INVALID_PARAMETER
PhysicalDevice è NULL.
STATUS_INSUFFICIENT_RESOURCES
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)

Vedi anche

WdfDeviceClearRemovalRelationsDevices

WdfDeviceRemoveRemovalRelationsPhysicalDevice