CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): guest (guest) <210.116.105.112>
날 짜 (Date): 2003년 4월 28일 월요일 오전 11시 39분 49초
제 목(Title): [Q]win98 공유자원 목록 출력


visual C++ 6.0을 이용하여 
윈98에서  remote 윈98의 공유자원이름을 알아내는 간단한 프로그램을 
작성중입니다.

인수로 받은 (char *) IP주소를   (char FAR*)로 변환시켜서 
NetShareEnum 함수에 집어넣어 remote win98의  공유자원목록을 
출력시키려하는데
제대로 동작하지가 않는군요.

키즈 고수님들께서 코드를 보시고 조언해주시길..

int EnumNet ( char *lptcTarget ) 
{
NET_API_STATUS s_res ;

char FAR *pszServerNm_9x = NULL;
short nLevel = 50;
struct share_info_50 *pBuf_9x = NULL;
struct share_info_50 *pTmpBuf_9x = NULL;
unsigned short cbBuffer;
unsigned short FAR nEntriesRead = 0;
unsigned short FAR nTotalEntries = 0;
short nTotalCount = 0;

ZeroMemory( &s_res, sizeof(NET_API_STATUS) );
pszServerNm_9x = (char FAR*) malloc( sizeof(CHAR) * 64 );
sprintf( pszServerNm_9x, "\\\\%s", (char FAR*)lptcTarget );
cbBuffer = MAX_ENTRIES * sizeof (struct share_info_50);
pBuf_9x = (struct share_info_50 *)malloc(cbBuffer);
if (pBuf_9x == NULL) {
printf("No memory\n");
}

printf("\n");

printf(" [---- Shares on Server\n" );
s_res = NetShareEnum( pszServerNm_9x,
                              nLevel,
                 (char FAR *)pBuf_9x, 
cbBuffer , 
&nEntriesRead, 
&nTotalEntries);

if (s_res == ERROR_SUCCESS || s_res == ERROR_MORE_DATA) {
if ((pTmpBuf_9x = pBuf_9x) != NULL) {
for ( i=1; i < nEntriesRead; i++ ) {
printf(" %15s : %s\n", 
pTmpBuf_9x->shi50_netname, pTmpBuf_9x->shi50_remark);
pTmpBuf_9x++ ; 
}
}
}

return 0 ;
}


[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.