#pragma once

#ifndef HDEVICE
#define HDEVICE unsigned long
#endif

typedef struct _DTL_WIRELESSNET_DEVICEINFO
{
	HDEVICE	hDevice;
	WCHAR	szName[MAX_PATH];
	GUID	guid;
	WCHAR	szHwid[MAX_PATH];
	BOOL	bIsWirelessNet;			//TRUE为无线网卡，FALSE为USB接口设备
	BOOL	bHasDriver;
	BOOL	bEnableUpdateBestDriver;
	BOOL	bEnableUpdateLastDriver;
	BOOL	bEnableUninstDriver;
}DTL_WIRELESSNET_DEVICEINFO,*PDTL_WIRELESSNET_DEVICEINFO;

/*
返回获取到的个数，
-1，获取失败
0，无无线网卡
>0,无线网卡个数
*/
int __stdcall DTLGetWirelessNetArray( PDTL_WIRELESSNET_DEVICEINFO* OUT ppInfoArr );



#define DTL_RESULT_ERROR		0	//安装失败，卸载失败
#define DTL_RESULT_SUCESS		1	//安装成功，卸载成功
#define	DTL_RESULT_REBOOT		2	//安装成功，卸载成功，需要重启

/*卸载驱动*/
int __stdcall DTLUninstallDriver( HDEVICE IN hDevice );

/*安装推荐驱动*/
int __stdcall DTLUpdateBestDriver( HDEVICE IN hDevice );

/*安装最新驱动*/
int __stdcall DTLUpdateLastDriver( HDEVICE IN hDevice );

/*释放数组*/
void __stdcall DTLFreeWirelessNetArray();