Condividi tramite


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.

Osservazioni

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 Dispositivo viene rimosso. L'ordine in cui i dispositivi specificati vengono rimossi non è definito.

Esempi

L'esempio di codice seguente aggiunge il dispositivo che pPdo identifica all'elenco di dispositivi che devono essere rimossi quando il dispositivo che dispositivo specifica viene rimosso.

status = WdfDeviceAddRemovalRelationsPhysicalDevice(
                                                    device,
                                                    pPdo
                                                    );

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
versione minima di KMDF 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)

Vedere anche

WdfDeviceClearRemovalRelationsDevices

WdfDeviceRemoveRemovalRelationsPhysicalDevice