Solved

NetServerEnum

Posted on 1998-12-09
8
225 Views
Last Modified: 2013-11-20
Have any of you used the call "NetServerEnum"? If so, can you please provide me with a code snippet? Here when I use it, the parameters "entriesread" and "totalentries" read sensible value, but the bufptr reads some junk(strange characters). I am using SERVER_INFO_101 structure in my call. Can any of you throw some light in this? A code snippet would be very useful..
Thanks and Regards
Amaresh
0
Comment
Question by:Amaresh080997
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
8 Comments
 
LVL 6

Accepted Solution

by:
stsanz earned 10 total points
ID: 1325957
Did you check that bufptr is a pointer to pointer parameter ?
0
 

Author Comment

by:Amaresh080997
ID: 1325958
Yes, It is a pointer to LPVOID...the return value is ERROR_MORE_DATA. But the bufptr is storing some junk values...Dont know why..
Thanks for your reply..
0
 
LVL 6

Expert Comment

by:stsanz
ID: 1325959
Do you set prefmaxlen parameter to at least sizeof(SERVER_INFO_101) on input ?

What are the values of entriesread and totalentries parameters on output ?

0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 6

Expert Comment

by:stsanz
ID: 1325960
Are you on Win95/98 or WinNT ?
0
 

Author Comment

by:Amaresh080997
ID: 1325961
totalentries = 81 and entriesread = 8. I am using Win NT4.0.
Yes, I think my prefmaxlen parameter is okay..set to some high value..
Thanks for your reply...
0
 
LVL 6

Expert Comment

by:stsanz
ID: 1325962
I have managed to get a correct server enumeration on my net using the following piece of code :

{
NET_API_STATUS      nas ;
SERVER_INFO_101      *psi101 ;
DWORD                  entriesread,totalentries ;
char                  sz[300] ;

nas = NetServerEnum(NULL,101,(LPBYTE*)&psi101,sizeof (SERVER_INFO_101) * 6,
&entriesread,&totalentries,SV_TYPE_ALL,NULL,0) ;

wsprintf(sz,"nas=%d entriesread=%d totalentries=%d servername1=%ls servername2=%ls", (int)nas, (int)entriesread, (int)totalentries, (LPWSTR)psi101->sv101_name, (LPWSTR)(psi101+1)->sv101_name) ;
}

I get :
nas=ERROR_MORE_DATA
entriesread=2
totalentries=6
and servername1 and servername2 indicate two of my servers name.

Please check that you access the SERVER_INFO_101 structure fields with the right syntax, and that you process sv101_name field as a UNICODE string. You should also try to set prefmaxlen to a multiple of sizeof(SERVER_INFO_101)

Hope this helps.

0
 

Author Comment

by:Amaresh080997
ID: 1325963
Thanks stsanz...The mistakes I was doing are 1) Wrong value for servertype, 2) casting (LPBYTE*) to pserverinfo (instead of &pserverinfo) and not reading the sv101_name as unicode..I did not read that part of online help carefully..I went through again and it was okay...Thankyou very much..
Regards
Amaresh
0
 

Author Comment

by:Amaresh080997
ID: 1325964
I am sorry abt a mistake in my previous remark..The bufptr that I was passing was okay..I was passing the pointer to pointer paramater..But II committed a mistake in the servertype and while reading the sv101_name..
Thanks for your info ..
Regards
Amaresh
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Finishing the grid – keyboard support for arrow keys to manoeuvre, entering the numbers.  The PreTranslateMessage function is to be used to intercept and respond to keyboard events. Continuing from the fourth article about sudoku. …
If you use Adobe Reader X it is possible you can't open OLE PDF documents in the standard. The reason is the 'save box mode' in adobe reader X. Many people think the protected Mode of adobe reader x is only to stop the write access. But this fe…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
If you're a developer or IT admin, you’re probably tasked with managing multiple websites, servers, applications, and levels of security on a daily basis. While this can be extremely time consuming, it can also be frustrating when systems aren't wor…

695 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question