Lyn 님이 쓰신 글 :
: 용량은 Capacity고
: 속도는 DataWidth 겠네요
:
: 압9정 님이 쓰신 글 :
: : 거기서 가져온건데요.ㅠㅠ
: : 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();
: : : : }