GetLastInputInfo () sempre 0 (zero)

Eu quero detectar o tempo ocioso (por exemplo, há quanto tempo o usuário pressionou uma tecla ou moveu o mouse). Supostamente, o GetLastInputInfo () deve ser o que eu preciso, mas, quando eu o uso, ele sempre imprime 0.

LASTINPUTINFO   last_input  =   {0};
GetLastInputInfo(&last_input);
cout << last_input.dwTime << endl;

Alguma ideia do porquê?

Obrigado

EDIT: Usando getlasterror, ele diz que o parâmetro está incorreto (ERROR_INVALID_PARAMETER, 87)

questionAnswers(1)

yourAnswerToTheQuestion