It is permissible for an implementor to support only certain subsets of the API defined in this proposal. However, these subsets are well defined, and each must be supported in its entirety. Currently there are two API subsets defined.
The first defines the set of functions necessary to support access to large disks, using the disk address packet structure. This subset comprises the functions Check Extensions Present (41h), Extended Read (42h), Extended Write (43h), Verify Sectors (44h), Extended Seek (47h), and Get Drive Parameters (48h).
The second subset defines the functions needed to support software control of drive locking and ejecting, and comprises the functions Check Extensions Present (41h), Lock/Unlock Drive (45h), Eject Drive (46h), Get Drive Parameters (48h), Get Extended Disk Change Status (49h), and the INT 15h
Removable Media Eject Intercept. If a removable media drive is placed in the drive number range 80h-FFh, then it must support the removable drive control API subset.
The API subsets supported on a particular implementation can be determined via the Check Extensions Present function, which returns a bitmap of subsets usable for a particular drive.
If the API subset support bitmap indicates a function is not supported and that function is subsequently invoked, the request is rejected with (AH)=01h and CF=1.