SB AWE32 Developer's Information Pack
PART III Windows Driver API
••
38
Copyright
Creative Technology Ltd., 1994-1996
Version 3.00
The parameters to the message function take the form of pre-defined structures. The user applications
will have to allocate these structures before passing in as parameters. These structures have the
following forms:
typedef struct {
enum SBANK m_SBankIndex;
WORD m_UBankIndex;
WORD m_InstrIndex;
enum TYPEINDEX m_TypeIndex;
WORD m_SubIndex;
WORD m_VariIndex[6];
} CParamObject;
typedef struct {
DWORD m_Size;
LPSTR m_Buffer;
DWORD m_SizeUsed;
WORD m_Flag;
} CBufferObject;
Not all of the fields within the structure will be used every time. Unused members must be set to zeroes
explicitly. It is the duty of both application and DLL to retrieve and set the values from the appropriate
parameters. The long pointer version of the two structures is defined as LPPARAMOBJECT and
LPBUFFEROBJECT.
typedef struct {
WORD m_SizeOf;
DWORD m_BaseAddr;
DWORD m_DevNode;
DWORD m_RomId;
DWORD m_RomVer;
DWORD m_hTask;
DWORD m_DevCaps;
char m_DevName[32];
char m_SndEngine[16];
char n_RegKey[256];
} CDevObject;
The CDevObject structure can be used to identify the capabilities of available SB AWE32 devices on
the system. Some of the fields are only meaningful in certain platform.
All the above mentioned structures are already provided in the AWE_DLL.H header file. Hence, by
including this header file in your application, the AWE Manager will be ready for accessing.
Manager Messages
The following messages are implemented in AWEMAN.DLL:
AWE_OPEN
Acquire AWE Manager to control and configure the
hardware.
AWE_CLOSE
Releases control of AWE Manager to other applications.
AWE_GET_NUM_DEVS
Determine the total number of SBAWE32 devices
available in the system.
AWE_GET_DEVICE_CAPS
Gets the device capabilities.
AWE_QUERY_EFXT_SUPPORT
Retrieve a list of available or supported Effect Types.