Partilhar via


função WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE (wdfiotarget.h)

[Aplica-se somente ao KMDF]

A função WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE inicializa a estrutura de WDF_IO_TARGET_OPEN_PARAMS de um driver para que o driver possa abrir um destino de E/S remoto especificando um objeto de dispositivo WDM (Windows Driver Model).

Sintaxe

void WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE(
  [out] PWDF_IO_TARGET_OPEN_PARAMS Params,
  [in]  PDEVICE_OBJECT             DeviceObject
);

Parâmetros

[out] Params

Um ponteiro para uma estrutura de WDF_IO_TARGET_OPEN_PARAMS alocada pelo driver que a função inicializa.

[in] DeviceObject

Um ponteiro para uma estrutura de DEVICE_OBJECT, que é usada como o valor do deviceObject membro da estrutura WDF_IO_TARGET_OPEN_PARAMS.

Valor de retorno

Nenhum

Observações

A estrutura WDF_IO_TARGET_OPEN_PARAMS é usada como entrada para o método WdfIoTargetOpen.

A função WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE inicializa os membros tamanho, Typee TargetDeviceObject membros da estrutura de WDF_IO_TARGET_OPEN_PARAMS especificada.

Normalmente, um driver define o TargetFileObject membro da estrutura de WDF_IO_TARGET_OPEN_PARAMS depois que o driver chamar WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE.

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

Exemplos

O exemplo de código a seguir cria um objeto de destino de E/S e abre o destino especificando uma estrutura de DEVICE_OBJECT. O driver de exemplo obtém a estrutura de DEVICE_OBJECT chamando NdisMGetDeviceProperty (não mostrado).

WDF_IO_TARGET_OPEN_PARAMS  openParams;
NTSTATUS  ntStatus;

ntStatus = WdfIoTargetCreate(
                             Adapter->WdfDevice,
                             WDF_NO_OBJECT_ATTRIBUTES,
                             &Adapter->IoTarget
                             );
if (!NT_SUCCESS(ntStatus)) {
    DEBUGP(MP_ERROR, ("WdfIoTargetCreate failed 0x%x\n", ntStatus));
    break;
}

WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE(
                                               &openParams,
                                               Adapter->NextDeviceObject
                                               );

ntStatus = WdfIoTargetOpen(Adapter->IoTarget,
                           &openParams);
if (!NT_SUCCESS(ntStatus)) {
    DEBUGP(MP_ERROR, ("WdfIoTargetOpen failed 0x%x\n", ntStatus));
    break;
}

Requisitos

Requisito Valor
da Plataforma de Destino Universal
versão mínima do KMDF 1.0
cabeçalho wdfiotarget.h (inclua Wdf.h)
IRQL Qualquer nível

Consulte também

WDF_IO_TARGET_OPEN_PARAMS

WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME

WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME

WdfIoTargetOpen