|
- #ifndef __asiolist__
- #define __asiolist__
-
- #define DRVERR -5000
- #define DRVERR_INVALID_PARAM DRVERR-1
- #define DRVERR_DEVICE_ALREADY_OPEN DRVERR-2
- #define DRVERR_DEVICE_NOT_FOUND DRVERR-3
-
- #define MAXPATHLEN 512
- #define MAXDRVNAMELEN 128
-
- struct asiodrvstruct
- {
- int drvID;
- CLSID clsid;
- char dllpath[MAXPATHLEN];
- char drvname[MAXDRVNAMELEN];
- LPVOID asiodrv;
- struct asiodrvstruct *next;
- };
-
- typedef struct asiodrvstruct ASIODRVSTRUCT;
- typedef ASIODRVSTRUCT *LPASIODRVSTRUCT;
-
- class AsioDriverList {
- public:
- AsioDriverList();
- ~AsioDriverList();
-
- LONG asioOpenDriver (int,VOID **);
- LONG asioCloseDriver (int);
-
- // nice to have
- LONG asioGetNumDev (VOID);
- LONG asioGetDriverName (int,char *,int);
- LONG asioGetDriverPath (int,char *,int);
- LONG asioGetDriverCLSID (int,CLSID *);
-
- // or use directly access
- LPASIODRVSTRUCT lpdrvlist;
- int numdrv;
- };
-
- typedef class AsioDriverList *LPASIODRIVERLIST;
-
- #endif
|