none
Como resolvo o problema de identificação de memórias tipo DDR3 no WMI do Windows? RRS feed

  • Pergunta

  • Ao tentar indentificar os tipos de memórias no Windows (XP, WIN2003, WIN7, Win2008) verifiquei que no WIN32_PhysicalMemory Class a identificação de padrões de memória só vai até o tipo (value) 21 onde o mesmo é igual a DDR2, não tendo nenhuma identificação para o tipo de memória DDR3 que no caso seria "meaning" padrão igual value 22, não sendo possível identificar este tipo de memória no Windows. Exsite algum tipo de fix ou atualização disponível para solução deste problema.

    quinta-feira, 3 de março de 2011 21:35

Respostas

  • Gfaria,  parece que não existe ainda um fix para isso, normlamente quando o pessoal roda algum tipo de script em cima do  WIN32_PhysicalMemory , eles tem colocado umas cases no caso de DDR3, veja um exemplo:

    // Memory Information
                            q = new ObjectQuery("SELECT * FROM Win32_PhysicalMemory");
                            p = new ManagementObjectSearcher(q);
                            i = 0; s = "";
                            foreach (ManagementObject mm in p.Get()) {
                                    i += (long)mm["Capacity"];
                                    if (s == "") {
                                            UInt16 mt = (UInt16)mm["MemoryType"];
                                            switch (mt) {
                                                    case 20: s = "DDR"; break;
                                                    case 21: s = "DDR2"; break;
                                                    default:
                                                            if(mt >= 1 && mt <= 19) s = "Unknown"; // non-DDR memory
                                                            else s = "DDR3?"; //  Assume unknown memory (case 0, and 22+) to be DDR3
                                                            break;

    Veja que ele declara para retornar como UNKNOW MEMORY, ai ele ja sabe que é DDR3.

    Mais acho q nao tme fix pra isso ainda.

    Na verdade se vc consultar a tabela de codigo oficila desse arquivo vc vai ver que nem cosnta o value 22 que seria referente a DDR3: http://msdn.microsoft.com/en-us/library/aa394347%28VS.85%29.aspx

    Seria de repente interessante vc postas essa sua mesma duvida no forum do MSDN:

    http://social.msdn.microsoft.com/Forums/pt-br/categories/



    Diego Piffaretti- www.mundotecnologico.net
    sexta-feira, 4 de março de 2011 13:16

Todas as Respostas

  • Prezado Gfaria,

    Bem vindo ao Fórum,

    breve algum moderador vai migrar seu post para a plataforma correta,para que possamos lhe ajudar,

    pois aqui é destinado a dúvidas de certificação

     

    abs

    sexta-feira, 4 de março de 2011 10:54
  • Gfaria,  parece que não existe ainda um fix para isso, normlamente quando o pessoal roda algum tipo de script em cima do  WIN32_PhysicalMemory , eles tem colocado umas cases no caso de DDR3, veja um exemplo:

    // Memory Information
                            q = new ObjectQuery("SELECT * FROM Win32_PhysicalMemory");
                            p = new ManagementObjectSearcher(q);
                            i = 0; s = "";
                            foreach (ManagementObject mm in p.Get()) {
                                    i += (long)mm["Capacity"];
                                    if (s == "") {
                                            UInt16 mt = (UInt16)mm["MemoryType"];
                                            switch (mt) {
                                                    case 20: s = "DDR"; break;
                                                    case 21: s = "DDR2"; break;
                                                    default:
                                                            if(mt >= 1 && mt <= 19) s = "Unknown"; // non-DDR memory
                                                            else s = "DDR3?"; //  Assume unknown memory (case 0, and 22+) to be DDR3
                                                            break;

    Veja que ele declara para retornar como UNKNOW MEMORY, ai ele ja sabe que é DDR3.

    Mais acho q nao tme fix pra isso ainda.

    Na verdade se vc consultar a tabela de codigo oficila desse arquivo vc vai ver que nem cosnta o value 22 que seria referente a DDR3: http://msdn.microsoft.com/en-us/library/aa394347%28VS.85%29.aspx

    Seria de repente interessante vc postas essa sua mesma duvida no forum do MSDN:

    http://social.msdn.microsoft.com/Forums/pt-br/categories/



    Diego Piffaretti- www.mundotecnologico.net
    sexta-feira, 4 de março de 2011 13:16
  • Prezado,

    Para direcionarmos corretamente a sua thread, peço que informe qual a linguagem / ambiente de programação você está utilizando...

    Obrigado pelo apoio...


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    quarta-feira, 9 de março de 2011 17:50
    Moderador