Warnung C28164
Das Argument wird an eine Funktion übergeben, die einen Zeiger auf ein Objekt erwartet (nicht einen Zeiger auf einen Zeiger).
Diese Warnung tritt auf, wenn ein Zeiger auf einen Zeiger in einem Aufruf einer Funktion verwendet wird, die einen Zeiger auf ein Objekt erwartet.
Die Funktion nimmt diese PVOID
Position ein. In der Regel gibt es an, dass &pXXX
dies bei pXXX
Bedarf verwendet wurde.
Einige polymorphe Funktionen (Funktionen, die werte unterschiedlicher Typen ausgewertet und angewendet werden können) werden in C mithilfe eines PVOID
Arguments implementiert, das einen beliebigen Zeigertyp verwendet. Dadurch kann der Programmierer jedoch einen Zeiger auf einen Zeiger codieren, ohne einen Compilerfehler zu verursachen, auch wenn dieser Typ nicht geeignet ist.
Beispiel
Im folgenden Codebeispiel wird diese Warnung generiert:
PFAST_MUTEX pFm;
//...
KeWaitForSingleObject(&pFm, UserRequest, UserMode, false, NULL);
Im folgenden Codebeispiel wird die Warnung vermieden:
PFAST_MUTEX pFm;
//...
KeWaitForSingleObject(pFm, UserRequest, UserMode, false, NULL);