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