Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

290 lines
15 KiB

//=======================================================================
//
// Copyright (c) 1998-2000 Microsoft Corporation. All Rights Reserved.
//
// File: SchemaKeys.h
//
// Author: Charles Ma
// 2000.12.4
//
// Description:
//
// header file to declare all schema keys
//
//=======================================================================
#pragma once
#include <windows.h>
#include <ole2.h>
#include <tchar.h>
class CSchemaKeys
{
public:
CSchemaKeys();
~CSchemaKeys();
BSTR SCHEMA_KEY_XML_NAMESPACE; // = L"xmlns";
BSTR SCHEMA_KEY_XML; // = L"xml";
BSTR SCHEMA_KEY_SYSTEMINFO; // = L"systemInfo";
BSTR SCHEMA_KEY_COMPUTERSYSTEM; // = L"computerSystem";
BSTR SCHEMA_KEY_MANUFACTURER; // = L"manufacturer";
BSTR SCHEMA_KEY_MODEL; // = L"model";
BSTR SCHEMA_KEY_SUPPORTSITE; // = L"supportSite";
BSTR SCHEMA_KEY_ADMINISTRATOR; // = L"administrator";
BSTR SCHEMA_KEY_WU_DISABLED; // = L"windowsUpdateDisabled";
BSTR SCHEMA_KEY_AU_ENABLED; // = L"autoUpdateEnabled";
BSTR SCHEMA_KEY_DRIVESPACE; // = L"driveSpace";
BSTR SCHEMA_KEY_DRIVE; // = L"drive";
BSTR SCHEMA_KEY_KBYTES; // = L"kbytes";
BSTR SCHEMA_KEY_REGKEYS; // = L"regKeys";
BSTR SCHEMA_KEY_REG_HKLM; // = L"HKEY_LOCAL_MACHINE";
BSTR SCHEMA_KEY_REG_SW; // = L"SOFTWARE";
BSTR SCHEMA_KEY_NAME; // = L"name";
BSTR SCHEMA_KEY_COMSERVER; // = L"comserverID";
BSTR SCHEMA_KEY_KEY; // = L"key";
BSTR SCHEMA_KEY_ENTRY; // = L"entry";
BSTR SCHEMA_KEY_VALUE; // = L"value";
BSTR SCHEMA_KEY_VERSION; // = L"version";
BSTR SCHEMA_KEY_VERSIONSTATUS; // = L"versionStatus";
BSTR SCHEMA_KEY_FILEPATH; // = L"filePath";
BSTR SCHEMA_KEY_TIMESTAMP; // = L"timestamp";
BSTR SCHEMA_KEY_GUID; // = L"guid";
BSTR SCHEMA_KEY_CATALOG_PROVIDER;// = L"catalog/provider"
BSTR SCHEMA_KEY_ITEMS; // = L"items"
BSTR SCHEMA_KEY_ITEM_SEARCH; // = L"catalog/provider/item"
BSTR SCHEMA_KEY_ITEM; // = L"item"
BSTR SCHEMA_KEY_ITEM_ITEMSTATUS; // = L"items/itemStatus";
BSTR SCHEMA_KEY_ITEMSTATUS; // = L"itemStatus";
BSTR SCHEMA_KEY_DETECTION; // = L"detection"
BSTR SCHEMA_KEY_INSTALLATION; // = L"installation";
BSTR SCHEMA_KEY_INSTALLSTATUS; // = L"installStatus";
BSTR SCHEMA_KEY_INSTALLERTYPE; // = L"installerType";
BSTR SCHEMA_KEY_EXCLUSIVE; // = L"exclusive";
BSTR SCHEMA_KEY_NEEDSREBOOT; // = L"needsReboot";
BSTR SCHEMA_KEY_COMMAND; // = L"command";
BSTR SCHEMA_KEY_SWITCHES; // = L"switches";
BSTR SCHEMA_KEY_COMMANDTYPE; // = L"commandType";
BSTR SCHEMA_KEY_INFINSTALL; // = L"infInstallSection";
BSTR SCHEMA_KEY_CODEBASE; // = L"codeBase";
BSTR SCHEMA_KEY_CRC; // = L"crc";
BSTR SCHEMA_KEY_PATCHAVAILABLE; // = L"patchAvailable";
BSTR SCHEMA_KEY_SIZE; // = L"size";
BSTR SCHEMA_KEY_DOWNLOADPATH; // = L"downloadPath";
BSTR SCHEMA_KEY_DOWNLOADSTATUS; // = L"downloadStatus";
BSTR SCHEMA_KEY_DEPENDENCIES; // = L"dependencies";
BSTR SCHEMA_KEY_DESCRIPTION; // = L"description";
BSTR SCHEMA_KEY_HREF; // = L"href"
// NSOY - Fix build break BSTR SCHEMA_KEY_CRC; // = L"crc";
BSTR SCHEMA_KEY_IDENTITY; // = L"identity";
BSTR SCHEMA_KEY_PUBLISHERNAME; // = L"publisherName";
BSTR SCHEMA_KEY_LANGUAGE; // = L"language"
BSTR SCHEMA_KEY_PLATFORM; // = L"platform"
BSTR SCHEMA_KEY_PROCESSORARCHITECTURE; // = L"processorArchitecture"
BSTR SCHEMA_KEY_SUITE; // = L"suite"
BSTR SCHEMA_KEY_PRODUCTTYPE; // = L"productType"
BSTR SCHEMA_KEY_LOCALE; // = L"locale";
BSTR SCHEMA_KEY_CONTEXT; // = L"context";
BSTR SCHEMA_KEY_MAJOR; // = L"major"
BSTR SCHEMA_KEY_MINOR; // = L"minor"
BSTR SCHEMA_KEY_BUILD; // = L"build"
BSTR SCHEMA_KEY_SERVICEPACKMAJOR;// = L"servicePackMajor"
BSTR SCHEMA_KEY_SERVICEPACKMINOR;// = L"servicePackMinor"
BSTR SCHEMA_KEY_COMPATIBLEHARDWARE; // = L"compatibleHardware"
BSTR SCHEMA_KEY_DEVICES; // = L"devices"
BSTR SCHEMA_KEY_DEVICE; // = L"device"
BSTR SCHEMA_KEY_PRINTERINFO; // = L"printerInfo"
BSTR SCHEMA_KEY_CDM_PINFO; // = L"device/printerInfo"
BSTR SCHEMA_KEY_DRIVERNAME; // = L"driverName"
BSTR SCHEMA_KEY_HWID; // = L"hwid"
BSTR SCHEMA_KEY_CDM_HWIDPATH; // = L"device/hwid"
BSTR SCHEMA_KEY_DESCRIPTIONTEXT; // = L"descriptionText"
BSTR SCHEMA_KEY_TITLE; // = L"title"
BSTR SCHEMA_KEY_ITEMID; // = L"itemID";
BSTR SCHEMA_KEY_HIDDEN; // = L"hidden";
BSTR SCHEMA_KEY_ISPRINTER; // = L"isPrinter"
BSTR SCHEMA_KEY_DEVICEINSTANCE; // = L"deviceInstance"
BSTR SCHEMA_KEY_DRIVERPROVIDER; // = L"driverProvider"
BSTR SCHEMA_KEY_MFGNAME; // = L"mfgName"
BSTR SCHEMA_KEY_DRIVERVER; // = L"driverVer"
BSTR SCHEMA_KEY_RANK; // = L"rank"
BSTR SCHEMA_KEY_READMORE; // = L"description/descriptionText/details"
BSTR SCHEMA_KEY_ERRORCODE; // = L"errorCode";
BSTR SCHEMA_KEY_CATALOGSTATUS; // = L"catalogStatus";
BSTR SCHEMA_KEY_PID; // = L"pid";
BSTR SCHEMA_KEY_DETECTRESULT; // = L"detectResult"
BSTR SCHEMA_KEY_INSTALLED; // = L"installed"
BSTR SCHEMA_KEY_UPTODATE; // = L"upToDate"
BSTR SCHEMA_KEY_NEWERVERSION; // = L"newerVersion";
BSTR SCHEMA_KEY_EXCLUDED; // = L"excluded"
BSTR SCHEMA_KEY_FORCE; // = L"force"
BSTR SCHEMA_KEY_VERSTATUS_HI; // = L"HIGHER";
BSTR SCHEMA_KEY_VERSTATUS_HE; // = L"HIGHER_OR_SAME";
BSTR SCHEMA_KEY_VERSTATUS_EQ; // = L"SAME";
BSTR SCHEMA_KEY_VERSTATUS_LE; // = L"LOWER_OR_SAME";
BSTR SCHEMA_KEY_VERSTATUS_LO; // = L"LOWER";
BSTR SCHEMA_KEY_FILE; // = L"path";
BSTR SCHEMA_KEY_REGKEY; // = L"regKey";
BSTR SCHEMA_KEY_PATH; // = L"path";
BSTR SCHEMA_KEY_STATUS_COMPLETE; // = L"COMPLETE";
BSTR SCHEMA_KEY_STATUS_FAILED; // = L"FAILED";
BSTR SCHEMA_KEY_CLIENT; // = L"client";
BSTR SCHEMA_KEY_CLIENTINFO; // = L"clientInfo";
BSTR SCHEMA_KEY_CLIENTNAME; // = L"clientName"; attr of clientInfo tag
LPCTSTR SCHEMA_KEY_REGKEYEXISTS; // = _T("regKeyExists");
LPCTSTR SCHEMA_KEY_REGKEYVALUE; // = _T("regKeyValue");
LPCTSTR SCHEMA_KEY_REGKEYSUBSTR; // = _T("regKeySubstring");
LPCTSTR SCHEMA_KEY_REGKEYVERSION; // = _T("regKeyVersion");
LPCTSTR SCHEMA_KEY_FILEVERSION; // = _T("fileVersion");
LPCTSTR SCHEMA_KEY_FILEEXISTS; // = _T("fileExists");
LPCTSTR SCHEMA_KEY_AND; // = _T("and");
LPCTSTR SCHEMA_KEY_OR; // = _T("or");
LPCTSTR SCHEMA_KEY_NOT; // = _T("not");
};
extern CSchemaKeys *g_pGlobalSchemaKeys;
//
// Safe return of schema key from global object pointer
//
#define RETURN_SCHEMA_KEY( key ) (NULL == g_pGlobalSchemaKeys ? NULL : g_pGlobalSchemaKeys->##key)
#define KEY_XML_NAMESPACE RETURN_SCHEMA_KEY(SCHEMA_KEY_XML_NAMESPACE)
#define KEY_XML RETURN_SCHEMA_KEY(SCHEMA_KEY_XML)
#define KEY_SYSTEMINFO RETURN_SCHEMA_KEY(SCHEMA_KEY_SYSTEMINFO)
#define KEY_COMPUTERSYSTEM RETURN_SCHEMA_KEY(SCHEMA_KEY_COMPUTERSYSTEM)
#define KEY_SUPPORTSITE RETURN_SCHEMA_KEY(SCHEMA_KEY_SUPPORTSITE)
#define KEY_ADMINISTRATOR RETURN_SCHEMA_KEY(SCHEMA_KEY_ADMINISTRATOR)
#define KEY_WU_DISABLED RETURN_SCHEMA_KEY(SCHEMA_KEY_WU_DISABLED)
#define KEY_AU_ENABLED RETURN_SCHEMA_KEY(SCHEMA_KEY_AU_ENABLED)
#define KEY_DRIVESPACE RETURN_SCHEMA_KEY(SCHEMA_KEY_DRIVESPACE)
#define KEY_DRIVE RETURN_SCHEMA_KEY(SCHEMA_KEY_DRIVE)
#define KEY_KBYTES RETURN_SCHEMA_KEY(SCHEMA_KEY_KBYTES)
#define KEY_REGKEYS RETURN_SCHEMA_KEY(SCHEMA_KEY_REGKEYS)
#define KEY_REG_HKLM RETURN_SCHEMA_KEY(SCHEMA_KEY_REG_HKLM)
#define KEY_REG_SW RETURN_SCHEMA_KEY(SCHEMA_KEY_REG_SW)
#define KEY_NAME RETURN_SCHEMA_KEY(SCHEMA_KEY_NAME)
#define KEY_COMSERVER RETURN_SCHEMA_KEY(SCHEMA_KEY_COMSERVER)
#define KEY_KEY RETURN_SCHEMA_KEY(SCHEMA_KEY_KEY)
#define KEY_ENTRY RETURN_SCHEMA_KEY(SCHEMA_KEY_ENTRY)
#define KEY_VALUE RETURN_SCHEMA_KEY(SCHEMA_KEY_VALUE)
#define KEY_VERSION RETURN_SCHEMA_KEY(SCHEMA_KEY_VERSION)
#define KEY_VERSIONSTATUS RETURN_SCHEMA_KEY(SCHEMA_KEY_VERSIONSTATUS)
#define KEY_FILEPATH RETURN_SCHEMA_KEY(SCHEMA_KEY_FILEPATH)
#define KEY_TIMESTAMP RETURN_SCHEMA_KEY(SCHEMA_KEY_TIMESTAMP)
#define KEY_GUID RETURN_SCHEMA_KEY(SCHEMA_KEY_GUID)
#define KEY_CATALOG_PROVIDER RETURN_SCHEMA_KEY(SCHEMA_KEY_CATALOG_PROVIDER)
#define KEY_ITEMS RETURN_SCHEMA_KEY(SCHEMA_KEY_ITEMS)
#define KEY_ITEM_SEARCH RETURN_SCHEMA_KEY(SCHEMA_KEY_ITEM_SEARCH)
#define KEY_ITEM RETURN_SCHEMA_KEY(SCHEMA_KEY_ITEM)
#define KEY_ITEM_ITEMSTATUS RETURN_SCHEMA_KEY(SCHEMA_KEY_ITEM_ITEMSTATUS)
#define KEY_ITEMSTATUS RETURN_SCHEMA_KEY(SCHEMA_KEY_ITEMSTATUS)
#define KEY_DETECTION RETURN_SCHEMA_KEY(SCHEMA_KEY_DETECTION)
#define KEY_INSTALLATION RETURN_SCHEMA_KEY(SCHEMA_KEY_INSTALLATION)
#define KEY_INSTALLSTATUS RETURN_SCHEMA_KEY(SCHEMA_KEY_INSTALLSTATUS)
#define KEY_INSTALLERTYPE RETURN_SCHEMA_KEY(SCHEMA_KEY_INSTALLERTYPE)
#define KEY_EXCLUSIVE RETURN_SCHEMA_KEY(SCHEMA_KEY_EXCLUSIVE)
#define KEY_NEEDSREBOOT RETURN_SCHEMA_KEY(SCHEMA_KEY_NEEDSREBOOT)
#define KEY_COMMAND RETURN_SCHEMA_KEY(SCHEMA_KEY_COMMAND)
#define KEY_SWITCHES RETURN_SCHEMA_KEY(SCHEMA_KEY_SWITCHES)
#define KEY_COMMANDTYPE RETURN_SCHEMA_KEY(SCHEMA_KEY_COMMANDTYPE)
#define KEY_INFINSTALL RETURN_SCHEMA_KEY(SCHEMA_KEY_INFINSTALL)
#define KEY_CODEBASE RETURN_SCHEMA_KEY(SCHEMA_KEY_CODEBASE)
#define KEY_CRC RETURN_SCHEMA_KEY(SCHEMA_KEY_CRC)
#define KEY_PATCHAVAILABLE RETURN_SCHEMA_KEY(SCHEMA_KEY_PATCHAVAILABLE)
#define KEY_SIZE RETURN_SCHEMA_KEY(SCHEMA_KEY_SIZE)
#define KEY_DOWNLOADPATH RETURN_SCHEMA_KEY(SCHEMA_KEY_DOWNLOADPATH)
#define KEY_DOWNLOADSTATUS RETURN_SCHEMA_KEY(SCHEMA_KEY_DOWNLOADSTATUS)
#define KEY_DEPENDENCIES RETURN_SCHEMA_KEY(SCHEMA_KEY_DEPENDENCIES)
#define KEY_DESCRIPTION RETURN_SCHEMA_KEY(SCHEMA_KEY_DESCRIPTION)
#define KEY_HREF RETURN_SCHEMA_KEY(SCHEMA_KEY_HREF)
#define KEY_LANGUAGE RETURN_SCHEMA_KEY(SCHEMA_KEY_LANGUAGE)
#define KEY_PLATFORM RETURN_SCHEMA_KEY(SCHEMA_KEY_PLATFORM)
#define KEY_PROCESSORARCHITECTURE RETURN_SCHEMA_KEY(SCHEMA_KEY_PROCESSORARCHITECTURE)
#define KEY_SUITE RETURN_SCHEMA_KEY(SCHEMA_KEY_SUITE)
#define KEY_PRODUCTTYPE RETURN_SCHEMA_KEY(SCHEMA_KEY_PRODUCTTYPE)
#define KEY_LOCALE RETURN_SCHEMA_KEY(SCHEMA_KEY_LOCALE)
#define KEY_CONTEXT RETURN_SCHEMA_KEY(SCHEMA_KEY_CONTEXT)
#define KEY_MAJOR RETURN_SCHEMA_KEY(SCHEMA_KEY_MAJOR)
#define KEY_MINOR RETURN_SCHEMA_KEY(SCHEMA_KEY_MINOR)
#define KEY_BUILD RETURN_SCHEMA_KEY(SCHEMA_KEY_BUILD)
#define KEY_SERVICEPACKMAJOR RETURN_SCHEMA_KEY(SCHEMA_KEY_SERVICEPACKMAJOR)
#define KEY_SERVICEPACKMINOR RETURN_SCHEMA_KEY(SCHEMA_KEY_SERVICEPACKMINOR)
#define KEY_COMPATIBLEHARDWARE RETURN_SCHEMA_KEY(SCHEMA_KEY_COMPATIBLEHARDWARE)
#define KEY_DEVICES RETURN_SCHEMA_KEY(SCHEMA_KEY_DEVICES)
#define KEY_DEVICE RETURN_SCHEMA_KEY(SCHEMA_KEY_DEVICE)
#define KEY_PRINTERINFO RETURN_SCHEMA_KEY(SCHEMA_KEY_PRINTERINFO)
#define KEY_CDM_PINFO RETURN_SCHEMA_KEY(SCHEMA_KEY_CDM_PINFO)
#define KEY_DRIVERNAME RETURN_SCHEMA_KEY(SCHEMA_KEY_DRIVERNAME)
#define KEY_HWID RETURN_SCHEMA_KEY(SCHEMA_KEY_HWID)
#define KEY_CDM_HWIDPATH RETURN_SCHEMA_KEY(SCHEMA_KEY_CDM_HWIDPATH)
#define KEY_DESCRIPTIONTEXT RETURN_SCHEMA_KEY(SCHEMA_KEY_DESCRIPTIONTEXT)
#define KEY_TITLE RETURN_SCHEMA_KEY(SCHEMA_KEY_TITLE)
#define KEY_ITEMID RETURN_SCHEMA_KEY(SCHEMA_KEY_ITEMID)
#define KEY_HIDDEN RETURN_SCHEMA_KEY(SCHEMA_KEY_HIDDEN)
#define KEY_ISPRINTER RETURN_SCHEMA_KEY(SCHEMA_KEY_ISPRINTER)
#define KEY_DEVICEINSTANCE RETURN_SCHEMA_KEY(SCHEMA_KEY_DEVICEINSTANCE)
#define KEY_DRIVERPROVIDER RETURN_SCHEMA_KEY(SCHEMA_KEY_DRIVERPROVIDER)
#define KEY_MFGNAME RETURN_SCHEMA_KEY(SCHEMA_KEY_MFGNAME)
#define KEY_DRIVERVER RETURN_SCHEMA_KEY(SCHEMA_KEY_DRIVERVER)
#define KEY_RANK RETURN_SCHEMA_KEY(SCHEMA_KEY_RANK)
#define KEY_READMORE RETURN_SCHEMA_KEY(SCHEMA_KEY_READMORE)
#define KEY_ERRORCODE RETURN_SCHEMA_KEY(SCHEMA_KEY_ERRORCODE)
#define KEY_CATALOGSTATUS RETURN_SCHEMA_KEY(SCHEMA_KEY_CATALOGSTATUS)
#define KEY_PID RETURN_SCHEMA_KEY(SCHEMA_KEY_PID)
#define KEY_DETECTRESULT RETURN_SCHEMA_KEY(SCHEMA_KEY_DETECTRESULT)
#define KEY_INSTALLED RETURN_SCHEMA_KEY(SCHEMA_KEY_INSTALLED)
#define KEY_UPTODATE RETURN_SCHEMA_KEY(SCHEMA_KEY_UPTODATE)
#define KEY_NEWERVERSION RETURN_SCHEMA_KEY(SCHEMA_KEY_NEWERVERSION)
#define KEY_EXCLUDED RETURN_SCHEMA_KEY(SCHEMA_KEY_EXCLUDED)
#define KEY_FORCE RETURN_SCHEMA_KEY(SCHEMA_KEY_FORCE)
#define KEY_VERSTATUS_HI RETURN_SCHEMA_KEY(SCHEMA_KEY_VERSTATUS_HI)
#define KEY_VERSTATUS_HE RETURN_SCHEMA_KEY(SCHEMA_KEY_VERSTATUS_HE)
#define KEY_VERSTATUS_EQ RETURN_SCHEMA_KEY(SCHEMA_KEY_VERSTATUS_EQ)
#define KEY_VERSTATUS_LE RETURN_SCHEMA_KEY(SCHEMA_KEY_VERSTATUS_LE)
#define KEY_VERSTATUS_LO RETURN_SCHEMA_KEY(SCHEMA_KEY_VERSTATUS_LO)
#define KEY_IDENTITY RETURN_SCHEMA_KEY(SCHEMA_KEY_IDENTITY)
#define KEY_PUBLISHERNAME RETURN_SCHEMA_KEY(SCHEMA_KEY_PUBLISHERNAME)
#define KEY_FILE RETURN_SCHEMA_KEY(SCHEMA_KEY_FILE)
#define KEY_REGKEY RETURN_SCHEMA_KEY(SCHEMA_KEY_REGKEY)
#define KEY_PATH RETURN_SCHEMA_KEY(SCHEMA_KEY_PATH)
#define KEY_STATUS_COMPLETE RETURN_SCHEMA_KEY(SCHEMA_KEY_STATUS_COMPLETE)
#define KEY_STATUS_FAILED RETURN_SCHEMA_KEY(SCHEMA_KEY_STATUS_FAILED)
#define KEY_CLIENT RETURN_SCHEMA_KEY(SCHEMA_KEY_CLIENT)
#define KEY_CLIENTINFO RETURN_SCHEMA_KEY(SCHEMA_KEY_CLIENTINFO)
#define KEY_CLIENTNAME RETURN_SCHEMA_KEY(SCHEMA_KEY_CLIENTNAME)
#define KEY_MANUFACTURER RETURN_SCHEMA_KEY(SCHEMA_KEY_MANUFACTURER)
#define KEY_MODEL RETURN_SCHEMA_KEY(SCHEMA_KEY_MODEL)
#define KEY_REGKEYEXISTS RETURN_SCHEMA_KEY(SCHEMA_KEY_REGKEYEXISTS)
#define KEY_REGKEYVALUE RETURN_SCHEMA_KEY(SCHEMA_KEY_REGKEYVALUE)
#define KEY_REGKEYSUBSTR RETURN_SCHEMA_KEY(SCHEMA_KEY_REGKEYSUBSTR)
#define KEY_REGKEYVERSION RETURN_SCHEMA_KEY(SCHEMA_KEY_REGKEYVERSION)
#define KEY_FILEVERSION RETURN_SCHEMA_KEY(SCHEMA_KEY_FILEVERSION)
#define KEY_FILEEXISTS RETURN_SCHEMA_KEY(SCHEMA_KEY_FILEEXISTS)
#define KEY_AND RETURN_SCHEMA_KEY(SCHEMA_KEY_AND)
#define KEY_OR RETURN_SCHEMA_KEY(SCHEMA_KEY_OR)
#define KEY_NOT RETURN_SCHEMA_KEY(SCHEMA_KEY_NOT)