// JonN 8/23/00 120488
// filemgmt.idl : IDL source for clients of Shared Folders and Services snap-ins
//
// No type library is needed for MMC snap-ins
//
// Need to use standard UI in Cluster Admin for managing the cluster service

import "oaidl.idl";

[
    object,
    uuid(F62DEC25-E3CB-4D45-9E98-933DB95BCAEA),
    helpstring("ISvcMgmtStartStopHelper Interface"),
    pointer_default(unique)
]
interface ISvcMgmtStartStopHelper : IUnknown
{
    [helpstring("Starts an individual service and services on which it depends")]
    HRESULT StartServiceHelper(
        HWND hwndParent,
        BSTR pszMachineName,
        BSTR pszServiceName,
        DWORD dwNumServiceArgs,
        BSTR * lpServiceArgVectors );

    [helpstring("Stops/pauses/etc. an individual service and services on which it depends")]
    HRESULT ControlServiceHelper(
        HWND hwndParent,
        BSTR pszMachineName,
        BSTR pszServiceName,
        DWORD dwControlCode );
};

[
    uuid(325AA254-2DBA-4e50-81F7-38F646DED8E4),
    version(1.0),
    helpstring("SvcMgmt Object")
]
library SvcMgmt
{
    [
        uuid(863FA3AC-9D97-4560-9587-7FA58727608B),
        helpstring("SvcMgmt Class")
    ]
    coclass SvcMgmt
    {
        [default] interface ISvcMgmtStartStopHelper;
    };
};


// Nodetypes for the Shared Folders and
//   Services snap-ins
// created by UUIDGEN 4/2/97 JonN

cpp_quote("#define struuidNodetypeRoot      \"{4e410f0e-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define struuidNodetypeShares    \"{4e410f0f-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define struuidNodetypeSessions  \"{4e410f10-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define struuidNodetypeResources \"{4e410f11-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define struuidNodetypeServices  \"{4e410f12-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define struuidNodetypeShare     \"{4e410f13-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define struuidNodetypeSession   \"{4e410f14-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define struuidNodetypeResource  \"{4e410f15-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define struuidNodetypeService   \"{4e410f16-abc1-11d0-b944-00c04fd8d5b0}\"")

cpp_quote("#define lstruuidNodetypeRoot      L\"{4e410f0e-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define lstruuidNodetypeShares    L\"{4e410f0f-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define lstruuidNodetypeSessions  L\"{4e410f10-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define lstruuidNodetypeResources L\"{4e410f11-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define lstruuidNodetypeServices  L\"{4e410f12-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define lstruuidNodetypeShare     L\"{4e410f13-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define lstruuidNodetypeSession   L\"{4e410f14-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define lstruuidNodetypeResource  L\"{4e410f15-abc1-11d0-b944-00c04fd8d5b0}\"")
cpp_quote("#define lstruuidNodetypeService   L\"{4e410f16-abc1-11d0-b944-00c04fd8d5b0}\"")

cpp_quote("#define structuuidNodetypeRoot        \
    { 0x4e410f0e, 0xabc1, 0x11d0, { 0xb9, 0x44, 0x0, 0xc0, 0x4f, 0xd8, 0xd5, 0xb0 } }")
cpp_quote("#define structuuidNodetypeShares      \
    { 0x4e410f0f, 0xabc1, 0x11d0, { 0xb9, 0x44, 0x0, 0xc0, 0x4f, 0xd8, 0xd5, 0xb0 } }")
cpp_quote("#define structuuidNodetypeSessions    \
    { 0x4e410f10, 0xabc1, 0x11d0, { 0xb9, 0x44, 0x0, 0xc0, 0x4f, 0xd8, 0xd5, 0xb0 } }")
cpp_quote("#define structuuidNodetypeResources   \
    { 0x4e410f11, 0xabc1, 0x11d0, { 0xb9, 0x44, 0x0, 0xc0, 0x4f, 0xd8, 0xd5, 0xb0 } }")
cpp_quote("#define structuuidNodetypeServices    \
    { 0x4e410f12, 0xabc1, 0x11d0, { 0xb9, 0x44, 0x0, 0xc0, 0x4f, 0xd8, 0xd5, 0xb0 } }")
cpp_quote("#define structuuidNodetypeShare    \
    { 0x4e410f13, 0xabc1, 0x11d0, { 0xb9, 0x44, 0x0, 0xc0, 0x4f, 0xd8, 0xd5, 0xb0 } }")
cpp_quote("#define structuuidNodetypeSession     \
    { 0x4e410f14, 0xabc1, 0x11d0, { 0xb9, 0x44, 0x0, 0xc0, 0x4f, 0xd8, 0xd5, 0xb0 } }")
cpp_quote("#define structuuidNodetypeResource    \
    { 0x4e410f15, 0xabc1, 0x11d0, { 0xb9, 0x44, 0x0, 0xc0, 0x4f, 0xd8, 0xd5, 0xb0 } }")
cpp_quote("#define structuuidNodetypeService     \
    { 0x4e410f16, 0xabc1, 0x11d0, { 0xb9, 0x44, 0x0, 0xc0, 0x4f, 0xd8, 0xd5, 0xb0 } }")

/*
clipboard formats common to Shared Folders, Services, Computer Management
    MMC_SNAPIN_MACHINE_NAME

clipboard formats defined by Shared Folders:
    FILEMGMT_TRANSPORT
    FILEMGMT_SNAPIN_SHARE_NAME
    FILEMGMT_SNAPIN_SESSION_CLIENT_NAME
    FILEMGMT_SNAPIN_SESSION_USER_NAME
    FILEMGMT_SNAPIN_SESSION_ID
    FILEMGMT_SNAPIN_FILE_ID

clipboard formats defined by Services:
    FILEMGMT_SNAPIN_SERVICE_NAME
    FILEMGMT_SNAPIN_SERVICE_DISPLAYNAME
*/
