[PATCH 3/7] services: Start a local RPC server.

Alexandre Julliard julliard at winehq.org
Fri Mar 28 08:48:42 CDT 2008


Robert Shearman <rob at codeweavers.com> writes:

> +handle_t __RPC_USER MACHINE_HANDLEW_bind(MACHINE_HANDLEW MachineName)
> +{
> +    WCHAR transport[] = SVCCTL_TRANSPORT;
> +    WCHAR endpoint[] = SVCCTL_ENDPOINT;
> +    LPWSTR server_copy = NULL;
> +    RPC_WSTR binding_str;
> +    RPC_STATUS status;
> +    handle_t rpc_handle;
> +    
> +    /* unlike Windows we start services.exe on demand. We start it always as
> +     * checking if this is our address can be tricky */
> +    if (!check_services_exe())
> +        return NULL;

I think it would be OK to assume that services.exe is started by
wineboot and is always running, since we'll have at least the mountmgr
service running all the time.

> +/* Not the Windows event name - if needed the true one can be found in Inside Windows */
> +cpp_quote("#define SVCCTL_STARTED_EVENT (const WCHAR[]){'_','_','w','i','n','e','_','S','v','c','c','t','l','S','t','a','r','t','e','d',0}")

That's gcc-specific syntax, it would need some #ifdefs.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list