Microsoft KB Archive/39534

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 19:22, 12 August 2020 by X010 (talk | contribs) (X010 moved page Microsoft KB Archive/Q39534 to Microsoft KB Archive/39534 without leaving a redirect: Text replacement - "Microsoft KB Archive/Q" to "Microsoft KB Archive/")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

SHARE.EXE Required to Support Removable Media Device Drivers ID Number: Q39534

3.x 4.00 4.01 MS-DOS

Summary:

When writing a block device driver that supports the Open, Close, and Removable Media abilities new to MS-DOS Versions 3.x and later, the driver should set bit 11 of the Attribute Field word to 1.

For block devices that enable this bit 11, MS-DOS will be able to use the following command codes in the device-driver request packet:

Code Function

13    Device Open
14    Device Close
15    Removable Media

When these device-driver calls are requested by MS-DOS, the driver will be able to maintain a reference count of opens and closes for the media.

Note, however, that the installation of the MS-DOS utility SHARE.EXE is REQUIRED in order for MS-DOS to call the removable-media device driver calls.

More Information:

Correct semantics of file handle opens and closes are not guaranteed to be enforced without SHARE.EXE installed. There are many early applications that perform ill-behaved FCB file I/O, such as the following:

400 opens with no closes 200 opens with 100 closes 100 opens with 400 closes delete an open file rename an open file

With SHARE.EXE installed, such strange I/O behavior is not tolerated. Thus, since proper file I/O semantics are being enforced, MS-DOS will then be able to call the device-driver command codes listed above. Since such semantics are not being enforced, MS-DOS does NOT make the calls to these command codes to prevent the device driver from being confused.