214 lines
7.4 KiB
C
214 lines
7.4 KiB
C
|
/* DRIVERS.H
|
||
|
**
|
||
|
** Copyright (C) Microsoft, 1990, All Rights Reserved.
|
||
|
**
|
||
|
**
|
||
|
** Multimedia Control Panel Drivers Applet.
|
||
|
**
|
||
|
** Display a list of all installed drivers, allow user to configure
|
||
|
** existing or install new ones.
|
||
|
**
|
||
|
*/
|
||
|
#include "dlgs.h"
|
||
|
#include "commdlg.h"
|
||
|
#include <multimed.h>
|
||
|
|
||
|
#define SECTION 512 // Maximum size of section
|
||
|
#define DLG_BROWSE 38
|
||
|
#define MAXSTR 256
|
||
|
#define UNLIST_LINE 1
|
||
|
#define NO_UNLIST_LINE 0
|
||
|
#define WEC_RESTART 0x42
|
||
|
#define DESC_SYS 3
|
||
|
#define DESC_INF 2
|
||
|
#define DESC_EXE 1
|
||
|
#define DESC_NOFILE 0
|
||
|
|
||
|
typedef struct _IDRIVER
|
||
|
{
|
||
|
WCHAR wszSection[MAXSTR];
|
||
|
WCHAR wszAlias[MAXSTR];
|
||
|
WCHAR wszFile[MAX_PATH];
|
||
|
char szSection[MAXSTR];
|
||
|
char szAlias[MAXSTR];
|
||
|
char szFile[MAX_PATH];
|
||
|
char szDesc[MAXSTR];
|
||
|
struct _IDRIVER *related;
|
||
|
BOOL bRelated;
|
||
|
char szRelated[MAXSTR];
|
||
|
char szRemove[MAXSTR];
|
||
|
int fQueryable; // 0 -> can't, 1 -> can, -1 -> need to check
|
||
|
BOOL bInstall; // 0 -> no, 1 -> yes
|
||
|
BOOL KernelDriver; // If TRUE this is a kernel driver, not an
|
||
|
// 'installable' driver so it can't be opened,
|
||
|
// process messages etc.
|
||
|
#ifdef INFFILE
|
||
|
BOOL infFileProcessing;
|
||
|
#endif // INFFILE
|
||
|
} IDRIVER, *PIDRIVER;
|
||
|
|
||
|
extern HANDLE myInstance;
|
||
|
extern char szNULL[];
|
||
|
extern char szDrivers[];
|
||
|
extern char szBoot[];
|
||
|
extern char szDriversHlp[];
|
||
|
extern char szAppName[];
|
||
|
extern char szUnlisted[];
|
||
|
extern char szFullPath[];
|
||
|
extern char szOemInf[];
|
||
|
extern char szDirOfSrc[];
|
||
|
extern char szUserDrivers[];
|
||
|
extern char szControlIni[];
|
||
|
extern char szDriversDesc[];
|
||
|
extern char szSetupInf[];
|
||
|
extern char szSysIni[];
|
||
|
extern char szMCI[];
|
||
|
extern char szRestartDrv[];
|
||
|
extern char szRelated[];
|
||
|
extern char szNULL[];
|
||
|
extern char szBackslash[];
|
||
|
extern char szOutOfRemoveSpace[];
|
||
|
extern char szKnown[];
|
||
|
extern char szRelatedDesc[];
|
||
|
extern char szDrv[];
|
||
|
extern char szRemove[];
|
||
|
extern char szSystem[];
|
||
|
extern char szSystemDrivers[];
|
||
|
extern int iRestartMessage;
|
||
|
extern UINT wHelpMessage;
|
||
|
extern DWORD dwContext;
|
||
|
extern BOOL bCopyVxD;
|
||
|
extern BOOL bVxd;
|
||
|
extern BOOL bInstallBootLine;
|
||
|
extern BOOL bFindOEM;
|
||
|
extern BOOL bRestart;
|
||
|
extern BOOL bCopyingRelated;
|
||
|
extern BOOL bRelated;
|
||
|
extern HWND hlistbox;
|
||
|
|
||
|
//------------------------------------------------------------------------
|
||
|
//
|
||
|
// Public routines
|
||
|
//
|
||
|
//------------------------------------------------------------------------
|
||
|
extern void RemoveDriverEntry (PSTR, PSTR, PSTR, BOOL);
|
||
|
extern int FileNameCmp (char *, char *);
|
||
|
extern void OpenDriverError (HWND, LPSTR, LPSTR);
|
||
|
extern void RemoveSpaces (LPSTR, LPSTR);
|
||
|
extern BOOL RestartDlg (HWND, unsigned, UINT, LONG);
|
||
|
extern int AddDriversDlg (HWND, unsigned, UINT, LONG);
|
||
|
extern BOOL AddUnlistedDlg (HWND, unsigned, UINT, LONG);
|
||
|
extern BOOL mmAddNewDriver (LPSTR, LPSTR, PIDRIVER);
|
||
|
extern LONG PostRemove (HWND, PIDRIVER, BOOL, int);
|
||
|
extern BOOL RemoveService (LPSTR);
|
||
|
extern BOOL IsOnlyInstance (HWND, PIDRIVER);
|
||
|
extern BOOL CopyToSysDir (void);
|
||
|
extern BOOL InstallDrivers (HWND, HWND, PSTR);
|
||
|
extern void InitDrvConfigInfo (LPDRVCONFIGINFO, PIDRIVER);
|
||
|
extern int AddIDriver (HWND, PIDRIVER);
|
||
|
extern BOOL IsConfigurable (PIDRIVER, HWND);
|
||
|
extern void BrowseDlg (HWND, int);
|
||
|
extern int LoadDesc (PIDRIVER, PSTR, PSTR);
|
||
|
extern BOOL wsInfParseInit (void);
|
||
|
extern void wsStartWait (void);
|
||
|
extern void wsEndWait (void);
|
||
|
extern UINT wsCopySingleStatus (int, DWORD, LPSTR);
|
||
|
|
||
|
|
||
|
/* Resource IDs */
|
||
|
|
||
|
#define IDOK 1
|
||
|
#define IDCANCEL 2
|
||
|
#define ID_IGNORE 3
|
||
|
#define ID_CURRENT 4
|
||
|
#define ID_RETRY 5
|
||
|
#define ID_NEW 6
|
||
|
|
||
|
#define ID_DISK 101
|
||
|
#define ID_ADD 102
|
||
|
#define ID_CONFIGURE 103
|
||
|
#define ID_REMOVE 104
|
||
|
#define ID_EDIT 105
|
||
|
#define ID_TEXT 106
|
||
|
|
||
|
#define ID_FILE 201
|
||
|
#define ID_DIR 202
|
||
|
#define ID_FILE_LIST 203
|
||
|
#define ID_DIR_LIST 204
|
||
|
#define ID_TYPE 205
|
||
|
|
||
|
#define LB_AVAILABLE 301
|
||
|
#define ID_DRV 302
|
||
|
#define ID_LIST 303
|
||
|
#define ID_DRVSTRING 304
|
||
|
#define LB_INSTALLED 305
|
||
|
#define LB_UNLISTED 306
|
||
|
|
||
|
#define DLG_INSTALLED 1001
|
||
|
#define DLG_UPDATE 1002
|
||
|
#define DLG_KNOWN 1003
|
||
|
#define DLG_RESTART 1004
|
||
|
#define DLG_EXISTS 1005
|
||
|
#define DLG_INSERTDISK 1006
|
||
|
|
||
|
#define DLG_COPYERR 1007
|
||
|
#define ID_STATUS2 1008
|
||
|
|
||
|
#define IDS_NOINF 2003
|
||
|
#define IDS_DEFDRIVE 2004
|
||
|
#define IDS_OUTOFDISK 2005
|
||
|
#define IDS_DISKS 2006
|
||
|
#define IDS_INSTALLDRIVERS 2007
|
||
|
#define IDS_INSTALLDRIVERS32 2066
|
||
|
#define IDS_DRIVERDESC 2008
|
||
|
#define IDS_OUT_OF_REMOVE_SPACE 2009
|
||
|
#define IDS_AVAILABLE_DRIVERS_DEFAULT 2010
|
||
|
#define IDS_ERROR 2011
|
||
|
#define IDS_INSTALLING_DRIVERS 2012
|
||
|
#define IDS_NO_DESCRIPTION 2013
|
||
|
#define IDS_ERRORBOX 2014
|
||
|
#define IDS_RESTARTTEXT 2015
|
||
|
#define IDS_CONFIGURE_DRIVER 2016
|
||
|
#define IDS_TOO_MANY_DRIVERS 2017
|
||
|
#define IDS_CANNOT_FIND 2018
|
||
|
#define IDS_APPNAME 2019
|
||
|
#define IDS_DRIVERS 2020
|
||
|
#define IDS_SETUPINF 2021
|
||
|
#define IDS_CONTROLINI 2022
|
||
|
#define IDS_SYSINI 2023
|
||
|
#define IDS_MCI 2024
|
||
|
#define IDS_CONTROL_INI 2025
|
||
|
#define IDS_WIN 2027
|
||
|
#define IDS_DOS 2028
|
||
|
#define IDS_BROWSE 2029
|
||
|
#define IDS_UPDATED 2031
|
||
|
#define IDS_CLOSE 2032
|
||
|
#define IDS_REMOVEORNOT 2033
|
||
|
#define IDS_UNLISTED 2034
|
||
|
#define IDS_KNOWN 2035
|
||
|
#define IDS_REMOVE 2036
|
||
|
#define IDS_REMOVEORNOTSTRICT 2037
|
||
|
#define IDS_USERINSTALLDRIVERS 2038
|
||
|
#define IDS_OEMSETUP 2044
|
||
|
#define IDS_SYSTEM 2045
|
||
|
#define IDS_FILE_ERROR 2046
|
||
|
#define IDS_VALID_DRIVER_TYPES 2047
|
||
|
#define IDS_UNABLE_TOINSTALL 2049
|
||
|
#define IDS_BOOT 2050
|
||
|
#define IDS_RESTART_ADD 2051
|
||
|
#define IDS_RESTART_REM 2052
|
||
|
#define IDS_FILEINUSEADD 2053
|
||
|
#define IDS_OEMDISKS 2054
|
||
|
#define IDS_FILEINUSEREM 2055
|
||
|
#define IDS_LASTQUERY 2056
|
||
|
#define IDS_RELATEDDESC 2057
|
||
|
#define IDS_DRIVER_EXISTS 2058
|
||
|
#define IDS_SYSTEM_DRIVERS 2060
|
||
|
#define IDS_INSUFFICIENT_PRIVILEGE 2061
|
||
|
#define IDS_CANNOT_RESTART_PRIVILEGE 2062
|
||
|
#define IDS_CANNOT_RESTART_UNKNOWN 2063
|
||
|
#define IDS_DRIVER_CONFIG_ERROR 2064
|
||
|
#define IDS_CANTADD 2065
|
||
|
|
||
|
#define DRIVERS_ICON ID_ICON
|