Windows API GetUserNameEx 函数使用

函数原型:

BOOLEAN WINAPI GetUserNameEx(
  _In_     EXTENDED_NAME_FORMAT NameFormat,
  _Out_    LPTSTR lpNameBuffer,
  _Inout_  PULONG lpnSize
);


头文件包含:

#include "Security.h"

#pragma comment(lib,"Secur32.lib")


如果编译报错如下:

C:\WinDDK\7600.16385.1\inc\api\sspi.h(60) : fatal error C1189: #error :   You must define one of SECURITY_WIN32, SECURITY_KERNEL, or


请在所有头文件前面加上

#define SECURITY_WIN32
即可。


使用方法如下:

void getUserNameEx()
{
	WCHAR wzUser[MAX_PATH] = {0}; 
	ULONG buf_size = 0;

	// 需要注意的是,第一次调用GetUserNameEx,第二个参数为NULL,第三个参数一定要为0,否则出现内存访问错误。
	GetUserNameEx(NameSamCompatible, NULL, &buf_size);
	GetUserNameEx(NameSamCompatible, wzUser, &buf_size);
	wcout << L"User:" << wzUser << endl;
}


文章参考:

http://blog.csdn.net/shen_001/article/details/39317565

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724435(v=vs.85).aspx




博主所有文章已转自私人博客 Joe 的个人博客,谢谢关注!


你可能感兴趣的:(经验总结,windows,api)