Microsoft KB Archive/67588

4208.CPI and 5202.CPI Have an Incorrect Header ID Number: Q67588

3.30 3.30a 4.00 4.01 MS-DOS buglist3.30 buglist4.00 buglist4.01

Summary:

The files 4208.CPI and 5202.CPI both have Code Page Entry Headers (CPEH) whose length is 26 bytes according the length field of the structure stored in the binary file. This value is incorrect. The actual length of the CPEH is 28 bytes (both by definition and in the .CPI binary file.)

More information:

On page 394 in the “Microsoft MS-DOS Programmer’s Reference” version 4.0, the CPEH is documented as being 28 bytes in length. The first word of the CPEH structure gives the overall length of the header. This value should always be set to 28.

Because the field length value is fixed at 28, it can be used to verify correctness of the .CPI file by software that makes use of CPI files. The PRINTER.SYS device driver and the MODE command in MS-DOS make use of the data stored in the .CPI file, but do not check the header length value; they assume that it is 28 bytes.

Microsoft has confirmed this to be a problem with MS-DOS versions 3.30, 4.00 and 4.01. We are researching this problem and will post new information here as it becomes available.