- use correct name when registering.
authorGed Murphy <gedmurphy@reactos.org>
Thu, 20 Sep 2007 13:26:19 +0000 (13:26 +0000)
committerGed Murphy <gedmurphy@reactos.org>
Thu, 20 Sep 2007 13:26:19 +0000 (13:26 +0000)
- use unicode apis exclusively when required.
- fix rbuild file

svn path=/trunk/; revision=29117

reactos/base/services/audiosrv/audiosrv.h
reactos/base/services/audiosrv/audiosrv.rbuild
reactos/base/services/audiosrv/main.c
reactos/base/services/audiosrv/pnp.c
reactos/base/services/audiosrv/pnp_list_manager.c

index 72b236d..398c26e 100644 (file)
 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*
index 47af3ac..890acc8 100644 (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>
index d870e01..6160311 100644 (file)
 #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;
 }
index 1c63e62..774dfdd 100644 (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*/);
 
index 71bc6a5..398eecf 100644 (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 )
     {