Newsgroup: it.comp.programmare.win32
Titolo: trovare nome scheda audio

come si trova il nome della scheda audio installata in c/c++?
(una informazione che da anche everest...)

 (una informazione che da anche everest...)
A spanne..
Prendendo il codice esempio da 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/example__getting_wmi_data_from_the_local_computer.asp
e in particolare da
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/example__getting_wmi_data_from_the_local_computer_asynchronously.asp
Considerando
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/computer_system_hardware_classes.asp
uno dovrebbe scegliere Win32_SoundDevice da sostituire
nella query del codice di esempio al posto di Win32_OperatingSystem
e avere in pSvc->caption il nome.
Facci sapere se funziona.
Bye
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

WMI useful
remote computer?
andiamo...
io speravo qualcosa di semplice come riempire la struttura WAVEOUTCAPS con 
waveOutGetDevCaps, la struttura ha un szPname che da documentazione dicono:
szPname
Product name in a null-terminated string.
solo che, se uno non ha installato i driver, non credo possa accedere a 
queste funzioni... ma se la cosa e' troppo complicata pazienza... mia cugina 
si limitera' a guardare le figure.

 szPname


Veramente è:
The following code example describes a complete WMI client application
that performs COM initialization, connects to WMI on the local computer,
gets data asynchronously, and then cleans up. This example gets the name
of the operating system on the local computer and displays it.
E comunque si trattava di fare 
1) un nuovo progetto (MS VS per. esempio)
2) un copia incolla 
3) cambiare una parola.
4) Run.
IMHO non è troppo complicato.
Lo proverò a beneficio di del NG più tardi...


un pezzo del codice e' questo:
// Connect to the local root\cimv2 namespace
// and obtain pointer pSvc to make IWbemServices calls.
hres = pLoc->ConnectServer(
    _bstr_t(L"ROOT\\CIMV2"),
    NULL,
    NULL,
    0,
     NULL,
     0,
     0,
    &pSvc);
sei proprio sicuro che sia la via per accedere al nome della scheda audio 
del proprio computer?
non sara' mica che si ottiene il nome della scheda audio di un'altro pc 
remoto?

 Lo proverò a beneficio di del NG più tardi...
OK, fatte le solite cose con VC++ 2003, ovvero:
-nuovo progetto console win32
-nuova classe generica QuerySink e copia/inollato i sorgenti di
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/example__getting_wmi_data_from_the_local_computer_asynchronously.asp
-aggiunto nel corpo del main il sorgente come sopra e aggiunto l'#include
"querysink.h" in testa
Run (Avvia senza eseguire debug -> Ctrl+F5)
e tutto fila liscio.
Valore aggiunto:
Cambiato Win32_OperatingSystem con Win32_SoundDevice nel main
e volendo L"Name" con L"Caption" (ma non cambia il risultato)
Run (Avvia senza eseguire debug -> Ctrl+F5)
e tutto fila liscio con risultato:
---------------------------------------------
Connected to ROOT\CIMV2 WMI namespace
Name: C-Media AC97 Audio Device
Call complete.
Press any key to continue
---------------------------------------------
Amen.


 remoto?
Considerando che il link che ti ho dato si intitola
Example: Getting WMI Data From the Local Computer Asynchronously
direi di essere un tantino sicuro.


beh, comlplimentoni e grazie

 beh, comlplimentoni e grazie
Prego.
