//=======================================================================
//
//  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)

