mirror of https://github.com/PCSX2/pcsx2.git
47 lines
948 B
C
47 lines
948 B
C
|
#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
|