Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++]query wmi problema stringa

    ciao.
    ho il seguente blocco di codice:
    codice:
    HRESULT hres = pSvc->ExecQuery(
    		bstr_t("WQL").GetBSTR(),  
    			bstr_t("SELECT * FROM Win32_DiskDrive WHERE Win32_DiskDrive.DeviceID='\\\\.\\PHYSICALDRIVE0'").GetBSTR(), 
    			WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,  
    			NULL, 
    			&pEnumerator);
    questo codice esegue un interrogazione WQL(linguaggio tipo sql per il wmi) per trovare il disco che ha un deviceid uguale a :\\\\.\\PHYSICALDRIVE0.
    Il problema è che tra bstr _bstr_t ecc.. mi sa che sbaglio qualcosa negli apici o altro.

    se eseguo questa interrogazione wml
    codice:
    HRESULT hres = pSvc->ExecQuery(
    		bstr_t("WQL").GetBSTR(),  
    			bstr_t("SELECT deviceid FROM Win32_DiskDrive").GetBSTR(), 
    			WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,  
    			NULL, 
    			&pEnumerator);
    ottengo
    \\\\.\\PHYSICALDRIVE0
    e
    \\\\.\\PHYSICALDRIVE1
    ma quando eseguo la prima interrogazione non trovo niente (n resultati = 0).


    cosa sbaglio secondo voi?
    grazie.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma non dovrebbe essere

    "SELECT * FROM Win32_DiskDrive WHERE DeviceID='\\\\.\\PHYSICALDRIVE0'"


    ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    non capisco , scusa oregon ma non è quello che ho scritto nella prima query?
    o intendi il prefisso della classe?
    Win32_DiskDrive.DeviceID
    se è quello , gia provato a togliere , risultato: identico errore
    ciao.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da giuseppe500
    non capisco , scusa oregon ma non è quello che ho scritto nella prima query?
    o intendi il prefisso della classe?
    Sì intendo senza prefisso ...

    Ho provato con una interrogazione WMI e nella WHERE in questo modo

    Win32_DiskDrive.DeviceID

    non ottengo risultato, mentre se nella WHERE c'è solo

    DeviceID

    allora funziona
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.