3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * svcctl interface definitions - exported by services.exe to access the
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * services database
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright 2007 Google (Mikolaj Zalewski)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncimport "wtypes.idl";
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * some defined for the C code
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define SVCCTL_TRANSPORT {'n','c','a','c','n','_','n','p',0}")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define SVCCTL_ENDPOINT {'\\\\','p','i','p','e','\\\\','s','v','c','c','t','l',0}")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Not the Windows event name - if needed the true one can be found in Inside Windows */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#define SVCCTL_STARTED_EVENT {'_','_','w','i','n','e','_','S','v','c','c','t','l','S','t','a','r','t','e','d',0}")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Service startup protocol over control pipe - not compatible with Windows */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* handle types */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* undocumented access rights */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynccpp_quote("#if 0 /* already defined in winsvc.h */")
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SERVICE_FAILURE_ACTIONSW,*LPSERVICE_FAILURE_ACTIONSW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SERVICE_PRESHUTDOWN_INFO,*LPSERVICE_PRESHUTDOWN_INFO;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case (SERVICE_CONFIG_DESCRIPTION)] SERVICE_DESCRIPTIONW descr;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case (SERVICE_CONFIG_FAILURE_ACTIONS)] SERVICE_FAILURE_ACTIONSW actions;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [case (SERVICE_CONFIG_PRESHUTDOWN_INFO)] SERVICE_PRESHUTDOWN_INFO preshutdown;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Compatible with Windows function 0x00 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Compatible with Windows function 0x01 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Compatible with Windows function 0x02 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Compatible with Windows function 0x03 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x04 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD svcctl_QueryServiceObjectSecurity(/* FIXME */);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x05 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD svcctl_SetServiceObjectSecurity(/* FIXME */);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x06 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Compatible with Windows function 0x07 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Compatible with Windows function 0x08 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x09 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x0a */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Compatible with Windows function 0x0b */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in,unique,size_is(dwDependenciesSize)] const BYTE *lpDependencies,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in,unique,size_is(dwPasswordSize)] const BYTE *lpPassword,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Compatible with Windows function 0x0c */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in,unique,size_is(dwDependenciesSize)] const BYTE *lpDependencies,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in,unique,size_is(dwPasswordSize)] const BYTE *lpPassword,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x0d */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x0e */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Compatible with Windows function 0x0f */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Compatible with Windows function 0x10 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Windows function 0x11 must be using a different prototype - not compatible */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x12 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Untested with Windows function 0x13 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in,unique,size_is(dwNumServiceArgs)] LPCWSTR *lpServiceArgVectors
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Compatible with Windows function 0x14 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [out,string,size_is(*cchBufSize+1)] WCHAR lpBuffer[],
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Compatible with Windows function 0x15 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [out,string,size_is(*cchBufSize+1)] WCHAR lpBuffer[],
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x16 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x17 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x18 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x19 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x1a */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x1b */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x1c */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x1d */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x1e */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x1f */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x20 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x21 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x22 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x23 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x24 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Untested with Windows function 0x25 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync [in,switch_is(InfoLevel)] SERVICE_CONFIG2W *config );
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Not compatible with Windows function 0x26 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Untested with Windows function 0x27 */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync /* Untested with Windows function 0x28 */