Answers
- 首先得有大量的驱动存储在后台,可供客户端查找,像驱动精灵,都是通过在线查询,然后下载安装来完成的
- 怎么匹配呢?需要读该网卡的PID和VID,然后提交到后台进行匹配
读取网卡PID和VID的代码如下:
static BOOL WDK_GetVIDPID( TCHAR* DevicePath, TCHAR* szProperty, UINT uSize )
{
HANDLE hDeviceFile;
BOOL isOK = FALSE;
// 获取设备句柄
hDeviceFile = CreateFile( DevicePath,
0,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL);
if( hDeviceFile != INVALID_HANDLE_VALUE )
{ // 获取设备属性
HIDD_ATTRIBUTES Attributes;
Attributes.Size = sizeof(HIDD_ATTRIBUTES);
isOK = HidD_GetAttributes( hDeviceFile, &Attributes; );
if( isOK )
{
if( szProperty != NULL )
{
StringCchPrintf( szProperty, uSize, TEXT("%04X-%04X"), Attributes.VendorID, Attributes.ProductID );
}
}
CloseHandle( hDeviceFile );
}
return isOK;
}
番茄是西红柿哦
answered 11 years, 11 months ago