Função WdfIoTargetCreate (wdfiotarget.h)

[Aplica-se a KMDF e UMDF]

O método WdfIoTargetCreate cria um destino de E/S remoto para um dispositivo especificado.

Sintaxe

NTSTATUS WdfIoTargetCreate(
  [in]           WDFDEVICE              Device,
  [in, optional] PWDF_OBJECT_ATTRIBUTES IoTargetAttributes,
  [out]          WDFIOTARGET            *IoTarget
);

Parâmetros

[in] Device

Um identificador para um objeto de dispositivo de estrutura.

[in, optional] IoTargetAttributes

Um ponteiro para uma estrutura de WDF_OBJECT_ATTRIBUTES alocada pelo chamador que especifica atributos de objeto para o objeto de destino de E/S. Esse parâmetro é opcional e pode ser WDF_NO_OBJECT_ATTRIBUTES.

[out] IoTarget

Um ponteiro para um local que recebe um identificador para um objeto de destino de E/S.

Retornar valor

WdfIoTargetCreate retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, esse método poderá retornar um dos seguintes valores:

Código de retorno Descrição
STATUS_INVALID_PARAMETER
Um parâmetro inválido foi detectado.
STATUS_INSUFFICIENT_RESOURCES
Não havia memória suficiente para criar um novo objeto de destino de E/S.
STATUS_INVALID_DEVICE_REQUEST
O membro ParentObject da estrutura WDF_OBJECT_ATTRIBUTES especificada por IoTargetAttributes não especificou o objeto de dispositivo de estrutura especificado por Device ou um objeto cuja cadeia de pais leva a esse objeto.
 

Para obter uma lista de outros valores retornados que WdfIoTargetCreate pode retornar, consulte Erros de criação de objeto da estrutura.

Esse método também pode retornar outros valores NTSTATUS.

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

Comentários

Depois que um driver chama WdfIoTargetCreate, o driver deve chamar WdfIoTargetOpen antes de poder enviar solicitações para o destino de E/S remoto.

Se o driver especificar um objeto pai no membro ParentObject da estrutura WDF_OBJECT_ATTRIBUTES, o objeto pai poderá ser um objeto de dispositivo de estrutura ou qualquer objeto cuja cadeia de pais leva a um objeto de dispositivo de estrutura. A estrutura excluirá o objeto de destino de E/S quando ele (ou o driver) excluir o objeto do dispositivo.

Para obter mais informações sobre WdfIoTargetCreate, consulte Inicializando um destino de E/S geral.

Se o driver fornecer funções de retorno de chamada EvtCleanupCallback ou EvtDestroyCallback para o objeto de destino de E/S, observe que a estrutura chama essas funções de retorno de chamada em IRQL = PASSIVE_LEVEL.

Para obter mais informações sobre destinos de E/S, consulte Usando destinos de E/S.

Exemplos

Para obter um exemplo de código que usa WdfIoTargetCreate, consulte WdfIoTargetOpen.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfiotarget.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Regras de conformidade de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Confira também

WDF_OBJECT_ATTRIBUTES

WdfIoTargetOpen