在一網(wǎng)熱心網(wǎng)友的幫助下我解決的NetShareEnum返回NO_ACCESSS_DENIED(5)的問題??上ЬW(wǎng)上相關(guān)資料實(shí)在找不著。我決定把我的方法分享給更多的網(wǎng)友們,希望能幫助到更多的人。
創(chuàng)新互聯(lián)公司一直秉承“誠(chéng)信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!為您提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、成都網(wǎng)頁設(shè)計(jì)、小程序開發(fā)、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、APP應(yīng)用開發(fā)是成都本地專業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)公司,等你一起來見證!SHARE_INFO_2、SHARE_INFO_502、SHARE_INFO_503適合于遍歷1個(gè)共享資源里所有目錄。如果用它們獲取遠(yuǎn)程PC有多少共享資源,它就返回5。SHARE_INFO_0、SHARE_INFO_1才適合獲取遠(yuǎn)程PC有多少共享資源。看到這一點(diǎn),想必網(wǎng)友們已經(jīng)想到方法了。我的代碼如下:
void EnumShareResources() { //PSHARE_INFO_1 pShareTmp=NULL,pShareBuffer=NULL; PSHARE_INFO_0 pShareTmp=NULL,pShareBuffer=NULL; NET_API_STATUS netApiStat=ERROR_SUCCESS; DWORD dwEr=0,dwTr=0,dwResume=0,i=0,dwEnumOpenStat=0,dwEnumEnumStat=0; char* pcHost=(char*)calloc(64,sizeof(char)); LPWSTR szWideIp=(LPWSTR)calloc(32,sizeof(WCHAR)); BOOL bFind=FALSE; sprintf(pcHost,"%d.%d.%d.%d",192,168,10,183); //GetHostNameByIp(pcHost); //i=MultiByteToWideChar(CP_ACP,0,pcIp,-1,NULL,0); MultiByteToWideChar(CP_ACP,0,pcHost,-1,szWideIp,64); memcpy(pcHost,szWideIp,64); do { //netApiStat=NetShareEnum(pcHost,1,(LPBYTE*)&pShareBuffer,-1,&dwEr,&dwTr,&dwResume); netApiStat=NetShareEnum(pcHost,0,(LPBYTE*)&pShareBuffer,-1,&dwEr,&dwTr,&dwResume); if (netApiStat==ERROR_MORE_DATA||netApiStat==ERROR_SUCCESS) { pShareTmp=pShareBuffer; for (i=0;i被注釋部分使用的是SHARE_INFO_1。