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...