Compartilhar via


Função WdfDeviceAddDependentUsageDeviceObject (wdfdevice.h)

[Aplica-se somente ao KMDF]

O método WdfDeviceAddDependentUsageDeviceObject indica que um dispositivo especificado depende de outro dispositivo quando o dispositivo especificado é usado para armazenar arquivos especiais.

Sintaxe

NTSTATUS WdfDeviceAddDependentUsageDeviceObject(
  [in] WDFDEVICE      Device,
  [in] PDEVICE_OBJECT DependentDevice
);

Parâmetros

[in] Device

Um identificador para um objeto de dispositivo de estrutura.

[in] DependentDevice

Um ponteiro para uma estrutura de DEVICE_OBJECT fornecida pelo chamador que identifica um dispositivo do qual de dispositivos depende.

Valor de retorno

Se a operação for bem-sucedida, método WdfDeviceAddDependentUsageDeviceObject retornará STATUS_SUCCESS. Os valores de retorno adicionais incluem:

Código de retorno Descrição
STATUS_INVALID_PARAMETER
DependentDevice é NULL.
STATUS_INSUFFICIENT_RESOURCES
Falha na alocação de memória.
 

O método pode retornar outros valores NTSTATUS .

Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.

Observações

O driver pode chamar WdfDeviceAddDependentUsageDeviceObject para indicar que o dispositivo identificado por Device depende do dispositivo identificado por DependentDevice, quando Device dá suporte a arquivos especiais. Se o driver chamar WdfDeviceAddDependentUsageDeviceObject, a estrutura chamará a chamada EvtDeviceUsageNotification Funções de retorno em driversDependentDevice antes de chamar as funções de retorno de chamada EvtDeviceUsageNotification nos drivers do Device.

O driver pode chamar WdfDeviceAddDependentUsageDeviceObject várias vezes para identificar vários dispositivos que o dispositivo depende para dar suporte a arquivos especiais.

Depois que um driver tiver chamado WdfDeviceAddDependentUsageDeviceObject, ele pode chamar WdfDeviceRemoveDependentUsageDeviceObject para remover o dispositivo identificado por DependentDevice da lista de dispositivos dos quais dispositivo depende.

Para obter mais informações sobre arquivos especiais, consulte Suporte a arquivos especiais.

Exemplos

O exemplo de código a seguir adiciona um dispositivo (pDeviceObject) à lista de dispositivos dos quais outro dispositivo (Device) depende.

status = WdfDeviceAddDependentUsageDeviceObject(
                                                device,
                                                pDeviceObject
                                                );

Requisitos

Requisito Valor
da Plataforma de Destino Universal
versão mínima do KMDF 1.0
cabeçalho wdfdevice.h (inclua Wdf.h)
biblioteca Wdf01000.sys (consulte o Controle de Versão da Biblioteca da Estrutura.)
IRQL <= DISPATCH_LEVEL
regras de conformidade de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte também

EvtDeviceUsageNotification

WdfDeviceRemoveDependentUsageDeviceObject