mfc 獲取網絡卡數目

2021-08-18 17:14:16 字數 1726 閱讀 2665

int cgetsysinfo::getinte***cecount()

//如果regqueryvalueex返回值仍舊未成功則函式返回.....(注意記憶體洩露「free函式」~~~)。

//這個if保證了這個while只能進入一次~~~避免死迴圈

if(ret != error_success)

return 0;//0個介面

} }

//函式執行成功之後就是對返回的data記憶體中資料的解析了,這個建議去檢視msdn有關regqueryvalueex函式引數資料結構的說明

//得到資料塊

perf_data_block *datablockptr = (perf_data_block *)data;

//得到第乙個物件

perf_object_type *objectptr = (perf_object_type *) ((byte *)datablockptr + datablockptr->headerlength);

for(int a=0 ; a<(int)datablockptr->numobjecttypes ; a++)

; if(objectptr->objectnametitleindex == 510)

if(processidoffset == ulong_max)

return 0;

} perf_instance_definition *instanceptr =(perf_instance_definition *) ((byte *) objectptr + objectptr->definitionlength);

for(int b=0 ; bnuminstances ; b++)

; widechartomultibyte(cp_acp, 0, nameptr, -1, pname, sizeof(namebuffer), 0, 0);

dword bandwith = *((dword *) ((byte *)counterblockptr + processidoffset));

dword tottraff = 0;

inte***ces.addtail(cstring(pname)); //各網絡卡的名稱

bandwidths.addtail(bandwith); //頻寬

totaltraffics.addtail(tottraff); // 流量初始化為0

perf_counter_block *pctrblk = (perf_counter_block *) ((byte *)instanceptr + instanceptr->bytelength);

instanceptr = (perf_instance_definition *) ((byte *)instanceptr + instanceptr->bytelength + pctrblk->bytelength);

} }

objectptr = (perf_object_type *) ((byte *)objectptr + objectptr->totalbytelength);

} if(data != null)

} catch(...)

return inte***ces.getcount();

}

MapReduce獲取分片數目

有的程式會設定map的數目,那麼map數目是如何影響分片的數目的呢?假設檔案大小為0,是否會作為乙個分片傳給map任務?fileinputformat.getsplits返回檔案的分片數目,這部分將介紹其執行流程,後面將貼上其源 並給出凝視 通過liststatus 獲取輸入檔案列表files,當中...

獲取網絡卡資訊

在windows中獲取網路介面卡相關資訊是很方便的,可以通過getadaptersinfo函式獲取並儲存在ip adapter info結構體中,再對結構休進行解析得到介面卡資訊。有關函式和結構體的詳細說明可以參考msdn,這裡就不再複述。下面直接給出具體示例程式。引入標頭檔案 include in...

mfc指標獲取

1 獲取應用程式指標2 獲取主框架指標或者 cmainframe pmainframe cmainframe afxgetmainwnd 獲取選單指標 cmenu pmenu afxgetmainwnd getmenu 獲取工具欄 狀態列指標 主框架中可以直接使用m wnd m wndstatusb...