⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rothooktypes.odl

📁 VB圣经
💻 ODL
字号:
[
    uuid(CA1E7470-873A-11D3-BBD1-D41203C10000),
    helpstring("VBoost: ROT Hook Types"),
    lcid(0x0),
    version(1.0)
] 

library ROTHookTypes
{  
    importlib("stdole2.tlb");
    importlib("VBoostTypes6.olb");

    typedef enum {
        ssNoServiceSupport,
        ssRequireServiceSupport,
        ssAttemptServiceSupport
    } ROTServiceSupport;

    [
        uuid(CA1E7471-873A-11D3-BBD1-D41203C10000),
        helpstring("Enable GetObject of VB classes."),
        odl
    ]
    interface IROTHook : IUnknown
    {
        [helpstring("Register a CLSID in the running object table.")]
        HRESULT ExposeObject([in] stdole.IUnknown* MyObject, [in] BSTR ProgID, [in, defaultvalue(0)] boolean fProgIDIsMoniker, [in, defaultvalue(0)] ROTServiceSupport ServiceSupport);
        [helpstring("Unregister a previously registered object.")]
        HRESULT HideObject(void);
        [propget, helpstring("Is the object locked in the running object table?")]
        HRESULT Locked([out,retval] boolean *retVal);
        [propput]
        HRESULT Locked([in] boolean RHS);
    }

    [
        uuid(00000019-0000-0000-C000-000000000046),
        odl,
        hidden
    ]
    interface IExternalConnection : IUnknownUnrestricted
    {
        long AddConnection([in] long extconn, [in] long reserved);
        long ReleaseConnection([in] long extconn, [in] long reserved, [in] long fLastReleaseCloses);
    }
    typedef [hidden] enum {
        ROTFLAGS_DEFAULT = 0,
        ROTFLAGS_REGISTRATIONKEEPSALIVE = 1,
        ROTFLAGS_ALLOWANYCLIENT = 2
    } ROTFLAGS;

    typedef [public, hidden] long IUnknownPtr;
    [
        uuid(0000000F-0000-0000-C000-000000000046),
        odl,
        hidden
    ]
    interface IMonikerStub : IUnknown
    {
    }
    [
        uuid(00000010-0000-0000-C000-000000000046),
        odl,
        hidden
    ]
    interface IRunningObjectTableStub : IUnknown
    {
        long Register([in] ROTFLAGS grfFlags, [in] IUnknownPtr punkObject, [in] IMonikerStub *pmkObjectName, [out] long* pdwRegister);
        long Revoke([in] long dwRegister);
        long IsRunning([in] IMonikerStub* pmkObjectName);
        long GetObject([in] IMonikerStub* pmkObjectName, [out] IUnknown** ppunkObject);
    }
    [dllname("ole32.dll"), hidden]
    module Ole32
    {
        [entry("GetRunningObjectTable")] long GetRunningObjectTable([in] long reserved, [out] IRunningObjectTableStub** pprot);
        [entry("CreateItemMoniker")] long CreateItemMoniker([in] LPWSTR lpszDelim, [in] LPWSTR lpszItem, [out] IMonikerStub** ppmk);
    }
    [dllname("bogus"), hidden]
    module ROTHookStrings
    {
      //const LPSTR str = "{}";
      const LPSTR strIID_IROTHook = "{CA1E7471-873A-11D3-BBD1-D41203C10000}";
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -