- use correct name when registering.

- use unicode apis exclusively when required.
- fix rbuild file

svn path=/trunk/; revision=29117
This commit is contained in:
Ged Murphy 2007-09-20 13:26:19 +00:00
parent 5baee1e5ab
commit b862010a64
5 changed files with 45 additions and 58 deletions

View file

@ -15,19 +15,6 @@
extern SERVICE_STATUS_HANDLE service_status_handle;
/* main.c */
VOID CALLBACK
ServiceMain(DWORD argc, char** argv);
DWORD WINAPI
ServiceControlHandler(
DWORD dwControl,
DWORD dwEventType,
LPVOID lpEventData,
LPVOID lpContext);
/* List management (pnp_list_manager.c) */
VOID*

View file

@ -1,7 +1,7 @@
<module name="audiosrv" type="win32cui" installbase="system32"
installname="audiosrv.exe" allowwarnings="true">
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="audiosrv" type="win32cui" installbase="system32" installname="audiosrv.exe" unicode="yes" allowwarnings="true">
<include base="audiosrv">.</include>
<define name="UNICODE" />
<define name="__USE_W32API" />
<define name="__REACTOS__" />
<define name="_WIN32_WINNT">0x0501</define>
@ -9,6 +9,7 @@ installname="audiosrv.exe" allowwarnings="true">
<library>kernel32</library>
<library>advapi32</library>
<library>user32</library>
<library>ntdll</library>
<library>setupapi</library>
<file>main.c</file>
<file>pnp_list_manager.c</file>

View file

@ -11,15 +11,6 @@
#include <audiosrv/audiosrv.h>
#include "audiosrv.h"
/* Service table */
SERVICE_TABLE_ENTRY service_table[2] =
{
{ L"AudioSrv", (LPSERVICE_MAIN_FUNCTION) ServiceMain },
{ NULL, NULL }
};
SERVICE_STATUS_HANDLE service_status_handle;
SERVICE_STATUS service_status;
@ -88,13 +79,13 @@ ServiceControlHandler(
}
VOID CALLBACK
ServiceMain(DWORD argc, char** argv)
ServiceMain(DWORD argc, LPWSTR argv)
{
logmsg("* Service starting\n");
logmsg("Registering service control handler...\n");
service_status_handle = RegisterServiceCtrlHandlerEx(SERVICE_NAME,
ServiceControlHandler,
NULL);
service_status_handle = RegisterServiceCtrlHandlerExW(SERVICE_NAME,
ServiceControlHandler,
NULL);
logmsg("Service status handle %d\n", service_status_handle);
if ( ! service_status_handle )
@ -165,9 +156,17 @@ ServiceMain(DWORD argc, char** argv)
SetServiceStatus(service_status_handle, &service_status);
}
int main()
int wmain()
{
SERVICE_TABLE_ENTRYW service_table[] =
{
{ SERVICE_NAME, (LPSERVICE_MAIN_FUNCTIONW) ServiceMain },
{ NULL, NULL }
};
logmsg("Audio Service main()\n");
StartServiceCtrlDispatcher(service_table);
if (!StartServiceCtrlDispatcherW(service_table))
logmsg("StartServiceCtrlDispatcher failed\n");
return 0;
}

View file

@ -30,20 +30,20 @@ ProcessExistingDevices()
{
SP_DEVICE_INTERFACE_DATA interface_data;
SP_DEVINFO_DATA device_data;
PSP_DEVICE_INTERFACE_DETAIL_DATA detail_data;
PSP_DEVICE_INTERFACE_DETAIL_DATA_W detail_data;
HDEVINFO dev_info;
DWORD length;
int index = 0;
const GUID category_guid = {STATIC_KSCATEGORY_AUDIO};
dev_info = SetupDiGetClassDevsEx(&category_guid,
NULL,
NULL,
DIGCF_PRESENT | DIGCF_DEVICEINTERFACE,
NULL,
NULL,
NULL);
dev_info = SetupDiGetClassDevsExW(&category_guid,
NULL,
NULL,
DIGCF_PRESENT | DIGCF_DEVICEINTERFACE,
NULL,
NULL,
NULL);
/* printf("%s:\n", ClassString); */
@ -57,9 +57,9 @@ ProcessExistingDevices()
+ (MAX_PATH * sizeof(WCHAR));
detail_data =
(PSP_DEVICE_INTERFACE_DETAIL_DATA)HeapAlloc(GetProcessHeap(),
0,
length);
(PSP_DEVICE_INTERFACE_DETAIL_DATA_W)HeapAlloc(GetProcessHeap(),
0,
length);
while (
SetupDiEnumDeviceInterfaces(dev_info,
@ -73,15 +73,15 @@ ProcessExistingDevices()
ZeroMemory(detail_data, length);
/* NOTE: We don't actually use device_data... */
detail_data->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
detail_data->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_W);
device_data.cbSize = sizeof(device_data);
device_data.Reserved = 0;
SetupDiGetDeviceInterfaceDetail(dev_info,
&interface_data,
detail_data,
length,
NULL,
&device_data);
SetupDiGetDeviceInterfaceDetailW(dev_info,
&interface_data,
detail_data,
length,
NULL,
&device_data);
list_node = CreateDeviceDescriptor(detail_data->DevicePath, TRUE);
AppendAudioDeviceToList(list_node);
@ -133,9 +133,9 @@ RegisterForDeviceNotifications()
notification_filter.dbcc_classguid = wdmaud_guid;
device_notification_handle =
RegisterDeviceNotification((HANDLE) service_status_handle,
&notification_filter,
DEVICE_NOTIFY_SERVICE_HANDLE
RegisterDeviceNotificationW((HANDLE) service_status_handle,
&notification_filter,
DEVICE_NOTIFY_SERVICE_HANDLE
/* |
DEVICE_NOTIFY_ALL_INTERFACE_CLASSES*/);

View file

@ -114,12 +114,12 @@ CreateAudioDeviceList(DWORD max_size)
logmsg("Creating file mapping\n");
/* Expose our device list to the world */
device_list_file = CreateFileMapping(INVALID_HANDLE_VALUE,
NULL,
PAGE_READWRITE,
0,
max_size,
AUDIO_LIST_NAME);
device_list_file = CreateFileMappingW(INVALID_HANDLE_VALUE,
NULL,
PAGE_READWRITE,
0,
max_size,
AUDIO_LIST_NAME);
if ( ! device_list_file )
{