C28164
Предупреждение C28164: Аргумент передается в функцию, которая ожидает указатель на объект (а не указатель на указатель)
Это предупреждение возникает, когда указатель на указатель используется при вызове функции, ожидающей указатель на объект.
функция принимает PVOID в этой позиции.Обычно это означает, что вместо необходимой аннотации pXXX использовалась аннотация &pXXX.
Некоторые полиморфные функции (функции, которые могут выдавать результат и применяться к значениям различных типов) реализованы в C с помощью аргумента PVOID, который принимает любой тип указателя.Однако это позволяет программисту реализовать указатель на указатель, не вызывая ошибку компилятора, даже если этот тип не подходит.
Пример
Это предупреждение появляется в следующем примере кода:
PFAST_MUTEX pFm;
...
KeWaitForSingleObject(&pFm, UserRequest, UserMode, false, NULL);
В следующем примере кода во избежание предупреждение:
PFAST_MUTEX pFm;
...
KeWaitForSingleObject(pFm, UserRequest, UserMode, false, NULL);