Этот тип используется в самой dll, поскольку это её идентификатор. Следовательно, он должен быть уже определен в ней. Я правильно понимаю? Может, его тоже можно как-то позаимствовать из библиотеки?
Еще, правильно ли я понял фразу из MSDN "WLAN_AVAILABLE_NETWORK_LIST structure contains an array of NIC interface information" - что WLAN_AVAILABLE_NETWORK_LIST это массив (array), элементы которого описываются структурой:
Код:
typedef struct _WLAN_INTERFACE_INFO_LIST {
DWORD dwNumberOfItems;
DWORD dwIndex;
WLAN_INTERFACE_INFO InterfaceInfo[];
} WLAN_INTERFACE_INFO_LIST, *PWLAN_INTERFACE_INFO_LIST;
Если да, то объясните пожалуйста последнюю строчку, я ее не понял.
З.Ы.: Я так похоже, скоро выучу С, плюну на все эти заморочки и напишу на нем всю прогу
Ну, за час копания MSDN и Гугла вырисовалось следующее:
Код:
type
Tfrm_Main = class(TForm)
...
end;
WLAN_INTERFACE_STATE = (wlan_interface_state_not_ready,
wlan_interface_state_connected,
wlan_interface_state_ad_hoc_network_formed,
wlan_interface_state_disconnecting,
wlan_interface_state_disconnected,
wlan_interface_state_associating,
wlan_interface_state_discovering,
wlan_interface_state_authenticating);
WLAN_INTERFACE_INFO = record
InterfaceGuid: GUID;
strInterfaceDescription: array [1..256] of WChar;
isState: WLAN_INTERFACE_STATE;
end;
WLAN_AVAILABLE_NETWORK_LIST = record
dwNumberOfItems: dword;
dwIndex: dword;
Network: array of WLAN_INTERFACE_INFO;
end;
var
frm_Main: Tfrm_Main;
implementation
...
function WlanEnumInterfaces(hClientHandle:THandle;
pReserved: pointer;
ppInterfaceList: PWLAN_INTERFACE_INFO_LIST): DWORD;
stdcall; external 'wlanapi.dll' name 'WlanEnumInterfaces';
...
{$R *.dfm}
Ссылки на соответствующие страницы MSDN, от которых отталкивался:
WLAN_INTERFACE_STATE
WLAN_INTERFACE_INFO
WLAN_AVAILABLE_NETWORK_LIST
PWLAN_INTERFACE_INFO_LIST
Посмотрите, не накосячил ли я где... И да, еще не смог понять, что такое GUID с 16-й строки листинга - "Undeclared identifier: 'GUID'". Гугл выдал целую пачку вариантов, но не знаю, какой из них тот. MSDN тоже не дал ответа (или я не там искал?)
Во всё той же
хабрастатье наткнулся:
Цитата:
Здесь pInterfaceGuid это указатель на GUID интерфейса, получить мы его можем из структуры WLAN_INTERFACE_INFO, список которых мы уже имеем после вызова WlanEnumInterfaces
|
Эээ... мне кажется,или речь здесь о Wi-Fi сетевой карте? Тогда вопрос у нас получается - как объяснить Дельфе, что вот сюда подставляется вафай-адаптер? Каким это безобразие описывается типом?
Голова уже квадратная, пойду спать, пожалуй...