File CRC Shell Extension.
=========================

Copyright (c) Chris Amos 1999

Description.
~~~~~~~~~~~~
This utility adds a property page to the explorer shell 
(right-click on file and choose properties). This allows 
you to tell if a file has been corrupted or if two seemingly 
identical files are indeed indentical. 

For developers you can use the CRC to see if the selection 
of identical DLLs are really identical, then you can be sure 
whether you should ship different NT and 98 versions.

I wrote this as a learning excersise in shell integration, 
memory mapped files and inf install scripts. So you have 
been warned.

The extension will not calculate the CRC of a group of files 
or a folder. Be warned that if you select a large file the 
CRC will take while to calculate, this will not happen until 
you click on the "File CRC" tab, it calculates CRC's at around 
2MB/sec. The CRC is only calculated once for the file so if 
you click on the "File CRC" tab again there will be no delay.

As a bonus for developers (C or VB), the CRC calculation DLL 
is also freeware (also mine) so you can use it if you wish, 
the APIs are:

	extern "C" long PASCAL CalcCRC
		(char* fname, long* result);
or
	Declare Function CalcCRC Lib "FileCRC.DLL" _
		(ByVal FilePath As String, _
		ByRef Result As Long) As Long

NB. For VB'ers there is a fancy OCX version with a built in 
progress bar on my site, this does other methods also.

Method.
~~~~~~~
The CRC method used is fairly standard, I have found it is the 
same as the method used in Zip files.  For the mathamaticians: 
CRC = 	x^32 + x^26 + x^23 + x^22 + x^16 + 
	x^12 + x^11 + x^10 + x^8 + x^7 + 
	x^5 + x^4 + x^2 + x + 1

License.
~~~~~~~~
Freeware, all rights reserved,.

Installation
~~~~~~~~~~~~
Right-click on the .inf file to install, it should do all the 
version checking, if you are nervous of installs you can remove 
the files marked with a * from the inf file (see below) and be 
sure nothing will happen to your system. If the CRC extension 
fails you will have to consider the full install.

[Support.sys.install]
FileCRC.dll		<-- required custom dll
MSVCRT.DLL		<-- microsoft core file*
MSVCIRT.DLL		<--     ..       ..    *
MFC42.DLL		<--     ..       ..    *

Support
~~~~~~~
As freeware there is no support. That said you mail email me any 
bugs/suggestions to:
mailto://chrisaaa@email.com
mailto://crcshext@sirocco.force9.co.uk. 

Latest versions of this software may be found at: 
http://welcome.to/sirocco
http://www.sirocco.force9.co.uk.
http://www.geocities.com/SiliconValley/Vista/1388/

Commercial Users
~~~~~~~~~~~~~~~~
I realise commercial users require continutity of support, drop me 
a line and I can let you have the source code for a small fee (it 
is included with source for the dll, shell extension and an OCX).

Files
~~~~~
CRCSHEXT.DLL	V1.02			8AA2671C
FILECRC.DLL		V1.02			B715EEBC
MSVCRT.DLL		V6.00.8397.0	A7F18460
MSVCIRT.DLL		V6.00.8168.0	0571D0E6
MFC42.DLL		V6.00.8447.0	E9F90051

Disclaimer
~~~~~~~~~~
This software is supplied as is with no waranty express or implied. 
I will not be held responsible for any damages howsoever caused. It 
should not be used in safety critical applications.

Revisions
~~~~~~~~~
V1.03	23/11/99	Recompile with faster CRC DLL (40% quicker)
V1.02 	15/08/99  	Recompile to remove debug info.
V1.01 	29/12/98  	Fix prob [after] crc'ing an empty file.
					Updated support DLLs
					Cosmetic, CRC's now zero padded in hex and 
					unsigned in decimal
V1.00  	17/10/98  	Original release

    Source: geocities.com/siliconvalley/vista/1388

               ( geocities.com/siliconvalley/vista)                   ( geocities.com/siliconvalley)