Compartilhar via


C28164

aviso C28164: O argumento está sendo passado para uma função que espera um ponteiro para um objeto (não um ponteiro para um ponteiro)

Esse aviso é relatado quando um ponteiro para um ponteiro é usado em uma chamada a uma função que está esperando um ponteiro para um objeto.

A função pega um PVOID nessa posição.Geralmente, isso indica que &XXX p esteve usado quando pXXX é necessário.

Algumas funções polimorfos (às funções que pode ser avaliada, e sejam aplicadas a, valores de tipos diferentes) são implementadas em C usando um argumento de PVOID que usa qualquer tipo de ponteiro.No entanto, isso permite que o programador codificar um ponteiro para um ponteiro sem gerar um erro do compilador, mesmo quando esse tipo não é apropriado.

Exemplo

O exemplo de código gerenciado esse aviso:

PFAST_MUTEX pFm;
...
KeWaitForSingleObject(&pFm, UserRequest, UserMode, false, NULL);

O exemplo de código a seguir evita o aviso:

PFAST_MUTEX pFm;
...
KeWaitForSingleObject(pFm, UserRequest, UserMode, false, NULL);