// iisrsta.idl : IDL source for iisrsta.dll // // This file will be processed by the MIDL tool to // produce the type library (iisrsta.tlb) and marshalling code. cpp_quote("DEFINE_GUID(IID_IIisServiceControl, 0xE8FB8620, 0x588F, 0x11d2, 0x9d, 0x61, 0x0,0xc0, 0x4f, 0x79, 0xc5, 0xfe);") cpp_quote("DEFINE_GUID(CLSID_IisServiceControl, 0xE8FB8621, 0x588F, 0x11d2, 0x9d, 0x61, 0x0,0xc0, 0x4f, 0x79, 0xc5, 0xfe);") cpp_quote("DEFINE_GUID(LIBID_IISRSTALib, 0xE8FB8614, 0x588F, 0x11d2, 0x9d, 0x61, 0x0,0xc0, 0x4f, 0x79, 0xc5, 0xfe);") import "oaidl.idl"; import "ocidl.idl"; [ object, uuid(E8FB8620-588F-11D2-9D61-00C04F79C5FE), dual, helpstring("IIisServiceControl Interface"), pointer_default(unique) ] interface IIisServiceControl : IDispatch { [id(1), helpstring("method Stop")] HRESULT Stop(DWORD dwTimeoutMsecs, DWORD dwForce); [id(2), helpstring("method Start")] HRESULT Start(DWORD dwTimeoutMsecs); [id(3), helpstring("method Reboot")] HRESULT Reboot( DWORD dwTimeouMsecs, DWORD dwForceAppsClosed ); [id(4), helpstring("method Status")] HRESULT Status([in] DWORD dwBufferSize, [out, size_is(dwBufferSize)] unsigned char *pbBuffer, [out] DWORD *pdwMDRequiredBufferSize, [out] DWORD *pdwNumServices); [id(5), helpstring("method Kill")] HRESULT Kill(); }; [ uuid(E8FB8614-588F-11D2-9D61-00C04F79C5FE), version(1.0), helpstring("iisrsta 1.0 Type Library") ] library IISRSTALib { importlib("stdole2.tlb"); [ uuid(E8FB8621-588F-11D2-9D61-00C04F79C5FE), helpstring("IisServiceControl Class") ] coclass IisServiceControl { [default] interface IIisServiceControl; }; }; cpp_quote("typedef struct {") cpp_quote("DWORD iServiceName;") cpp_quote("DWORD iDisplayName;") cpp_quote("SERVICE_STATUS ServiceStatus;") cpp_quote("} SERIALIZED_ENUM_SERVICE_STATUS;")