📄 rothooktypes.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 + -