イベントログに表示するためのドメインの取得。

[戻る]
さくら 2004/10/01(金) 21:18:06
VC6.0 c++にて、GetUserNameEx関数を用いてドメイン名の取得を行っています。

しかし、コンパイル時、GetUserNameEx位置にて、下記のエラーがおきてしまいます。
「error C2065: 'GetUserNameEx' : 定義されていない識別子です。」
secext.hは、ちゃんとインクルードしています。

原因不明で先に勧めず困っています。
御教授いただけませんでしょうか??
下記にソースを添付します。

void WriteLog(DWORD lognum, LPCTSTR logstr)
{
HANDLE hEventLog;
BOOL bResult;

char UserName[1000];
char ComputerName[1000];
PSID UserSID;
char DomainName[1000];

DWORD UserNameSize = 1000;
DWORD ComputerNameSize = 1000;
DWORD UserSIDSize = 1000;
DWORD DomainNameSize = 1000;
SID_NAME_USE SidType;
// ユーザ名の取得
GetUserNameEx("NameFullyQualifiedDN", UserName, &UserNameSize);    //ここで落ちま
す。
GetComputerName(ComputerName, &ComputerNameSize);    
UserSID = GlobalAlloc(GMEM_FIXED, UserSIDSize);    
// ユーザSIDの取得
BOOL rc = LookupAccountNameComputerName, UserName, UserSID, &UserSIDSize, 
DomainName, &DomainNameSize, &SidType);
}  

瀬戸っぷ [E-Mail] 2004/10/02(土) 00:17:14
sspi.hかsecurity.hはインクルードしてますか?

GetUserNameExはsspi.h内にあるようですが。

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getusernameex.asp
誤訳…なのかな??

さくら 2004/10/03(日) 15:06:02
[[解決]]
<sspi.h>をインクルードしたら、コンパイルされました!!
ありがとうございます!

古いスレッドには追加発言できません。