C28164

avviso C28164: l'argomento viene passato a una funzione per cui è previsto un puntatore a un oggetto (non a un altro puntatore)

Questo avviso viene visualizzato quando un puntatore a un puntatore viene utilizzato in una chiamata a una funzione che prevede un puntatore a un oggetto.

La funzione accetta PVOID in questa posizione.In genere, ciò indica la possibilità che viene utilizzato &pXXX quando è richiesto pXXX.

Alcune funzioni polimorfiche (funzioni che possono valutare, e essere applicate a, valori di tipi diversi) vengono implementate in C mediante un argomento PVOID che accetta qualsiasi tipo di puntatore.Tuttavia, questo consente al programmatore di codificare un puntatore a un puntatore senza provocare un errore del compilatore, anche quando questo tipo non è appropriato.

Esempio

Il seguente codice di esempio genera questo warning:

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

L'esempio di codice seguente consente di evitare l'avviso:

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