Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A macro IoGetDriverProxyWrapperFromEndpoint obtém o ponteiro para o wrapper de uma função de ponto de extremidade usando o ponteiro da função de ponto de extremidade. Essa macro fornece um wrapper conveniente em torno de IofGetDriverProxyWrapperFromEndpoint com conversão automática de tipo.
Essa macro é o método padrão para recuperar wrappers de ponto de extremidade no Driver Hot-Swap V2. Ele manipula o tipo de conversão automaticamente e fornece uma interface mais limpa em comparação com a chamada da função subjacente diretamente.
Sintaxe
void IoGetDriverProxyWrapperFromEndpoint(
DriverProxyExtension,
Endpoint,
Wrapper
);
Parâmetros
DriverProxyExtension
[in] Um ponteiro para a extensão DriverProxy na qual os pontos de extremidade estão registrados. Essa extensão foi criada em uma chamada anterior para IoCreateDriverProxyExtension.
Endpoint
[in] Um ponteiro para uma função de ponto de extremidade DRIVER_PROXY_ENDPOINT_FUNCTION para a qual localizar o wrapper. Esse deve ser um ponteiro de função que foi identificado durante o processo de enumeração de ponto de extremidade automático no Driver Hot-Swap V2.
Wrapper
[out] Um ponteiro para uma variável que recebe um ponteiro para uma função de wrapper DRIVER_PROXY_ENDPOINT_FUNCTION . Se o ponto de extremidade for encontrado, Wrapper será definido para apontar para a função wrapper que deve ser chamada em vez do ponto de extremidade original. Se o ponto de extremidade não for encontrado, Wrapper será definido como NULL.
Valor de retorno
None
Observações
Essa macro foi projetada para o Driver Hot-Swap V2, que usa enumeração de ponto de extremidade baseada em compilador automático em vez de registro manual de ponto de extremidade. O ponteiro de ponto de extremidade passado para essa macro deve corresponder exatamente a um ponteiro identificado durante o processo de enumeração do ponto de extremidade automático.
A macro manipula o tipo de conversão automaticamente, tornando mais conveniente usar do que a função IofGetDriverProxyWrapperFromEndpoint subjacente. Isso elimina possíveis avisos do compilador relacionados a conversões de tipo de ponteiro.
A macro pode ser usada em qualquer nível de IRQL e executa uma operação de pesquisa rápida.
Depois que um wrapper é obtido, os drivers devem chamar a função wrapper em vez da função de ponto de extremidade original para habilitar a funcionalidade de hot-swappable. Isso permite que a implementação da função seja substituída no runtime sem descarregar o driver.
No Driver Hot-Swap V2, os pontos de extremidade são automaticamente descobertos e registrados durante o processo de build por meio da análise do compilador e do vinculador da .shsept seção, eliminando a necessidade de registro manual de ponto de extremidade.
Requirements
| Requirement | Value |
|---|---|
| da Plataforma de Destino | Universal |
| Header | wdm.h |
| IRQL | Qualquer nível |