1 /***************************************** 2 Author:foo_hack 3 4 This is File named:Setup.h 5 6 The Funtion Implement in Setup.cpp 7 8 9 10 ******************************************/ 11 12 13 #include "stdafx.h" 14 15 void UDBG(TCHAR *msg, ...); 16 17 void FreeAllInfFiles(); 18 int FindAllInfFiles(WCHAR* csDir); 19 void InstallDriver(); 20 int UpdateDriver(); 21 void FindAllDevices(const WCHAR* asHID); 22 void FreeDevices(); 23 void RemoveDevices(); 24 BOOL Reboot(); 25 BOOL ConfigRight(WCHAR* szPath); 26 27 VOID SearchRegistryHardID(PWCHAR pHardIDBuffer); 28 29 //////////////////////////////////////////////////////////////////// 30 31 BOOL IsDeviceInstallInProgress(VOID); 32 int RemoveDriver(_TCHAR *HardwareID); 33 VOID UninstallWDMDriver(LPCTSTR theHardware); 34 BOOL UnicodeToAnsi(LPCWSTR Source, const WORD wLen, LPSTR Destination, const WORD sLen); 35 BOOL AnsiToUnicode(LPCSTR Source, const WORD sLen, LPWSTR Destination, const WORD wLen); 36 //BOOL GetINFData(FILE *pFile); 37 VOID FindComma(LPSTR szData); 38 //BOOL GetSectionData(FILE* pFile, const char* szKey, const char bIsVender); 39 //BOOL IsInstalled(); 40 BOOL InstallClassDriver(LPCTSTR theINFName); 41 BOOL StartInstallWDMDriver(LPCTSTR theInfName) ; 42 43 BOOL FindExistingDevice(IN LPTSTR HardwareId); 44 45 VOID InitialGlobalVar(); 46 47 48 //////////////////////////////////////////////////////////////////// 49 50 //extern WORD g_wVender; 51 //extern WORD g_wHardware; 52 //extern TCHAR g_strVender[20][64]; 53 //extern TCHAR g_strHardware[20][64]; 54 //extern TCHAR g_strHID[MAX_PATH+1]; 55 56 57 58 /////////////////////////////////////////////////////////////////// 59 60 typedef struct 61 { 62 WCHAR asHID[MAX_PATH]; 63 int nInfNum; // g_asInfList下标号 64 65 int nNumCone; 66 int nNumNotCone; 67 bool bNeedUpdate; 68 69 bool bWillBeUpdate; 70 bool bSuccess; 71 //int nFail; 72 } HID_INFO, *PHID_INFO; 73 74 typedef struct 75 { 76 WCHAR asInfName[MAX_PATH]; // 文件名 77 WCHAR asFullPath[MAX_PATH]; // 全路径 78 WCHAR asDesPath[MAX_PATH]; 79 WCHAR *asDesName; 80 WCHAR asVersion[MAX_PATH]; 81 WCHAR asClassName[MAX_PATH]; 82 WCHAR asProvider[MAX_PATH]; 83 WCHAR asDSign[MAX_PATH]; 84 bool bWillBeInstall; 85 int nResultInstall; 86 }INF_INFO, *PINF_INFO; 87 88 #define MAX_SYMBOL_LINK 250 89 90 typedef struct Hid_Ddvices{ 91 WCHAR asHID[MAX_PATH]; 92 93 WCHAR* asDeviceInstanceID[MAX_SYMBOL_LINK]; 94 bool bLink[MAX_SYMBOL_LINK]; 95 bool bSuccess[MAX_SYMBOL_LINK]; 96 bool bWillBeDelete[MAX_SYMBOL_LINK]; 97 98 int nMaxCount; 99 int nCount; 100 101 bool bNeedReboot; 102 103 Hid_Ddvices() 104 { 105 nCount = nMaxCount = 0; 106 bNeedReboot = false; 107 108 ZeroMemory(asHID, sizeof(asHID)+ sizeof(asDeviceInstanceID) + 109 sizeof(bLink) + sizeof(bSuccess) + sizeof(bWillBeDelete)); 110 } 111 }HID_DEVICES, *PHID_DEVICES; 112 113 #define MAX_INF_COUNT 40 114 #define MAX_HID_COUNT 250 115 116 extern PINF_INFO g_InfList[MAX_INF_COUNT]; 117 extern int g_nInfCount; // INF文 118 119 extern PHID_INFO g_HIDInfo[MAX_HID_COUNT]; 120 extern int g_nHIDCount ; // HID个数 121 122 extern HID_DEVICES g_HIDDevices;
相关文章: