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 o Dispositivo depende.

Retornar valor

Se a operação for bem-sucedida, o 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.

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

Comentários

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

Seu driver pode chamar WdfDeviceAddDependentUsageDeviceObject várias vezes para identificar vários dispositivos dos quais o Dispositivo depende para dar suporte a arquivos especiais.

Depois que um driver tiver chamado WdfDeviceAddDependentUsageDeviceObject, ele poderá chamar WdfDeviceRemoveDependentUsageDeviceObject para remover o dispositivo identificado por DependentDevice da lista de dispositivos dos quais o 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 (Dispositivo) depende.

status = WdfDeviceAddDependentUsageDeviceObject(
                                                device,
                                                pDeviceObject
                                                );

Requisitos

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

Confira também

EvtDeviceUsageNotification

WdfDeviceRemoveDependentUsageDeviceObject