If a combined Double-Byte Character Set (DBCS) and Single-Byte Character Set (SBCS) file name to be recorded is over 260 bytes, RecordNow exits with a "Buffer Overflow" error. - Double-click My Computer and double-click C: drive.
- Click File, select New, and click Folder.
- Type a folder name at least 50 characters using double-byte characters and press Enter.
- Double-click the folder you just created.
- Click File, select New, and click Folder.
- Type a folder name at least 50 characters using double-byte characters and press Enter.
- Double-click the folder you just created.
- Click File, select New, and click Folder.
- Type a folder name at least 33 characters using double-byte characters and press Enter. At this time, the total path from root directory ("C") to child folder becomes 138 characters.(including "C",":","\").
- Insert new CD-RW media your CD-RW drive.
- Start RecordNow.
- Click Data Disc.
- Click Add Files and Folders, then select the folder that was created in step 2.
- Click Burn.
At this time, the error occurs and RecordNow quits unexpectedly. The root cause of this is Windows having a code constant called MAX_PATH of 260 bytes for any file path. This constant is coded into many places in Windows. In this case, the Visual C++ library functions are the ones triggering the error. If the combined two-byte and one-byte characters of a file name go over 260 bytes, a buffer overflow error is triggered in the C++ run-time libraries. When presented with a buffer overflow exception, Windows Security shuts down the application that presented the overflow. Because the 'byte length' of a mixed string is difficult to determine effectively, some easy to generate file names get by RecordNow error checking and into the C++ libraries. This shuts RecordNow down. You may have a similarly difficult time knowing when you have exceeded the 260-byte limitation. Windows will usually accept 132 DBCS characters in the path plus file name and not fail until some code combines those characters with path delimiters. In addition, Windows freely converts SBCS delimiters and characters between the 16-bit Unicode and 8 bit ASCII representation internally, making the character count vary depending upon when a string is examined. A good guideline is to keep DBCS paths under 122 DBCS + SBCS characters, and SBCS only names under 212 characters. This leaves plenty of room for expansion and delimiters. Any of the following systems running Microsoft Windows XP or Windows 2000 configured with RecordNow 7.x: - ThinkCentre A30 (type 2296, 8191, 8198, 8199, 8316, 8434)
- ThinkCentre A50 (type 8320, 8419)
- ThinkCentre A50p (type 8192, 8193, 8194, 8195, 8196, 8197, 8432, 8433)
- ThinkCentre A51 (type 8424, 8425, 8428)
- ThinkCentre A51p (type 8420, 8421, 8422, 8423, 8426, 8427)
- ThinkCentre M50 (type 8128, 8185, 8186, 8187, 8188, 8189, 8190, 8413, 8414, 8415, 8430, 8431)
- ThinkCentre M51 (type 8095, 8096, 8097, 8141, 8142, 8143, 8144, 8145, 8146)
- ThinkCentre S50 (type 8092, 8127, 8183, 8184, 8416, 8417, 8418, 8429)
- ThinkCentre S51 (type 8098, 8171, 8172, 8173)
None. The 260 bytes are an intrinsic limitation of Windows. Keep paths below 260 bytes of combined characters. |