거기서 가져온건데요.ㅠㅠ
odule Size(4096 MBytes), Max Bandwidth(PC3-10700( 667MHz)) 이 두정보가 없더라구요...ㅠㅠㅠ
Lyn 님이 쓰신 글 :
:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa394347(v=vs.85).aspx
:
: 여기에 가져올수 있는정보의 모든 리스트가 나열되어있습니다.
:
: 압9정 님이 쓰신 글 :
: : 안녕하세염.^^ 제가 RAM카드의 정보를 가져올려고 API중에 Win32_PhysicalMemory class에서 가져올려고 했습니다.. 그런데 여기
: :
: : 서는 RAM카드 갯수나 제조회사, Part Number, Serial Number 만 가져오는게 됬습니다.ㅠ 제가 가져오고 싶은 정보는 위의 사진
: :
: : 에 있는 Module Size(4096 MBytes), Max Bandwidth(PC3-10700( 667MHz))등의 성능 정보를 가져오려고 합니다.
: :
: : 혹시 방법을 아시는 분 있나요??
: :
: : 밑에는 Win32_PhysicalMemory에서 제조회사와 Serial Number를 가져오는 소스입니다.^^
: :
: : void GetAPI()
: : {
: : HRESULT hres;
: :
: : hres = CoInitializeEx(0, COINIT_MULTITHREADED);
: : //if (FAILED(hres))
: : CoInitializeSecurity(
: : NULL,
: : -1,
: : NULL,
: : NULL,
: : RPC_C_AUTHN_LEVEL_DEFAULT,
: : RPC_C_IMP_LEVEL_IMPERSONATE,
: : NULL,
: : EOAC_NONE,
: : NULL
: : );
: : //if (FAILED(hres))
: : IWbemLocator *pLoc = NULL;
: :
: : CoCreateInstance(
: : CLSID_WbemAdministrativeLocator,
: : 0,
: : CLSCTX_INPROC_SERVER,
: : IID_IWbemLocator,
: : (LPVOID *) &pLoc
: : );
: : //if (FAILED(hres))
: : IWbemServices *pSvc = NULL;
: :
: : pLoc->ConnectServer(
: : _bstr_t(L"ROOT\\CIMV2"),
: : NULL,
: : NULL,
: : 0,
: : NULL,
: : 0,
: : 0,
: : &pSvc
: : );
: : //if (FAILED(hres))
: : //"Connected to ROOT\\CIMV2 WMI namespace"
: : CoSetProxyBlanket(
: : pSvc,
: : RPC_C_AUTHN_WINNT,
: : RPC_C_AUTHZ_NONE,
: : NULL,
: : RPC_C_AUTHN_LEVEL_CALL,
: : RPC_C_IMP_LEVEL_IMPERSONATE,
: : NULL,
: : EOAC_NONE
: : );
: : //if (FAILED(hres))
: : IEnumWbemClassObject* pEnumerator = NULL;
: :
: : pSvc->ExecQuery(
: : bstr_t("WQL"),
: : bstr_t("SELECT * FROM Win32_PhysicalMemory"),
: : WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
: : NULL,
: : &pEnumerator
: : );
: : //if (FAILED(hres))
: : IWbemClassObject *pclsObj = NULL;
: : ULONG uReturn = 0;
: :
: : if(pEnumerator)
: : {
: : pEnumerator->Reset();
: : pEnumerator->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn);
: : if(uReturn != 0)
: : {
: : VARIANT vtProp;
: : String arr_InfoList[] = {
: : L"Manufacturer",
: : L"PartNumber",
: : L"SerialNumber",
: : };
: :
: : for(int nIndex = 0; nIndex < sizeof(arr_InfoList); nIndex++)
: : {
: : ZeroMemory(&vtProp, sizeof(vtProp));
: : pclsObj->Get(arr_InfoList[nIndex].w_str(), 0, &vtProp, 0, 0);
: : if (vtProp.bstrVal)
: : {
: : Main->Memo1->Lines->Add(vtProp.bstrVal); //String형 데이터
: : VariantClear(&vtProp);
: : }
: : Application->ProcessMessages();
: : }
: : pclsObj->Release();
: : pclsObj=NULL;
: : }
: : }
: :
: : pSvc->Release();
: : pLoc->Release();
: : if(pEnumerator) pEnumerator->Release();
: : if(pclsObj) pclsObj->Release();
: : CoUninitialize();
: : }