如何根据本计算机名判断其是否在某个域里?
假设本机名称叫WWW,域的DNS地址是192.168.0.179,怎么判断这台机器是否在域中呢?
我用的NetGetJoinInformation函数判断的,原型如下:
NET_API_STATUS NetGetJoinInformation(
__in LPCWSTR lpServer,
__out LPWSTR* lpNameBuffer,
__out PNETSETUP_JOIN_STATUS BufferType
);
//返回结果的枚举
typedef enum _NETSETUP_JOIN_STATUS {
NetSetupUnknownStatus = 0,
NetSetupUnjoined,
NetSetupWorkgroupName,
NetSetupDomainName
} NETSETUP_JOIN_STATUS, *PNETSETUP_JOIN_STATUS;
它第一个参数是DNS,第二个是机器名称,第三个参数是返回的状态参数,我这么调用,结果编译都不通过
NETSETUP_JOIN_STATUS njs = NetSetupUnknownStatus;
NET_API_STATUS iRetGetType = NetGetJoinInformation("192.168.0.179","WWW", &njs);
如果该机器不在域中则返回NetSetupUnjoined,在域中则返回NetSetupDomainName
但是编译不过,是数据类型有问题,但又不知道如何传参数,求高手给解释下,谢谢!
[解决办法]
system("net view /domain >d:\\domain.txt");
//然后读文件d:\\domain.txt的内容
[解决办法]
字符串匹配呗