compiling a call to FindNextFileEx fails...

Hi,

when I'm trying to compile a call to FindFirstFileEx I get compiling errors. The call looks like this:

WIN32_FIND_DATA ffd;
FindFirstFileEx( m_FileName,
                 FindExInfoStandard,
                 ffd,
                 FindExSearchNameMatch,
                 NULL,
                 0 );

I get these errors:

error C2065: 'FindFirstFileEx' : undeclared identifier
error C2065: 'FindExInfoStandard' : undeclared identifier
error C2065: 'FindExSearchNameMatch' : undeclared identifier

The compiler can neither find the function, the enumeration FINDEX_INFO_LEVELS or the enumeration FINDEX_SEARCH_OPS, which it should since they're all definded in winbase.h, and calls made to the functions

FindFirstFile(), FindNextFile() and FindClose()  (which also are declared in winbase.h)

succeeds without any errros.

Can anyone help please?

/Nick
LVL 9
Nick_72Asked:
Who is Participating?
 
DanRollinsConnect With a Mentor Commented:
Open up the file name
        stdafx.h
Insert this line:
       #define _WIN32_WINNT 0x0400
directly above this line:
       #define VC_EXTRALEAN
and rebuild.

That will work, or I'll eat my hat.
-- Dan
0
 
jkrConnect With a Mentor Commented:
Try to

#define _WIN32_WINNT 0x0400

before including the headers, as the declarations you are mentioning are guarded by

#if(_WIN32_WINNT >= 0x0400)
0
 
Nick_72Author Commented:
Thanks,

but I've already tried that - with the same result...

/Nick
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
jkrCommented:
Have you made sure the above appears before the inclusion of _any_ header files and performed a "Rebuild All"?
0
 
Nick_72Author Commented:
Yes I have. Strange isn't it?
0
 
Nick_72Author Commented:
Actually, when I write FindNextFileEx and hit the '(' sign, I get the tooltip with the parameters, so it knows about the function. However, I get these compiler errors... :(
0
 
Nick_72Author Commented:
I'm sorry if I'm confusing, I'm a little tired, I see that I keep mixing FindNextFileEx and FindFirstFileEx.....

I mean of course FindFirstFileEx,

there's no such thing as FindNextFileEx.

I couldn't find any edit links to the messages.
0
 
vijay_visanaCommented:
msdn says it is Unsupported in Windows 95/98
0
 
AlexFMConnect With a Mentor Commented:
Insert #define _WIN32_WINNT 0x0400 into stdafx.h before #define WIN32_LEAN_AND_MEAN      and comment #define WIN32_LEAN_AND_MEAN:

#define _WIN32_WINNT 0x0400

//#define WIN32_LEAN_AND_MEAN            // Exclude rarely-used stuff from Windows headers    !!!!

#include <windows.h>

0
 
DanRollinsCommented:
One other point...
In the example code, you are setting options for FindFirstFileEx that just simulate using FindFirstFile.  

So why not just use that?

-- Dan
0
 
vijay_visanaCommented:
if you're not using 98x then try to update sdk.
0
 
Nick_72Author Commented:
Thanks guys. As the newbie I am, I first inserted

#define _WIN32_WINNT 0x0400

in the .cpp file, before any #include statements. That didn't work (and I still really don't know why, since it comes before the include stdAfx.h), but when I inserted the statement in stdAfx.h as you said (and I guess that was what you meant jkr) it worked perfectly :)

Thanks again, I'll split the points.

/Nick
0
 
DanRollinsCommented:
Dang.  I had just finished preparing a nice cream sauce... I would have missed that old Dodger cap though.
0
 
Nick_72Author Commented:
I was picturing a sombrero so I wasn't only happy for me when it compiled without errors :)
0
All Courses

From novice to tech pro — start learning today.