Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Info s wifi adapteru (Delphi)

Dobry den.
Chtěl bych načíst info s wifi adapteru.
theroadtodelphi.wordpress.com
U každeho přikladu mí to vyhodí chybu na řadku s kodem
FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM WiFi_AdapterAssocStats','WQL',wbemFlagForwardOnly) ;

First chance exception at $75432005. Exception class EOleException with message 'Invalid class'. Process Project1.exe (2376)

Tento problem se probira v tom članku dole v diskuzí.
Ja to vyzkoušel na 7 počitačích s Win 8 a na všech stejny problem.
Neví někdo jak vyřešít tento problem.

Předmět Autor Datum
Neštudoval som to podrobne, ale: In order to work with the next WMI classes your Wifi Network adapt…
pme 24.01.2014 08:28
pme
Tak jsem prolezl všech 9 počitaču v prací co mají wifi a knihovna wifiwmip.dll nenalezena. Je ještě…
mimon11 24.01.2014 10:57
mimon11
Nemám teraz čas to skúmať, ale iste si ten článok prečítal pozorne a určite si si všimol odkazu na n…
pme 24.01.2014 12:14
pme
Nevšiml. Vyzkouším. Děkují.
mimon11 24.01.2014 17:24
mimon11
Tak ani přes to native Wifi API mi to nefrčí. Form se vykreslí a pak vyskočí Runtime error 217 at 00…
mimon11 27.01.2014 16:49
mimon11
Čiže chyba nastala tu? ResultInt:=WlanOpenHandle(1, nil, @dwVersion, @hClient); try if ResultInt<>… poslední
pme 28.01.2014 11:47
pme
Co konkretne potrebujes vycitat pomocou tej kniznice ? Osobne si myslim, ze to robi len suhrn vsetke…
KiloViktor 27.01.2014 18:09
KiloViktor
Úplně mi stačí SSID, kde jsem právě připojen. V registrech jsem našel jen seznam AP ke kterým jsem s…
mimon11 28.01.2014 05:31
mimon11
Toto by ti nepomohlo ? http://www.etherhex.com/2013/01/using-netsh-for-vi ewing-wireless-networks/ a…
KiloViktor 28.01.2014 11:03
KiloViktor

Neštudoval som to podrobne, ale:

In order to work with the next WMI classes your Wifi Network adapter must install a CIMWiFiProvider which implement these classes.

máš teda nainštalovaný - CIMWiFiProvider ? Pre Intel Wifi adaptér to bude nejaká knižnica, zrejme
"c:\progam files\intel\wifi\bin\wifiwmip.dll"

Tak ani přes to native Wifi API mi to nefrčí.
Form se vykreslí a pak vyskočí Runtime error 217 at 0051A1EF

Když to protahnu debugerem tak to skončí na WriteLn('Error Open CLient'+IntToStr(ResultInt));
First chance exception at $776B2EEC. Exception class EInOutError with message 'I/O error 105'. Process Project1.exe (3020)

Čiže chyba nastala tu?

ResultInt:=WlanOpenHandle(1, nil, @dwVersion, @hClient);
   try
    if  ResultInt<> ERROR_SUCCESS then
    begin
       WriteLn('Error Open CLient'+IntToStr(ResultInt));
       Exit;
    end;

Trošku som na to v rýchlosti pozrel na msdn a vyzerá to tak, že je tam "zlý" parameter:

WlanOpenHandle(1, nil, @dwVersion, @hClient);

dwClientVersion [in]

The highest version of the WLAN API that the client supports.
Value Meaning

1

Client version for Windows XP with SP3 and Wireless LAN API for Windows XP with SP2.

2

Client version for Windows Vista and Windows Server 2008

Zrejme ak sa použije parameter "1" - funguje pod XP, ak "2" - Vista a vyššie.

Fakt nemám čas to skúmať do podrobna, to by si mal Ty - študovať API na msdn a nie iba copy/paste...
msdn.microsoft.com

Co konkretne potrebujes vycitat pomocou tej kniznice ? Osobne si myslim, ze to robi len suhrn vsetkeho co je v registry pod jednu strechu. Nic noveho sa o adapteroch zistit neda, pretoze by ta kniznica musela obsahovat nizkourovnove detaily pre kazdy jednotlivy chipset. A ze tych chipsetov je mozno aj niekolko tisic + kombinacie.

Toto by ti nepomohlo ?
http://www.etherhex.com/2013/01/using-netsh-for-vi ewing-wireless-networks/
alebo toto:
http://technet.microsoft.com/en-us/library/cc75530 1%28v=WS.10%29.aspx

Posledny post v diskusii napoveda tomu, ze ta kniznica bude nejaky prostrednik medzi "schopnostami ovladaca" a vseobecnymi informaciami, ktore popisuju lubovolny wifi adapter. CIMWiFiProvider bude najskor manager konkretnej wifi karty, ktory vie ako ma odpovedat na dotazy z tej kniznice.
Pre kazdy kod PID/VID wifi karty moze byt aj iny CIMWiFiProvider. Bohuzial to vyzera tak, ze ta kniznica nebude asi standardizovana, preto sa moze vela vyrobcov vykaslat na to aby programovali nejaky interface, ktory bude spolupracovat s tou kniznicou.
Ak si chces spravit vlastnu apku na zistovanie informacii z adaptera, tak je zrejme vyhodnejsie pouzit toto:
http://msdn.microsoft.com/en-us/library/windows/ha rdware/ff560040%28v=vs.85%29.aspx

Zpět do poradny Odpovědět na původní otázku Nahoru