#include <windows.h>
#include <lm.h>
#include <stdio.h>BOOL GetFullName( char *UserName, char *Domain, char *dest )
{
WCHAR wszUserName[UNLEN+1]; // Unicode user name
WCHAR wszDomain[256]; 
LPBYTE ComputerName;struct _SERVER_INFO_100 *si100; // Server structure
struct _USER_INFO_2 *ui; // User structure// Convert ANSI user name and domain to UnicodeMultiByteToWideChar( CP_ACP, 0, UserName,
strlen(UserName)+1, wszUserName, 
sizeof(wszUserName)/sizeof(wszUserName[0]) );
MultiByteToWideChar( CP_ACP, 0, Domain,
strlen(Domain)+1, wszDomain, sizeof(wszDomain)/sizeof(wszDomain[0]) );// Get the computer name of a DC for the domain.NetGetDCName( NULL, wszDomain, &ComputerName );// Look up the user on the DC.if( NetUserGetInfo( (LPWSTR) ComputerName,
(LPWSTR) &wszUserName, 2, (LPBYTE *) &ui ) )
{
printf( "Error getting user information.\n" );
return( FALSE );
}// Convert the Unicode full name to ANSI.WideCharToMultiByte( CP_ACP, 0, ui->usri2_full_name, -1,
dest, 256, NULL, NULL );return (TRUE);
}
哪位高人来翻译下。每一步是什么意思。有什么用。别只翻译//外的英文。

解决方案 »

  1.   

    我也知道 是MSDN粘贴复制下来的。有没有高人来解释下。
      

  2.   

    先去吃饭 集齐5个人一人十分参观费。NND 没有高人(高技术,高素质)出现。
      

  3.   

    因为
    NetGetDCName
    NetUserGetInfo
    需要提供UNICODE字符串参数,而本程序显然是采用ANSI编码,
    因此,在调用上述函数时,需要将字符串参数转换为UNICODE
    在调用完成后,ui->usri2_full_name也是UNICODE字符串,需要转换为ANSI编码存放到缓存区指针dest
      

  4.   

    有啥好翻译的呢,照着 MSDN看,一下就明白了,别告诉我,你不懂英文,真那样,还是早点放弃好些吧
      

  5.   


    闲着也是闲着 从不懂到懂 都有个过程 我也不是程序员出生。所以想多看点这方面的东西。问题结了。谢谢你的指导
    http://topic.csdn.net/u/20100326/13/2041EC86-F870-4810-A8A3-471FE4D77C91.html