MikoĊ‚aj Zalewski wrote:
> +    /* Windows function 0x14 must be using a different prototype - not 
> compatible */
> +    DWORD svcctl_GetServiceDisplayNameW(
> +        SvcCtlRpcHandle rpc_handle,
> +        [in] POLICY_HANDLE *hSCManager,
> +        [in] LPCWSTR lpServiceName,
> +        [in,out,size_is(cchBufSize)] WCHAR lpBuffer[],
> +        [in] DWORD cchBufSize,
> +        [out] DWORD *cchLength);
> +
> +    /* Windows function 0x15 must be using a different prototype - not 
> compatible */
> +    DWORD svcctl_GetServiceKeyNameW(
> +        SvcCtlRpcHandle rpc_handle,
> +        [in] POLICY_HANDLE *hSCManager,
> +        [in] LPCWSTR lpServiceDisplayName,
> +        [in,out,size_is(cchBufSize)] WCHAR lpBuffer[],
> +        [in] DWORD cchBufSize,
> +        [out] DWORD *cchLength);
>  }
>   

The lpBuffer parameter should be out-only instead of in and out. I 
believe this will make the prototype compatible.

-- 
Rob Shearman



Reply via email to