Click here to Skip to main content
15,886,518 members
Articles / Desktop Programming / Windows Forms

C# WinForms Application Full Integration with HTMLHelp ( .chm ) - Help Topics, Context Sensitive Help, and Tooltips

Rate me:
Please Sign up or sign in to vote.
4.67/5 (12 votes)
4 May 2011CPOL5 min read 64K   2.2K   48  
Use HTMLHelp (.chm) to display help topics, context sensitive help and tooltips in C# Winform application
/*** Autogenerated by WIDL 0.9.37 from wine/itss.idl - Do not edit ***/
#include <rpc.h>
#include <rpcndr.h>

#ifndef __WIDL_ITSS_H
#define __WIDL_ITSS_H
#ifdef __cplusplus
extern "C" {
#endif
#include <oaidl.h>
typedef struct _ITS_Control_Data {
    UINT cdwControlData;
    UINT adwControlData[1];
} ITS_Control_Data;
typedef struct _ITS_Control_Data *PITS_Control_Data;
typedef enum ECompactionLev {
    COMPACT_DATA = 0,
    COMPACT_DATA_AND_PATH = 1
} ECompactionLev;
#ifndef __IITStorage_FWD_DEFINED__
#define __IITStorage_FWD_DEFINED__
typedef interface IITStorage IITStorage;
#endif

/*****************************************************************************
 * IITStorage interface
 */
#ifndef __IITStorage_INTERFACE_DEFINED__
#define __IITStorage_INTERFACE_DEFINED__

DEFINE_GUID(IID_IITStorage, 0x88cc31de, 0x27ab, 0x11d0, 0x9d,0xf9, 0x00,0xa0,0xc9,0x22,0xe6,0xec);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IITStorage : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE StgCreateDocfile(
        const WCHAR *pwcsName,
        DWORD grfMode,
        DWORD reserved,
        IStorage **ppstgOpen) = 0;

    virtual HRESULT STDMETHODCALLTYPE StgCreateDocfileOnILockBytes(
        ILockBytes *plkbyt,
        DWORD grfMode,
        DWORD reserved,
        IStorage **ppstgOpen) = 0;

    virtual HRESULT STDMETHODCALLTYPE StgIsStorageFile(
        const WCHAR *pwcsName) = 0;

    virtual HRESULT STDMETHODCALLTYPE StgIsStorageILockBytes(
        ILockBytes *plkbyt) = 0;

    virtual HRESULT STDMETHODCALLTYPE StgOpenStorage(
        const WCHAR *pwcsName,
        IStorage *pstgPriority,
        DWORD grfMode,
        SNB snbExclude,
        DWORD reserved,
        IStorage **ppstgOpen) = 0;

    virtual HRESULT STDMETHODCALLTYPE StgOpenStorageOnILockBytes(
        ILockBytes *plkbyt,
        IStorage *pStgPriority,
        DWORD grfMode,
        SNB snbExclude,
        DWORD reserved,
        IStorage **ppstgOpen) = 0;

    virtual HRESULT STDMETHODCALLTYPE StgSetTimes(
        WCHAR *lpszName,
        FILETIME *pctime,
        FILETIME *patime,
        FILETIME *pmtime) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetControlData(
        PITS_Control_Data pControlData) = 0;

    virtual HRESULT STDMETHODCALLTYPE DefaultControlData(
        PITS_Control_Data *ppControlData) = 0;

    virtual HRESULT STDMETHODCALLTYPE Compact(
        const WCHAR *pwcsName,
        ECompactionLev iLev) = 0;

};
#else
typedef struct IITStorageVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IITStorage* This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IITStorage* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IITStorage* This);

    /*** IITStorage methods ***/
    HRESULT (STDMETHODCALLTYPE *StgCreateDocfile)(
        IITStorage* This,
        const WCHAR *pwcsName,
        DWORD grfMode,
        DWORD reserved,
        IStorage **ppstgOpen);

    HRESULT (STDMETHODCALLTYPE *StgCreateDocfileOnILockBytes)(
        IITStorage* This,
        ILockBytes *plkbyt,
        DWORD grfMode,
        DWORD reserved,
        IStorage **ppstgOpen);

    HRESULT (STDMETHODCALLTYPE *StgIsStorageFile)(
        IITStorage* This,
        const WCHAR *pwcsName);

    HRESULT (STDMETHODCALLTYPE *StgIsStorageILockBytes)(
        IITStorage* This,
        ILockBytes *plkbyt);

    HRESULT (STDMETHODCALLTYPE *StgOpenStorage)(
        IITStorage* This,
        const WCHAR *pwcsName,
        IStorage *pstgPriority,
        DWORD grfMode,
        SNB snbExclude,
        DWORD reserved,
        IStorage **ppstgOpen);

    HRESULT (STDMETHODCALLTYPE *StgOpenStorageOnILockBytes)(
        IITStorage* This,
        ILockBytes *plkbyt,
        IStorage *pStgPriority,
        DWORD grfMode,
        SNB snbExclude,
        DWORD reserved,
        IStorage **ppstgOpen);

    HRESULT (STDMETHODCALLTYPE *StgSetTimes)(
        IITStorage* This,
        WCHAR *lpszName,
        FILETIME *pctime,
        FILETIME *patime,
        FILETIME *pmtime);

    HRESULT (STDMETHODCALLTYPE *SetControlData)(
        IITStorage* This,
        PITS_Control_Data pControlData);

    HRESULT (STDMETHODCALLTYPE *DefaultControlData)(
        IITStorage* This,
        PITS_Control_Data *ppControlData);

    HRESULT (STDMETHODCALLTYPE *Compact)(
        IITStorage* This,
        const WCHAR *pwcsName,
        ECompactionLev iLev);

    END_INTERFACE
} IITStorageVtbl;
interface IITStorage {
    CONST_VTBL IITStorageVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IITStorage_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IITStorage_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IITStorage_Release(p) (p)->lpVtbl->Release(p)
/*** IITStorage methods ***/
#define IITStorage_StgCreateDocfile(p,a,b,c,d) (p)->lpVtbl->StgCreateDocfile(p,a,b,c,d)
#define IITStorage_StgCreateDocfileOnILockBytes(p,a,b,c,d) (p)->lpVtbl->StgCreateDocfileOnILockBytes(p,a,b,c,d)
#define IITStorage_StgIsStorageFile(p,a) (p)->lpVtbl->StgIsStorageFile(p,a)
#define IITStorage_StgIsStorageILockBytes(p,a) (p)->lpVtbl->StgIsStorageILockBytes(p,a)
#define IITStorage_StgOpenStorage(p,a,b,c,d,e,f) (p)->lpVtbl->StgOpenStorage(p,a,b,c,d,e,f)
#define IITStorage_StgOpenStorageOnILockBytes(p,a,b,c,d,e,f) (p)->lpVtbl->StgOpenStorageOnILockBytes(p,a,b,c,d,e,f)
#define IITStorage_StgSetTimes(p,a,b,c,d) (p)->lpVtbl->StgSetTimes(p,a,b,c,d)
#define IITStorage_SetControlData(p,a) (p)->lpVtbl->SetControlData(p,a)
#define IITStorage_DefaultControlData(p,a) (p)->lpVtbl->DefaultControlData(p,a)
#define IITStorage_Compact(p,a,b) (p)->lpVtbl->Compact(p,a,b)
#endif

#endif

HRESULT CALLBACK IITStorage_StgCreateDocfile_Proxy(
    IITStorage* This,
    const WCHAR *pwcsName,
    DWORD grfMode,
    DWORD reserved,
    IStorage **ppstgOpen);
void __RPC_STUB IITStorage_StgCreateDocfile_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IITStorage_StgCreateDocfileOnILockBytes_Proxy(
    IITStorage* This,
    ILockBytes *plkbyt,
    DWORD grfMode,
    DWORD reserved,
    IStorage **ppstgOpen);
void __RPC_STUB IITStorage_StgCreateDocfileOnILockBytes_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IITStorage_StgIsStorageFile_Proxy(
    IITStorage* This,
    const WCHAR *pwcsName);
void __RPC_STUB IITStorage_StgIsStorageFile_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IITStorage_StgIsStorageILockBytes_Proxy(
    IITStorage* This,
    ILockBytes *plkbyt);
void __RPC_STUB IITStorage_StgIsStorageILockBytes_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IITStorage_StgOpenStorage_Proxy(
    IITStorage* This,
    const WCHAR *pwcsName,
    IStorage *pstgPriority,
    DWORD grfMode,
    SNB snbExclude,
    DWORD reserved,
    IStorage **ppstgOpen);
void __RPC_STUB IITStorage_StgOpenStorage_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IITStorage_StgOpenStorageOnILockBytes_Proxy(
    IITStorage* This,
    ILockBytes *plkbyt,
    IStorage *pStgPriority,
    DWORD grfMode,
    SNB snbExclude,
    DWORD reserved,
    IStorage **ppstgOpen);
void __RPC_STUB IITStorage_StgOpenStorageOnILockBytes_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IITStorage_StgSetTimes_Proxy(
    IITStorage* This,
    WCHAR *lpszName,
    FILETIME *pctime,
    FILETIME *patime,
    FILETIME *pmtime);
void __RPC_STUB IITStorage_StgSetTimes_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IITStorage_SetControlData_Proxy(
    IITStorage* This,
    PITS_Control_Data pControlData);
void __RPC_STUB IITStorage_SetControlData_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IITStorage_DefaultControlData_Proxy(
    IITStorage* This,
    PITS_Control_Data *ppControlData);
void __RPC_STUB IITStorage_DefaultControlData_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IITStorage_Compact_Proxy(
    IITStorage* This,
    const WCHAR *pwcsName,
    ECompactionLev iLev);
void __RPC_STUB IITStorage_Compact_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IITStorage_INTERFACE_DEFINED__ */

DEFINE_GUID(CLSID_ITStorage,0x5d02926a,0x212e,0x11d0,0x9d,0xf9,0x00,0xa0,0xc9,0x22,0xe6,0xec);
DEFINE_GUID(CLSID_MSFSStore,0xd54eee56,0xaaab,0x11d0,0x9e,0x1d,0x00,0xa0,0xc9,0x22,0xe6,0xec);
DEFINE_GUID(CLSID_MSITStore,0x9d148290,0xb9c8,0x11d0,0xa4,0xcc,0x00,0x00,0xf8,0x01,0x49,0xf6);
DEFINE_GUID(CLSID_ITSProtocol,0x9d148291,0xb9c8,0x11d0,0xa4,0xcc,0x00,0x00,0xf8,0x01,0x49,0xf6);
/* Begin additional prototypes for all interfaces */

ULONG           __RPC_USER SNB_UserSize     (ULONG *, ULONG, SNB *);
unsigned char * __RPC_USER SNB_UserMarshal  (ULONG *, unsigned char *, SNB *);
unsigned char * __RPC_USER SNB_UserUnmarshal(ULONG *, unsigned char *, SNB *);
void            __RPC_USER SNB_UserFree     (ULONG *, SNB *);

/* End additional prototypes */

#ifdef __cplusplus
}
#endif
#endif /* __WIDL_ITSS_H */

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
United Kingdom United Kingdom
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions