Iadmext.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:3k
- /**********************************************************************/
- /** Microsoft Windows NT **/
- /** Copyright(c) Microsoft Corp., 1997-1999 **/
- /**********************************************************************/
- /*
- iadmext.h
- This module contains the interface for extensions to the IISADMIN service.
- FILE HISTORY:
- 7/8/97 michth created
- */
- #ifndef COM_NO_WINDOWS_H
- #include "windows.h"
- #include "ole2.h"
- #endif /*COM_NO_WINDOWS_H*/
- #ifndef __iadmext_h__
- #define __iadmext_h__
- #ifdef __cplusplus
- extern "C"{
- #endif
- /* header files for imported files */
- #include "unknwn.h"
- #include "objidl.h"
- #include "ocidl.h"
- /*
- The Main Interface. All extensions must support this interface.
- */
- // {51DFE970-F6F2-11d0-B9BD-00A0C922E750}
- DEFINE_GUID(IID_IADMEXT, 0x51dfe970, 0xf6f2, 0x11d0, 0xb9, 0xbd, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);
- /*
- InProcess COM Registration. All extensions must write a subkey name by the
- CLSID for the above interface under this key in the Registry.
- */
- #define IISADMIN_EXTENSIONS_REG_KEYA "SOFTWARE\Microsoft\InetStp\Extensions"
- #define IISADMIN_EXTENSIONS_REG_KEYW L"SOFTWARE\Microsoft\InetStp\Extensions"
- #define IISADMIN_EXTENSIONS_REG_KEY TEXT("SOFTWARE\Microsoft\InetStp\Extensions")
- /*
- DCOM Registration. CLSIDS for the DCOM interface provided by these extensions will
- be written to this key and ID by IISADMIN as a multisz property.
- This is intended for use by other applications which need to find out what classid's are
- registered.
- */
- #define IISADMIN_EXTENSIONS_CLSID_MD_KEYA "LM/IISADMIN/EXTENSIONS/DCOMCLSIDS"
- #define IISADMIN_EXTENSIONS_CLSID_MD_KEYW L"LM/IISADMIN/EXTENSIONS/DCOMCLSIDS"
- #define IISADMIN_EXTENSIONS_CLSID_MD_KEY TEXT("LM/IISADMIN/EXTENSIONS/DCOMCLSIDS")
- #define IISADMIN_EXTENSIONS_CLSID_MD_ID MD_IISADMIN_EXTENSIONS
- #ifndef __IADMEXT_INTERFACE_DEFINED__
- #define __IADMEXT_INTERFACE_DEFINED__
- EXTERN_C const IID IID_IADMEXT;
- #if defined(__cplusplus) && !defined(CINTERFACE)
- interface IADMEXT : public IUnknown
- {
- public:
- //
- // All methods below will be called under a thread which has called
- // CoInitializeEx(NULL, COINIT_MULTITHREADED).
- //
- // The IMSAdminBase Object will be available during all of these calls.
- //
- //
- // Initialize will be called by IISADMIN when it initializes.
- //
- virtual HRESULT STDMETHODCALLTYPE Initialize(void) = 0;
- //
- // EnumDcomCLSIDs will be called by IISADMIN when it initializes,
- // and the returned CLSIDs will be written to the metabase at
- // the path IISADMIN_EXTENSIONS_CLSID_MD_KEY.
- //
- virtual HRESULT STDMETHODCALLTYPE EnumDcomCLSIDs(
- /* [size_is][out] */ CLSID *pclsidDcom,
- /* [in] */ DWORD dwEnumIndex) = 0;
- //
- // Terminate will be called by IISADMIN when it terminates.
- //
- virtual HRESULT STDMETHODCALLTYPE Terminate(void) = 0;
- };
- #else /* C style interface */
- #endif
- #endif /* __IADMEXT_INTERFACE_DEFINED__ */
- #ifdef __cplusplus
- }
- #endif
- #endif // __iadmext_h__