NetServerEnum:工作组上域上的服务器列表

时间:2010-03-01 14:07:53

标签: list networking directory dns

我已登录到工作组MSHOME,需要访问域“xxx.local”上的服务器pc的命名列表。

我试过这个:

        const int MAX_PREFERRED_LENGTH = -1;
        int SV_TYPE_WORKSTATION = 1;
        int SV_TYPE_SERVER = 2;
        IntPtr buffer = IntPtr.Zero;
        IntPtr tmpBuffer = IntPtr.Zero;
        int entriesRead = 0;
        int totalEntries = 0;
        int resHandle = 0;
        int sizeofINFO = Marshal.SizeOf(typeof(_SERVER_INFO_100));

        int ret = NetServerEnum(null, 100, ref buffer, MAX_PREFERRED_LENGTH,
            out entriesRead, out totalEntries, SV_TYPE_WORKSTATION | SV_TYPE_SERVER,
            "xxx.local", out resHandle);

...但是返回一个返回值6118(找不到浏览器服务器)。当我将“xxx.local”设为null时,也会发生这种情况,这至少应该返回1台服务器(我自己的PC)?

1 个答案:

答案 0 :(得分:0)

好的,我觉得它好像:

int ret = NetServerEnum(null,100,ref buffer,MAX_PREFERRED_LENGTH,             out entriesRead,out totalEntries,SV_TYPE_WORKSTATION | SV_TYPE_SERVER,             “xxx.local”,out resHandle);

...是访问其他域或工作组上的计算机列表的正确用法。 xxx.local作为域名没有返回任何内容,但xxx返回了我需要的内容。您也可以在命令提示符下使用net view / domain:xxx进行测试。