Solved

LOGON32_LOGON_NEW_CREDENTIALS - Undeclared Identifier Error

Posted on 2008-06-16
4
1,076 Views
Last Modified: 2012-05-05
Using VS 6.0, LOGON32_LOGON_NEW_CREDENTIALS won't compile correctly. Anyone have any suggestions? This is a win32 windows service.

Code Snippet::

LogonUser(userName.c_str(),domain.c_str(),password.c_str(), LOGON32_LOGON_NEW_CREDENTIALS, LOGON32_PROVIDER_WINNT50, &userToken_);

Need a quick turn around on this if someone can figure out why this won't compile....
0
Comment
Question by:rronec1
  • 2
  • 2
4 Comments
 
LVL 86

Accepted Solution

by:
jkr earned 500 total points
ID: 21796289
Hm, in your other Q, you mentioned you're using VC6 - you will need a new Platform SDK if you are using the files that shipped with VC6, since this constant was introduced years after VC6 was published. Get that update at http://support.microsoft.com/default.aspx?pr=psdk ("Platform SDK")
0
 

Author Comment

by:rronec1
ID: 21804476
I just updated the new platform SDK. I updated the tool-options -directories to update the include, lib and bin but the compiler still gives me the following:

error C2065: 'LOGON32_LOGON_NEW_CREDENTIALS' : undeclared identifier

Not sure if there is a specific dir in the new SDK install to point to.
0
 
LVL 86

Expert Comment

by:jkr
ID: 21804799
That's very strange. Here, the SDK shipping with VC++ (aka VS2005) has
//

// Logon Support APIs

//
 

#define LOGON32_LOGON_INTERACTIVE       2

#define LOGON32_LOGON_NETWORK           3

#define LOGON32_LOGON_BATCH             4

#define LOGON32_LOGON_SERVICE           5

#define LOGON32_LOGON_UNLOCK            7

#if(_WIN32_WINNT >= 0x0500)

#define LOGON32_LOGON_NETWORK_CLEARTEXT 8

#define LOGON32_LOGON_NEW_CREDENTIALS   9

#endif // (_WIN32_WINNT >= 0x0500)
 

#define LOGON32_PROVIDER_DEFAULT    0

#define LOGON32_PROVIDER_WINNT35    1

#if(_WIN32_WINNT >= 0x0400)

#define LOGON32_PROVIDER_WINNT40    2

#endif /* _WIN32_WINNT >= 0x0400 */

#if(_WIN32_WINNT >= 0x0500)

#define LOGON32_PROVIDER_WINNT50    3

#endif // (_WIN32_WINNT >= 0x0500)

Open in new window

0
 

Author Comment

by:rronec1
ID: 21806292
I went ahead and defined it in the stdafx.h and it worked.

#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0500 // Required for LOGON32_LOGON_NEW_CREDENTIALS and LOGON32_PROVIDER_WINNT50 - W2k and above
#define LOGON32_LOGON_NEW_CREDENTIALS   9


Thanks for your assistance with this. You are very helpful and patience.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
C++ Properties One feature missing from standard C++ that you will find in many other Object Oriented Programming languages is something called a Property (http://www.experts-exchange.com/Programming/Languages/CPP/A_3912-Object-Properties-in-C.ht…
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now