// pci905217501ClassInst.c
//
// Generated by C DriverWizard 3.2.0 (Build 2485)
// Requires DDK Only
// File created on 9/10/2008
//
#include <windows.h>
#include <initguid.h>
#include <setupapi.h>
#include <stdio.h>
#include <tchar.h>
#include "resource.h"
#include "..\intrface.h"
typedef struct _PCI905217501_PROP_PARAMS
{
HDEVINFO DeviceInfoSet;
PSP_DEVINFO_DATA DeviceInfoData;
} PCI905217501_PROP_PARAMS, *PPCI905217501_PROP_PARAMS;
HANDLE pci905217501OpenDevice(
IN PPCI905217501_PROP_PARAMS Params
);
DWORD pci905217501AddPropertyPage(
IN HDEVINFO DeviceInfoSet,
IN PSP_DEVINFO_DATA DeviceInfoData
);
INT_PTR pci905217501PropPageDlgProc(
IN HWND hDlg,
IN UINT uMessage,
IN WPARAM wParam,
IN LPARAM lParam
);
UINT CALLBACK pci905217501PropPageDlgCallback(
IN HWND hwnd,
IN UINT uMsg,
IN LPPROPSHEETPAGE ppsp
);
BOOL pci905217501OnNotify(
IN HWND ParentHwnd,
IN LPNMHDR NmHdr,
IN PPCI905217501_PROP_PARAMS Params
);
HMODULE g_DllInstance = NULL;
///////////////////////////////////////////////////////////////////////////////////////////////////
// pci905217501DebugPrint
// method to output text to debugger
//
// Arguments:
// IN Format
// Text format to print to debugger
//
// Return Value:
// None.
//
VOID pci905217501DebugPrint(LPCTSTR Format, ...)
{
TCHAR str[256];
va_list vaList;
va_start(vaList, Format);
_vstprintf(str, Format, vaList);
OutputDebugString(_T("PCI905217501CLSINST: "));
OutputDebugString(str);
va_end(vaList);
return;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
// DllMain
// entry point of a dll
//
// Arguments:
// IN DllInstance
// Instance address
//
// IN Reason
// Reason of a call
//
// IN Reserved
// Unused
//
// Return Value:
// Status.
//
BOOL WINAPI DllMain(
IN HINSTANCE DllInstance,
IN DWORD Reason,
IN PVOID Reserved
)
{
switch (Reason)
{
case DLL_PROCESS_ATTACH:
g_DllInstance = DllInstance;
DisableThreadLibraryCalls(g_DllInstance);
InitCommonControls();
break;
case DLL_PROCESS_DETACH:
g_DllInstance = NULL;
break;
default:
break;
}
return TRUE;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
// pci905217501ClassInstaller
// Class-Installer message handler
//
// Arguments:
// IN InstallFunction
// Install message
//
// IN DeviceInfoSet
// Handle to device info set
//
// IN DeviceInfoData
// Pointer to device data
//
// Return Value:
// Status.
//
DWORD pci905217501ClassInstaller(
IN DI_FUNCTION InstallFunction,
IN HDEVINFO DeviceInfoSet,
IN PSP_DEVINFO_DATA DeviceInfoData
)
{
switch (InstallFunction)
{
case DIF_INSTALLDEVICE:
pci905217501DebugPrint(_T("DIF_INSTALLDEVICE\n"));
break;
case DIF_ADDPROPERTYPAGE_ADVANCED:
pci905217501DebugPrint(_T("DIF_ADDPROPERTYPAGE_ADVANCED\n"));
return pci905217501AddPropertyPage(DeviceInfoSet, DeviceInfoData);
break;
case DIF_POWERMESSAGEWAKE:
pci905217501DebugPrint(_T("DIF_POWERMESSAGEWAKE\n"));
break;
case DIF_PROPERTYCHANGE:
pci905217501DebugPrint(_T("DIF_PROPERTYCHANGE\n"));
break;
case DIF_REMOVE:
pci905217501DebugPrint(_T("DIF_REMOVE\n"));
break;
case DIF_NEWDEVICEWIZARD_FINISHINSTALL:
pci905217501DebugPrint(_T("DIF_NEWDEVICEWIZARD_FINISHINSTALL\n"));
break;
case DIF_SELECTDEVICE:
pci905217501DebugPrint(_T("DIF_SELECTDEVICE\n"));
break;
case DIF_DESTROYPRIVATEDATA:
pci905217501DebugPrint(_T("DIF_DESTROYPRIVATEDATA\n"));
break;
case DIF_INSTALLDEVICEFILES:
pci905217501DebugPrint(_T("DIF_INSTALLDEVICEFILES\n"));
break;
case DIF_ALLOW_INSTALL:
pci905217501DebugPrint(_T("DIF_ALLOW_INSTALL\n"));
break;
case DIF_SELECTBESTCOMPATDRV:
pci905217501DebugPrint(_T("DIF_SELECTBESTCOMPATDRV\n"));
break;
case DIF_INSTALLINTERFACES:
pci905217501DebugPrint(_T("DIF_INSTALLINTERFACES\n"));
break;
case DIF_REGISTER_COINSTALLERS:
pci905217501DebugPrint(_T("DIF_REGISTER_COINSTALLERS\n"));
break;
default:
pci905217501DebugPrint(_T("Unknown request %x\n"), InstallFunction);
break;
}
return ERROR_DI_DO_DEFAULT;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
// pci905217501OpenDevice
// opens handle to a device
//
// Arguments:
// IN Params
// device parameters
//
// Returns:
// Handle
//
HANDLE pci905217501OpenDevice(
IN PPCI905217501_PROP_PARAMS Params
)
{
HANDLE hDevice;
HDEVINFO hDevInfo;
SP_DEVICE_INTERFACE_DATA interfaceData;
TCHAR devInst[500];
PSP_DEVICE_INTERFACE_DETAIL_DATA pInterfaceDetailData;
ULONG length;
// Get the device instance
if (!SetupDiGetDeviceInstanceId(
Params->DeviceInfoSet,
Params->DeviceInfoData,
devInst,
500,
NULL))
{
pci905217501DebugPrint(_T("SetupDiGetDeviceInstanceId failed, Error: %d\n"), GetLastError());
return INVALID_HANDLE_VALUE;
}
hDevInfo = SetupDiGetClassDevs(
(CONST LPGUID)&GUID_DEVINTERFACE_PCI905217501,
devInst,
NULL,
DIGCF_DEVICEINTERFACE | DIGCF_PRESENT
);
if (hDevInfo == INVALID_HANDLE_VALUE)
{
pci905217501DebugPrint(_T("SetupDiGetClassDevs failed, Error: %d\n"), GetLastError());
return INVALID_HANDLE_VALUE;
}
interfaceData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA);
if (!SetupDiEnumDeviceInterfaces(
hDevInfo,
NULL,
(CONST LPGUID) &GUID_DEVINTERFACE_PCI905217501,
0,
&interfaceData))
{
pci905217501DebugPrint(_T("SetupDiEnumDeviceInterfaces failed, Error: %d\n"), GetLastError());
SetupDiDestroyDeviceInfoList(hDevInfo);
return INVALID_HANDLE_VALUE;
}
SetupDiGetDeviceInterfaceDetail(
hDevInfo,
&interfaceData,
NULL,
0,
&length,
NULL
);
if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)
{
pci905217501DebugPrint(_T("SetupDiGetDeviceInterfaceDetail failed 1, Error: %d\n"), GetLastError());
SetupDiDestroyDeviceInfoList(hDevInfo);
return INVALID_HANDLE_VALUE;
}
pInterfaceDetailData = (PSP_DEVICE_INTERFACE_DETAIL_DATA)HeapAlloc(GetProcessHeap(), 0, length);
if (pInterfaceDetailData == NULL)
{
pci905217501DebugPrint(_T("Failed to allocate SP_DEVICE_INTERFACE_DETAIL_DATA buffer\n"));
SetupDiDestroyDeviceInfoList(hDevInfo);
return INVALID_HANDLE_VALUE;
}
pInterfaceDetailData->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
if (!SetupDiGetDeviceInterfaceDetail(
hDevInfo,
&interfaceData,
pInterface
没有合适的资源?快使用搜索试试~ 我知道了~
用driverstudio自动生成的驱动。想用CVI调用怎么也不行。希望大大们给点意见
共75个文件
h:9个
obj:6个
cpp:6个
需积分: 9 2 下载量 133 浏览量
2008-10-22
17:35:19
上传
评论
收藏 1.96MB RAR 举报
温馨提示
用DRIVERSTUDIO生成的驱动,可是想用CVI做应用怎么也做不起来。放上来,希望大大们能给点意见。
资源推荐
资源详情
资源评论
收起资源包目录
pci905217501.rar (75个子文件)
pci905217501
dirs 64B
intrface.h 1KB
pci905217501.opt 72KB
pci905217501.dsw 1KB
clsinst
pci905217501ClsInst.rc 2KB
sources 583B
pci905217501ClsInst.plg 2KB
resource.h 232B
pci905217501ClsInst.c 20KB
pci905217501.ico 2KB
makefile 267B
pci905217501ClsInst.def 72B
objchk
i386
pci905217501ClsInst.sbr 0B
pci905217501ClsInst.bsc 1.64MB
pci905217501ClsInst.obj 23KB
pci905217501ClsInst.lib 2KB
pci905217501ClsInst.pch 3.06MB
pci905217501ClsInst.exp 773B
pci905217501ClsInst.res 4KB
pci905217501ClsInst.idb 41KB
pci905217501clsinst.pdb 60KB
pci905217501ClsInst.dll 152KB
pci905217501ClsInst.ilk 276KB
pci905217501ClsInst.dsp 5KB
driver
pci905217501Driver.h 785B
pci905217501Queue.cpp 3KB
sources 2KB
function.h 725B
pci905217501Queue.h 898B
pci905217501.plg 3KB
pci905217501.cat 172B
pci905217501.rc 1KB
pci905217501.opt 59KB
pci905217501.dsw 547B
pci905217501Driver.cpp 5KB
pci905217501.dsp 7KB
makefile 267B
pci905217501Device.cpp 27KB
pci905217501.inf 5KB
pci905217501.ncb 41KB
pci905217501Device.h 3KB
objchk
i386
pci905217501Queue.obj 23KB
pci905217501Driver.obj 49KB
pci905217501.sys 74KB
pci905217501Device.obj 109KB
pci905217501.NMS 1.71MB
pci905217501.pdb 572KB
pci905217501.res 852B
app
sources 634B
resource.h 1KB
pci905217501App.rc 2KB
obj
_objects.mac 522B
makefile 267B
pci905217501App.aps 35KB
pci905217501Iorw.cpp 11KB
buildchk.log 3KB
pci905217501App.dsp 5KB
objchk
i386
pci905217501app.obj 27KB
pci905217501app.res 1KB
pci905217501App.exe 13KB
pci905217501iorw.obj 19KB
pci905217501App.pdb 121KB
pci905217501App.plg 266B
pci905217501App.cpp 19KB
pci905217501App.h 1KB
pci905217501Vars.xml 8KB
pci905217501.ncb 81KB
ReadMe.htm 19KB
coinst
sources 581B
resource.h 179B
pci905217501CoInst.dsp 5KB
makefile 267B
pci905217501CoInst.def 68B
pci905217501CoInst.rc 1KB
pci905217501CoInst.cpp 22KB
共 75 条
- 1
资源评论
lidongnick
- 粉丝: 4
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功