The backslash (\) must be followed with a second backslash (\\) when it appears within a string, see
Escape Sequences[
^]
In your case there need to be three backslash in the string, two for the backslash itself and one for the question mark (?).
int l_Temp = str.FindOneOf(_T("/\\\?<>|:*"));