//----------------------------------------------------------------------------- // File: appregdef.h // // Copyright: Copyright (c) Microsoft Corporation // // Contents: Header file for Application Registration // // Comments: 23-May-2000 // Application registration for MDAC Rollback // //----------------------------------------------------------------------------- #ifndef _APPREGDEF_H_ODBCCONF #define _APPREGDEF_H_ODBCCONF // Application Registration Data structure // Field definitions: // dwSize Size of the structure (in bytes) // ApplicationGuid Guid assigned to application. Guid should only // change if it is possible to install two+ versions // of the application on a single machine (side-by-side). // wApplicationVersionMajor Major version of the application (ie. Office 9; Major would be 9) // wApplcationVersionMinor Minor version of the application (ie. Office 9 SR1; Minor would be 1 ???) // wMinimumVersionMajor Major version of the minimum required version of the component // (ie. SQL Server 2000 requires MDAC 2.60; Major would be 2) // wMinimumVersionMinor Minor version of the minimum require version of the component // (ie. SQL Server 2000 requires MDAC 2.60; Minor would be 60) // wInstalledVersionMajor Major version of the component which the application installed // (ie. SQL Server 2000 installs MDAC 2.60; Major would be 2) // wInstalledVersionMinor Minor version of the component which the application installed // (ie. SQL Server 2000 installs MDAC 2.60; Minor would be 60) // bInstalledComponent TRUE if the application installed the component, FALSE if the component // is a pre-requisite of the application // bEnforceMinimum TRUE if the wizard should double check the minimum version, and disable // rollback if a rollback would restore a version that was less than the minimum typedef struct { DWORD dwSize; GUID ApplicationGuid; char szApplicationName[MAX_PATH]; DWORD dwReserved1; DWORD dwReserved2; DWORD dwApplicationVersionMajor; DWORD dwApplicationVersionMinor; DWORD dwMinimumVersionMajor; DWORD dwMinimumVersionMinor; DWORD dwInstalledVersionMajor; DWORD dwInstalledVersionMinor; BOOL bInstalledComponent; BOOL bEnforceMinimum; } APPREGDATA, *PAPPREGDATA; //AppReg Enumeration Handle typedef void *HAPPREGENUM; typedef BOOL (WINAPI *PFN_REGISTERAPPLICATION)(PAPPREGDATA, BOOL); typedef BOOL (WINAPI *PFN_UNREGISTERAPPLICATION)(LPGUID); typedef BOOL (WINAPI *PFN_QUERYAPPLICATION)(LPGUID, PAPPREGDATA); typedef HAPPREGENUM (WINAPI *PFN_OPENAPPREGENUM)(void); typedef BOOL (WINAPI *PFN_APPREGENUM)(HAPPREGENUM, DWORD, PAPPREGDATA); typedef BOOL (WINAPI *PFN_REFRESHAPPREGENUM)(HAPPREGENUM); typedef BOOL (WINAPI *PFN_CLOSEAPPREGENUM)(HAPPREGENUM); #define SZ_REGISTERAPPLICATION "RegisterApplication" #define SZ_UNREGISTERAPPLICATION "UnregisterApplication" #define SZ_QUERYAPPLICATION "QueryApplication" #define SZ_OPENAPPREGENUM "OpenAppRegEnum" #define SZ_CLOSEAPPREGENUM "CloseAppRegEnum" #define SZ_REFRESHAPPREGENUM "RefreshAppRegEnum" #define SZ_APPREGENUM "AppRegEnum" /******************** Exports ********************/ //RegisterApplication // IN - PAPPREGDATA pAppRegData // BOOL WINAPI RegisterApplication( PAPPREGDATA pAppRegData, BOOL fOverWrite); //UnregisterApplication // IN - LPGUID pApplicationGuid // BOOL WINAPI UnregisterApplication( LPGUID pApplicationGuid); //OpenAppRegEnum // Comments: Opens an Enumeraion Handle and returns the handle // HAPPREGENUM WINAPI OpenAppRegEnum( void); //CloseAppRegEnum // IN - HAPPREGENUM hEnum // // Comments: Closes an Enumeraion Handle // BOOL WINAPI CloseAppRegEnum( HAPPREGENUM hEnum); //QueryApplication // IN - LPGUID pApplicationGuid // OUT - PAPPREGDATA pAppRegData // BOOL WINAPI QueryApplication( LPGUID pApplicationGuid, PAPPREGDATA pAppRegData); // valid values for AppRegEnum dwAction #define APPREG_MOVEFIRST 1 #define APPREG_MOVENEXT 2 #define APPREG_MOVEPREV 3 #define APPREG_MOVELAST 4 //AppRegEnum // IN - HAPPREGENUM hEnum // IN - DWORD dwAction // OUT - PAPPREGDATA pAppRegData // // Comments: Enumerates the list of Registered Applications // BOOL WINAPI AppRegEnum( HAPPREGENUM hEnum, DWORD dwAction, PAPPREGDATA pAppRegData); //RefreshAppRegEnum // IN - HAPPREGENUM hEnum // BOOL WINAPI RefreshAppRegEnum( HAPPREGENUM hEnum); #endif // _APPREFDEF_H_ODBCCONF