Partilhar via


Função UcmUcsiPpmStart (Ucmucsippm.h)

Instrui a extensão de classe UcmUcsiCx a começar a enviar solicitações para o driver cliente.

Sintaxe

NTSTATUS UcmUcsiPpmStart(
  [in] UCMUCSIPPM PpmObject
);

Parâmetros

[in] PpmObject

Um identificador para um objeto PPM (Platform Policy Manager) que o driver cliente recebeu na chamada anterior para UcmUcsiPpmCreate.

Valor de retorno

Retorna STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, esse método poderá retornar um valor de NTSTATUS apropriado.

Observações

ucmUcsiPpmStart indica que o driver cliente agora está pronto para receber a solicitação da extensão de classe. Após essa chamada, a extensão de classe inicia os computadores de estado OPM (Gerenciador de Política do SISTEMA Operacional) e manipulador de comando.

O driver cliente deve chamar UcmUcsiPpmStart depois de ter chamado UcmUcsiPpmStop para recuperação de erro.

Essa DDI inicia as operações que a extensão de classe precisa executar para inicializar os computadores de estado do OPM e do Manipulador de Comandos. O driver cliente deve chamar UcmUcsiPpmStart para notificar o UcmUcsiCx de que o driver está pronto para receber as solicitações IOCTL. Recomendamos que você faça essa chamada na função de retorno de chamada EVT_WDF_DEVICE_PREPARE_HARDWARE ou depois que o sistema chamar esse retorno de chamada.

A tentativa de iniciar o PPM depois que ele já tiver iniciado leva a uma condição de erro.

Depois que o cliente chama ucmUcsiPpmStart, a extensão de classe envia uma série de comandos para o firmware PPM a fim de obter as funcionalidades do PPM e do conector e seus status. Devido a um alto número de interações com o firmware, é altamente recomendável que os implementadores de cliente ucmUcsiCx chamem essa DDI uma vez durante a inicialização e não no currículo de um estado de baixa potência, como o retorno de chamada D0Entry. Isso é especialmente verdadeiro quando o cliente implementa a idling S0.

Requisitos

Requisito Valor
versão mínima do KMDF 1.27
versão mínima do UMDF N/A
cabeçalho Ucmucsippm.h (inclua UcmUcsiCx.h)
biblioteca UcmUcsiCxStub.lib
IRQL PASSIVE_LEVEL