INF: Errors in the VDS API in Enhanced Mode Windows

ID Number: Q77998

3.00

WINDOWS

Summary:

The Virtual DMA Services (VDS) provide application programs that use

DMA (direct memory access) with greater control over how the DMA

hardware is virtualized. However, there are several errors in VDS

support when Windows 3.0 is running in enhanced mode. The following

list should help programmers to avoid these errors while still making

use of VDS functions.

More Information:

The following list summarizes the affected functions and describes

errors that may occur when they are used:

Lock DMA Region, AX = 8103h

---------------------------

- The automatic remap and copy features do not function correctly and

should not be used.

- If an error occurs during the execution of this function, the error

code does not correctly indicate the cause of the error.

Unlock DMA Region, AX = 8104h

-----------------------------

- If an error occurs during the execution of this function, the error

code does not correctly indicate the cause of the error.

Lock/Unlock DMA Region

----------------------

- No validation is done on the OFFSET field to verify that the

specified region is not greater than the segment length.

Scatter/Gather Lock Region, AX = 8105h

--------------------------------------

- This function may incorrectly return zero instead of the resultant

physical page address for pages that were originally not present.

Release DMA Buffer, AX = 8108h

------------------------------

- This function works correctly only when "copy" is specified.

Copy Into DMA Buffer, AX = 8109h

--------------------------------

- The copy count is not correctly interpreted in this function.

Copy Out Of DMA Buffer, AX = 810Ah

----------------------------------

- The copy count is not correctly interpreted in this function.

Additional reference words: VDS