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.
 
 
 
 
 
 

404 lines
24 KiB

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997 - 1999.
//
// File: dllreg.cxx
//
// Contents: Null and Plain Text filter registration
//
// History: 21-Jan-97 dlee Created
//
//--------------------------------------------------------------------------
#include <pch.cxx>
#pragma hdrstop
#include <filtreg.hxx>
#include <langreg.hxx>
#include <cifrmres.h>
#include <strres.hxx>
StringResource srBinaryFile = { MSG_CLASS_BINARY_FILE };
SClassEntry aTheNullClasses[] =
{
{ L".386", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".AudioCD", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".DeskLink", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".Folder", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".MAPIMail", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".ZFSendToTarget", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".aif", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".aifc", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".aiff", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".aps", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".asf", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".au", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".avi", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".bin", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".bkf", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".bmp", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".bsc", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".cab", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".cda", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".cgm", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".com", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".cpl", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".cur", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".dbg", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".dct", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".dib", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".dl_", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".dll", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".drv", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".dvd", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".emf", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".eps", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".ex_", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".exe", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".exp", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".eyb", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".fnd", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".fnt", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".fon", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".ghi", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".gif", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".gz", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".hqx", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".icm", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".ico", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".idb", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".ilk", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".imc", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".in_", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".inv", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".ivf", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".jbf", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".jfif", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".jpe", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".jpeg", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".jpg", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".latex", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".lib", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".m14", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".m1v", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".mdb", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".mid", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".midi", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".mmf", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".mov", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".movie", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".mp2", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".mp2v", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".mp3", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".mpa", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".mpe", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".mpeg", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".mpg", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".mpv2", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".msg", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".mv", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".mydocs", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".ncb", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".obj", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".oc_", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".ocx", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".pch", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".pdb", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".pds", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".pic", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".pma", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".pmc", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".pml", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".pmr", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".png", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".psd", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".res", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".rle", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".rmi", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".rpc", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".rsp", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".sbr", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".sc2", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".sit", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".snd", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".sr_", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".sy_", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".sym", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".sys", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".tar", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".tgz", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".tif", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".tiff", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".tlb", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".tsp", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".ttc", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".ttf", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".vbx", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".vxd", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".wav", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".wax", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".wll", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".wlt", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".wm", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".wma", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".wmf", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".wmp", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".wmv", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".wmx", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".wmz", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".wsz", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".wvx", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".xbm", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".xix", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".z", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".z96", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
{ L".zip", L"BinaryFile", L"Binary file", L"{08c524e0-89b0-11cf-88a1-00aa004b9986}", L"Binary file" },
};
SHandlerEntry const TheNullHandler =
{
L"{098f2470-bae0-11cd-b579-08002b30bfeb}",
L"Null persistent handler",
L"{c3278e90-bea7-11cd-b579-08002b30bfeb}"
};
SFilterEntry const TheNullFilter =
{
L"{c3278e90-bea7-11cd-b579-08002b30bfeb}",
L"Null filter",
L"query.dll",
L"Both"
};
DEFINE_SOFT_REGISTERFILTER( TheNull,
TheNullHandler,
TheNullFilter,
aTheNullClasses )
StringResource srAsciiFile = { MSG_CLASS_ASCII_FILE };
StringResource srBatFile = { MSG_CLASS_BAT_FILE };
StringResource srCmdFile = { MSG_CLASS_CMD_FILE };
StringResource srIdqFile = { MSG_CLASS_IDQ_FILE };
StringResource srIniFile = { MSG_CLASS_INI_FILE };
StringResource srInxFile = { MSG_CLASS_INX_FILE };
StringResource srRegFile = { MSG_CLASS_REG_FILE };
StringResource srInfFile = { MSG_CLASS_INF_FILE };
StringResource srVbsFile = { MSG_CLASS_VBS_FILE };
SClassEntry aPlainTextClasses[] =
{
// .dic files are marked as txtfiles by Office install
{ L".dic", L"PlainText", L"Plain ASCII/UniCode text file", L"{89bcb7a4-6119-101a-bcb7-00dd010655af}", L"Plain ASCII/UniCode text file" },
{ L".txt", L"PlainText", L"Plain ASCII/UniCode text file", L"{89bcb7a4-6119-101a-bcb7-00dd010655af}", L"Plain ASCII/UniCode text file" },
{ L".wtx", L"PlainText", L"Plain ASCII/UniCode text file", L"{89bcb7a4-6119-101a-bcb7-00dd010655af}", L"Plain ASCII/UniCode text file" },
{ L".bat", L"batfile", L"MS-DOS Batch File", L"{89bcb7a5-6119-101a-bcb7-00dd010655af}", L"MS-DOS Batch File" },
{ L".cmd", L"cmdfile", L"Windows Command Script", L"{89bcb7a6-6119-101a-bcb7-00dd010655af}", L"Windows Command Script" },
{ L".idq", L"idqfile", L"Microsoft Query parameter file", L"{961c1130-89ad-11cf-88a1-00aa004b9986}", L"Microsoft Query parameter file" },
{ L".ini", L"inifile", L"Configuration Settings", L"{8c9e8e1c-90f0-11d1-ba0f-00a0c906b239}", L"Configuration Settings" },
{ L".inx", L"inxfile", L"Setup Settings", L"{95876eb0-90f0-11d1-ba0f-00a0c906b239}", L"Setup Settings" },
{ L".reg", L"regfile", L"Registration Entries", L"{9e704f44-90f0-11d1-ba0f-00a0c906b239}", L"Registration Entries" },
{ L".inf", L"inffile", L"Setup Information", L"{9ed4692c-90f0-11d1-ba0f-00a0c906b239}", L"Setup Information" },
{ L".vbs", L"VBSFile", L"VBScript Script File", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"VBScript Script File" },
// new entries from the Shell group
{ L".asm", L"asmfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".asx", L"playlist", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".c", L"cfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".cpp", L"cppfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".cxx", L"cxxfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".def", L"deffile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".h", L"hfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".hpp", L"hppfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".hxx", L"hxxfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".idl", L"idlfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
// insecure, so removed { L".inc", L"incfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".js", L"jsfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".log", L"logfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".m3u", L"playlist", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
// insecure, so removed { L".pl", L"plfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".rc", L"rcfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".rtf", L"rtffile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".url", L"urlfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".xml", L"xmlfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
{ L".xsl", L"xlsfile", L"", L"{87db1ada-aa39-11d1-829f-00a0c906b239}", L"" },
};
SHandlerEntry const PlainTextHandler =
{
L"{5e941d80-bf96-11cd-b579-08002b30bfeb}",
L"Plain Text persistent handler",
L"{c1243ca0-bf96-11cd-b579-08002b30bfeb}"
};
SFilterEntry const PlainTextFilter =
{
L"{c1243ca0-bf96-11cd-b579-08002b30bfeb}",
L"Plain Text filter",
L"query.dll",
L"Both"
};
DEFINE_SOFT_REGISTERFILTER( PlainText,
PlainTextHandler,
PlainTextFilter,
aPlainTextClasses )
//
// Extra entries for CI Framework. They happen to have the same form as the
// filter entries.
//
SLangRegistry const NeutralWordBreaker = {
L"Neutral",
0,
{ L"{369647e0-17b0-11ce-9950-00aa004bbb1f}",
L"Neutral Word Breaker",
L"query.dll",
L"Both" },
{ 0, 0, 0, 0 }
};
SFilterEntry const NullStemmer_CHS =
{
L"{78fe669a-186e-4108-96e9-77b586c1332f}",
L"Content Index Null Stemmer",
L"query.dll",
L"Both"
};
SFilterEntry const NullStemmer_CHT =
{
L"{78fe669a-186e-4108-96e9-77b586c1332f}",
L"Content Index Null Stemmer",
L"query.dll",
L"Both"
};
SFilterEntry const FrameworkControl =
{
L"{1E9685E6-DB6D-11d0-BB63-00C04FC2F410}",
L"Content Index Framework Control Object",
L"query.dll",
L"Both"
};
SFilterEntry const ISearchCreator =
{
L"{1F247DC0-902E-11D0-A80C-00A0C906241A}",
L"Content Index ISearch Creator Object",
L"query.dll",
L"Both"
};
extern HANDLE g_hCurrentDll;
extern "C" STDAPI CifrmwrkDllRegisterServer(void)
{
CDynLoadUser32 dlUser32;
HINSTANCE hInst = (HINSTANCE) g_hCurrentDll;
//
// Try to load string resources.
//
srBinaryFile.Init( hInst, dlUser32 );
srAsciiFile.Init( hInst, dlUser32 );
srBatFile.Init( hInst, dlUser32 );
srCmdFile.Init( hInst, dlUser32 );
srIdqFile.Init( hInst, dlUser32 );
srIniFile.Init( hInst, dlUser32 );
srInxFile.Init( hInst, dlUser32 );
srRegFile.Init( hInst, dlUser32 );
srInfFile.Init( hInst, dlUser32 );
srVbsFile.Init( hInst, dlUser32 );
//
// Adjust static definitions
//
for ( unsigned i = 0; i < sizeof(aTheNullClasses)/sizeof(aTheNullClasses[0]); i++ )
{
aTheNullClasses[i].pwszDescription = aTheNullClasses[i].pwszClassIdDescription = STRINGRESOURCE(srBinaryFile);
}
aPlainTextClasses[0].pwszDescription = aPlainTextClasses[0].pwszClassIdDescription = STRINGRESOURCE(srAsciiFile);
aPlainTextClasses[1].pwszDescription = aPlainTextClasses[1].pwszClassIdDescription = STRINGRESOURCE(srAsciiFile);
aPlainTextClasses[2].pwszDescription = aPlainTextClasses[2].pwszClassIdDescription = STRINGRESOURCE(srAsciiFile);
aPlainTextClasses[3].pwszDescription = aPlainTextClasses[3].pwszClassIdDescription = STRINGRESOURCE(srBatFile);
aPlainTextClasses[4].pwszDescription = aPlainTextClasses[4].pwszClassIdDescription = STRINGRESOURCE(srCmdFile);
aPlainTextClasses[5].pwszDescription = aPlainTextClasses[5].pwszClassIdDescription = STRINGRESOURCE(srIdqFile);
aPlainTextClasses[6].pwszDescription = aPlainTextClasses[6].pwszClassIdDescription = STRINGRESOURCE(srIniFile);
aPlainTextClasses[7].pwszDescription = aPlainTextClasses[7].pwszClassIdDescription = STRINGRESOURCE(srInxFile);
aPlainTextClasses[8].pwszDescription = aPlainTextClasses[8].pwszClassIdDescription = STRINGRESOURCE(srRegFile);
aPlainTextClasses[9].pwszDescription = aPlainTextClasses[9].pwszClassIdDescription = STRINGRESOURCE(srInfFile);
aPlainTextClasses[10].pwszDescription = aPlainTextClasses[10].pwszClassIdDescription = STRINGRESOURCE(srVbsFile);
//
// Register classes
//
long dwErr = ERROR_SUCCESS;
SCODE sc = TheNullRegisterServer();
if ( S_OK == sc )
sc = PlainTextRegisterServer();
if ( S_OK == sc )
dwErr = RegisterALanguageResource( NeutralWordBreaker );
if ( S_OK == sc && ERROR_SUCCESS == dwErr )
dwErr = RegisterAFilter( NullStemmer_CHS );
if ( S_OK == sc && ERROR_SUCCESS == dwErr )
dwErr = RegisterAFilter( NullStemmer_CHT );
if ( S_OK == sc && ERROR_SUCCESS == dwErr )
dwErr = RegisterAFilter( FrameworkControl );
if ( S_OK == sc && ERROR_SUCCESS == dwErr )
dwErr = RegisterAFilter( ISearchCreator );
return S_OK != sc ? sc :
(ERROR_SUCCESS == dwErr ? S_OK : SELFREG_E_CLASS );
} //CifrmwrkDllRegisterServer
extern "C" STDAPI CifrmwrkDllUnregisterServer(void)
{
SCODE sc = TheNullUnregisterServer();
SCODE sc2 = PlainTextUnregisterServer();
long dw3 = UnRegisterALanguageResource( NeutralWordBreaker );
long dw4 = UnRegisterAFilter( NullStemmer_CHS );
long dw5 = UnRegisterAFilter( NullStemmer_CHT );
long dw6 = UnRegisterAFilter( FrameworkControl );
long dw7 = UnRegisterAFilter( ISearchCreator );
if ( FAILED( sc ) )
return sc;
if ( FAILED( sc2 ) )
return sc2;
if ( ERROR_SUCCESS != dw3 )
return S_FALSE;
if ( ERROR_SUCCESS != dw4 )
return S_FALSE;
if ( ERROR_SUCCESS != dw5 )
return S_FALSE;
if ( ERROR_SUCCESS != dw6 )
return S_FALSE;
if ( ERROR_SUCCESS != dw7 )
return S_FALSE;
return S_OK;
} //CifrmwrkDllUnregisterServer