openDecal/Native/Include/DecalDat.idl
erik d1442e3747 Initial commit: Complete open-source Decal rebuild
All 5 phases of the open-source Decal rebuild:

Phase 1: 14 decompiled .NET projects (Interop.*, Adapter, FileService, DecalUtil)
Phase 2: 10 native DLLs rewritten as C# COM servers with matching GUIDs
  - DecalDat, DHS, SpellFilter, DecalInput, DecalNet, DecalFilters
  - Decal.Core, DecalControls, DecalRender, D3DService
Phase 3: C++ shims for Inject.DLL (D3D9 hooking) and LauncherHook.DLL
Phase 4: DenAgent WinForms tray application
Phase 5: WiX installer and build script

25 C# projects building with 0 errors.
Native C++ projects require VS 2022 + Windows SDK (x86).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 18:27:56 +01:00

101 lines
2.3 KiB
Text

// DecalDat.idl : IDL source for DecalDat.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (DecalDat.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(D501DE12-DD81-4CE1-8854-78CBCB96C2DB),
dual,
helpstring("IDatService Interface"),
pointer_default(unique)
]
interface IDatService : IDispatch
{
};
[
object,
uuid(4EC04AB5-F87A-465D-B282-1B6C2E6068C9),
dual,
helpstring("IDatLibrary Interface"),
pointer_default(unique)
]
interface IDatLibrary : IDispatch
{
[propget, id(1), helpstring("property Stream")] HRESULT Stream(DWORD File, [out, retval] LPUNKNOWN *pVal);
[id(2), helpstring("method Open")] HRESULT Open(BSTR Protocol, DWORD File, [out, retval] LPUNKNOWN *pFile);
};
[
object,
uuid(B27D3F72-2640-432F-BAE4-175E1AA0CA39),
helpstring("IDatStream Interface"),
pointer_default(unique)
]
interface IDatStream : IUnknown
{
[propget, helpstring("property Size")] HRESULT Size([out, retval] long *pVal);
[propget, helpstring("property Tell")] HRESULT Tell([out, retval] long *pVal);
[helpstring("method Skip")] HRESULT Skip(long Bytes);
[helpstring("method Restart")] HRESULT Restart();
[helpstring("method ReadBinary")] HRESULT ReadBinary(long Bytes, [size_is(Bytes)] BYTE *Buffer);
[helpstring("method Read")] HRESULT Read(long Bytes, [out, retval] BSTR *Data);
};
[
object,
uuid(1349EF1A-06EA-43e5-9026-4F3967C6C1D3),
helpstring("IFileFilter Interface"),
pointer_default(unique)
]
interface IFileFilter : IUnknown
{
[helpstring("method Initiailize")] HRESULT Initialize(IDatStream *Stream);
};
[
uuid(C2C11EC7-2CB9-4999-BDD9-AF599455601F),
version(1.0),
helpstring("DecalDat 1.0 Type Library")
]
library DecalDat
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
interface IFileFilter;
[
uuid(37B083F0-276E-43AD-8D26-3F7449B519DC),
helpstring("DatService Class")
]
coclass DatService
{
[default] interface IDatService;
};
[
uuid(6FA05FDA-B4B5-4386-AB45-92D7E6A5D698),
helpstring("DatLibrary Class"),
noncreatable
]
coclass DatLibrary
{
[default] interface IDatLibrary;
};
[
uuid(9F7F6CD9-D164-418D-8CB5-3B9ACD70BEAF),
helpstring("DatStream Class"),
noncreatable
]
coclass DatStream
{
[default] interface IDatStream;
};
};