Compartilhar via


Função SerCxDeviceInitConfig (sercx.h)

O método SerCxDeviceInitConfig é chamado pelo driver do controlador serial para anexar a extensão de estrutura serial (SerCx) ao pipeline de E/S de um objeto de dispositivo de estrutura (FDO ou PDO) que ele está criando.

Sintaxe

NTSTATUS SerCxDeviceInitConfig(
  [in, out] PWDFDEVICE_INIT DeviceInit
);

Parâmetros

[in, out] DeviceInit

Um ponteiro para a estrutura WDFDEVICE_INIT que deve ser configurada.

Retornar valor

SerCxDeviceInitConfig retornará STATUS_SUCCESS se a chamada for bem-sucedida. Os possíveis valores retornados por erro incluem o código de status a seguir.

Código de retorno Descrição
STATUS_INSUFFICIENT_RESOURCES
Não foi possível alocar recursos do sistema (normalmente memória).

Comentários

Esse método associa as informações de configuração do SerCx à estrutura WDFDEVICE_INIT para o objeto de dispositivo de estrutura (PDO ou FDO) a ser criado. Chame SerCxDeviceInitConfig antes de chamar o método WdfDeviceCreate para criar o objeto do dispositivo.

A função de retorno de chamada EvtDriverDeviceAdd do driver do controlador recebe um ponteiro para uma estrutura de WDFDEVICE_INIT inicializada como um parâmetro de entrada.

O SerCx define um descritor de segurança padrão que o driver do controlador serial pode, se necessário, substituir. Por exemplo, esse descritor de segurança padrão permite que um driver de modo de usuário envie uma solicitação de E/S para um dispositivo periférico conectado a uma porta no controlador serial. Para alterar essa configuração no descritor de segurança, o driver do controlador serial pode chamar o método WdfDeviceInitAssignSDDLString . Essa chamada deve ocorrer após a chamada SerCxDeviceInitConfig , mas antes da chamada para o método WdfDeviceCreate .

Exemplos

No exemplo de código a seguir, a função de retorno de chamada EvtDriverDeviceAdd de um driver de controlador passa uma estrutura de WDFDEVICE_INIT inicializada para o método SerCxDeviceInitConfig . A chamada para SerCxDeviceInitConfig deve ocorrer antes da chamada WdfDeviceCreate que cria o FDO para o UART (dispositivo de controlador serial).

//
// FxDeviceInit is a pointer to an initialized WDFDEVICE_INIT structure.
// Drivers receive a pointer to this structure as an input parameter to an
// EvtDriverDeviceAdd callback function, or as a return value from the
// WdfControlDeviceInitAllocate method.
//

status = SerCxDeviceInitConfig(FxDeviceInit);

if (!NT_SUCCESS(status))
{
    return status;
}

// 
// Set WDF and SerCx device-level configuration options.
//

...

//
// Call the WdfDeviceCreate method.
//

...

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8.
Plataforma de Destino Universal
Cabeçalho sercx.h
IRQL PASSIVE_LEVEL

Confira também

EvtDriverDeviceAdd

WDFDEVICE_INIT

WdfDeviceCreate

WdfDeviceInitAssignSDDLString