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?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

jkrCommented:
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
jkrCommented:
Have you made sure the above appears before the inclusion of _any_ header files and performed a "Rebuild All"?
0
Exploring SQL Server 2016: Fundamentals

Learn the fundamentals of Microsoft SQL Server, a relational database management system that stores and retrieves data when requested by other software applications.

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
DanRollinsCommented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
vijay_visanaCommented:
msdn says it is Unsupported in Windows 95/98
0
AlexFMCommented:
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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
System Programming

From novice to tech pro — start learning today.