Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
0248381a
Commit
0248381a
authored
Jan 26, 1999
by
Eric Pouech
Committed by
Alexandre Julliard
Jan 26, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added support for loading drivers in Wine.
parent
c1761629
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
74 additions
and
42 deletions
+74
-42
driver.h
include/driver.h
+73
-41
winmm.spec
relay32/winmm.spec
+1
-1
driver.c
windows/driver.c
+0
-0
No files found.
include/driver.h
View file @
0248381a
...
...
@@ -24,61 +24,46 @@
#define DRVCNF_CANCEL 0x0000
#define DRVCNF_OK 0x0001
#define DRVCNF_RESTART
0x0002
#define DRVCNF_RESTART 0x0002
#define DRVEA_NORMALEXIT 0x0001
#define DRVEA_ABNORMALEXIT 0x0002
#define DRVEA_NORMALEXIT 0x0001
#define DRVEA_ABNORMALEXIT 0x0002
#define DRV_SUCCESS 0x0001
#define DRV_FAILURE 0x0000
#define GND_FIRSTINSTANCEONLY 0x00000001
#define GND_FORWARD 0x00000000
#define GND_REVERSE 0x00000002
#define GND_FORWARD 0x00000000
#define GND_REVERSE 0x00000002
typedef
struct
{
DWORD
dwDCISize
;
LPCSTR
lpszDCISectionName
;
LPCSTR
lpszDCIAliasName
;
}
DRVCONFIGINFO16
,
*
LPDRVCONFIGINFO16
;
/* FIXME: unused? */
typedef
struct
{
DWORD
dwDCISize
;
LPCSTR
lpszDCISectionName
;
LPCSTR
lpszDCIAliasName
;
}
xDRVCONFIGINFO
,
*
xLPDRVCONFIGINFO
;
DWORD
dwDCISize
;
LPCWSTR
lpszDCISectionName
;
LPCWSTR
lpszDCIAliasName
;
}
DRVCONFIGINFO32
,
*
LPDRVCONFIGINFO32
;
DECL_WINELIB_TYPE
(
DRVCONFIGINFO
)
DECL_WINELIB_TYPE
(
LPDRVCONFIGINFO
)
/* GetDriverInfo16 references this structure, so this a struct defined
* in the Win16 API.
* GetDriverInfo has been deprecated in Win32.
*/
typedef
struct
{
UINT16
length
;
HDRVR16
hDriver
;
HINSTANCE16
hModule
;
CHAR
szAliasName
[
128
];
UINT16
length
;
HDRVR16
hDriver
;
HINSTANCE16
hModule
;
CHAR
szAliasName
[
128
];
}
DRIVERINFOSTRUCT16
,
*
LPDRIVERINFOSTRUCT16
;
/* FIXME: Is this a WINE internal struct? */
typedef
struct
tagDRIVERITEM
{
DRIVERINFOSTRUCT16
dis
;
WORD
count
;
struct
tagDRIVERITEM
*
lpPrevItem
;
struct
tagDRIVERITEM
*
lpNextItem
;
DRIVERPROC16
lpDrvProc
;
}
DRIVERITEM
,
*
LPDRIVERITEM
;
/* internal */
typedef
struct
{
UINT32
length
;
HDRVR32
hDriver
;
HMODULE32
hModule
;
CHAR
szAliasName
[
128
];
}
DRIVERINFOSTRUCT32A
,
*
LPDRIVERINFOSTRUCT32A
;
/* internal */
typedef
struct
tagDRIVERITEM32A
{
DRIVERINFOSTRUCT32A
dis
;
DWORD
count
;
struct
tagDRIVERITEM32A
*
next
;
DRIVERPROC32
driverproc
;
}
DRIVERITEM32A
,
*
LPDRIVERITEM32A
;
LRESULT
WINAPI
DefDriverProc16
(
DWORD
dwDevID
,
HDRVR16
hDriv
,
UINT16
wMsg
,
LPARAM
dwParam1
,
LPARAM
dwParam2
);
LRESULT
WINAPI
DefDriverProc32
(
DWORD
dwDriverIdentifier
,
HDRVR32
hdrvr
,
...
...
@@ -107,4 +92,51 @@ HMODULE32 WINAPI GetDriverModuleHandle32(HDRVR32 hDriver);
HDRVR16
WINAPI
GetNextDriver
(
HDRVR16
,
DWORD
);
BOOL16
WINAPI
GetDriverInfo
(
HDRVR16
,
DRIVERINFOSTRUCT16
*
);
/* The following definitions are WINE internals */
/* FIXME: This is a WINE internal struct and should be moved in include/wine directory */
/* Please note that WINE shares 16 and 32 bit drivers on a single list... */
/* Basically, we maintain an external double view on drivers, so that a 16 bit drivers
* can be loaded/used... by 32 functions transparently
*/
typedef
struct
tagWINE_DRIVER
{
char
szAliasName
[
128
];
/* as usual LPWINE_DRIVER == hDriver32 */
HDRVR16
hDriver16
;
union
{
struct
{
HMODULE16
hModule
;
DRIVERPROC16
lpDrvProc
;
}
d16
;
struct
{
HMODULE32
hModule
;
DRIVERPROC32
lpDrvProc
;
}
d32
;
}
d
;
DWORD
dwDriverID
;
DWORD
dwFlags
;
struct
tagWINE_DRIVER
*
lpPrevItem
;
struct
tagWINE_DRIVER
*
lpNextItem
;
}
WINE_DRIVER
,
*
LPWINE_DRIVER
;
/* values for dwFlags */
#define WINE_DI_TYPE_MASK 0x00000007ul
#define WINE_DI_TYPE_16 0x00000001ul
#define WINE_DI_TYPE_32 0x00000002ul
LPWINE_DRIVER
DRIVER_RegisterDriver16
(
LPCSTR
,
HMODULE16
,
DRIVERPROC16
,
LPARAM
);
LPWINE_DRIVER
DRIVER_RegisterDriver32
(
LPCSTR
,
HMODULE32
,
DRIVERPROC32
,
LPARAM
);
#if 0
#errro "it's never used"
/* internal */
typedef struct
{
UINT32 length;
HDRVR32 hDriver;
HMODULE32 hModule;
CHAR szAliasName[128];
} DRIVERINFOSTRUCT32A, *LPDRIVERINFOSTRUCT32A;
#endif
#endif
/* __WINE_DRIVER_H */
relay32/winmm.spec
View file @
0248381a
...
...
@@ -4,7 +4,7 @@ type win32
1 stdcall PlaySoundA(ptr long long) PlaySound32A
2 stdcall WINMM_2(ptr long long) PlaySound32A
3 stub WINMM_3
4 st
ub CloseDriver
4 st
dcall CloseDriver(long long long) CloseDriver32
5 stdcall DefDriverProc(long long long long long) DefDriverProc32
6 stub DriverCallback
7 stub DrvClose
...
...
windows/driver.c
View file @
0248381a
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment