Miles Sound System SDK 7.2a

AIL_call_driver

The function AIL_call_driver performs a call to an MSS-compatible sound driver in real-mode memory.

S32 AIL_call_driver(
  AIL_DRIVER * drvr,
  S32 fn,
  VDI_CALL * const *in,
  VDI_CALL *out
);

In Parameters

drvr
points to an AIL_DRIVER driver descriptor structure. AIL_DRIVER may be thought of as the "base class" from which high-level MSS driver types such as DIG_DRIVER and MDI_DRIVER are derived. To obtain a pointer to an AIL_DRIVER structure for a variable x of type HDIGDRIVER or HMDIDRIVER, use an expression of the form x->drvr.
fn
gives the driver's function number to invoke. Since applications should use AIL_call_driver only to invoke a Vendor-Specific Extensions (VSE) function for a particular driver, fn should normally equal the DIG_VSE or MDI_VSE labels.
in
may be set to NULL, or may point to a structure of type VDI_CALL, which contains all values to be passed to the driver function handler. To make a VSE call, the VDI_CALL structure's CX member should be set to correspond to the VSE feature identifier for the requested operation. Refer to the current MSS DDK Interface chapter for a list of assigned VSE calls and required register values.

Out Parameters

out
may be set to NULL, or may point to a structure of type VDI_CALL, into which will be stored all values returned from the driver function handler. Refer to the current MSS DDK Interface chapter for a list of assigned VSE calls and their returned values, if any.

Returns

The AX register as returned from the driver function handler. This is equal to out->AX, sign-extended from WORD (16 bits) to S32 (32 bits). Many driver functions use AX to return codes for success (> 0) or failure (0). A returned value of -1 normally indicates that the requested function is not supported by the driver.

Discussion

This is a DOS-only function.

This function is used internally by the MSS system. Applications should use AIL_call_driver only to invoke Vendor-Specific Extensions (VSE) functions for particular drivers, where desired. Applications which do not make VSE calls will not need to use AIL_call_driver at all.


Group: Low-Level DOS Support Services
Related Functions: AIL_call_driver
Related Basic Types: AIL_DRIVER, S32
Related Structures: VDI_CALL

For technical support, e-mail Miles3@radgametools.com
© Copyright 1991-2007 RAD Game Tools, Inc. All Rights Reserved.