2012-06-28 9 views
5

Refiriéndose a MSDN modifico un poco el código, así que puede recuperar el número de serie del disco duroWin32_PhysicalMedia SerialNumber veces en el orden equivocado

hres = pSvc->ExecQuery(
    bstr_t("WQL"), 
    bstr_t("SELECT SerialNumber FROM Win32_PhysicalMedia"), 
    WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 
    NULL, 
    &pEnumerator); 
.. 
..<other code here> 
.. 
hr = pclsObj->Get(L"SerialNumber", 0, &vtProp, 0, 0); 

convierto vtProp.bstrVal a std :: wstring y hacer una cadena inversa, la razón por la que que revertir el resultado de vtProp.bstrVal es porque he encontrado que algunos de ordenador que utilizo para recuperar el número de serie está en orden equivocado

Por ejemplo: ordenador 1 retorno de serie: W [espacio] -DXW1M6EC01056, Tengo que hacer una cadena inversa para hacerlo [espacio] WD-WXM1E60C0165 que es correcto después de comparar con la etiqueta en el disco duro

pero cuando prueba con 2 del ordenador retorno de serie: WD-WXM1E60C0165 (i utilizar el mismo código, se vuelven en realidad correctamente cuando verifico con la etiqueta de serie en la unidad de disco duro) si mi código de hacer una cadena inversa, se convertirá en W [espacio] -DXW1M6EC01056

puedo comprobar tanto con ordenador, es little-endian, no sé si tiene algo que ver con Endianness o no.

¿Hay algo que haga que el resultado del retorno en orden diferente? HDD maker/brand? Ejecuto el programa en Windows XP Pro para todos los resultados de la prueba.

+1

posible duplicado de [WMI HDD Número de serie transpuesto] (http : //stackoverflow.com/questions/10989338/wmi-hdd-serial-number-transposed) –

+1

Parece que personas que enfrentan problemas similares, me gustaría encontrar una manera de saber cuándo y por qué a veces está en un orden incorrecto en comparación con la etiqueta/etiqueta en la unidad de disco duro. El número de serie de devolución que uso es para fines de licencia, si la máquina/computadora siempre devuelve un pedido incorrecto, puede o no causar ningún problema cuando mi mecanismo de licenciamiento compara la serie de HDD. – hghew

+0

Uno de los artículos vinculados tiene una solución de trabajo. No puedes depender de WMI. –

Respuesta

Cuestiones relacionadas