| /** | |
| * Windows API header module | |
| * | |
| * Translated from MinGW Windows headers | |
| * | |
| * Authors: Stewart Gordon | |
| * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) | |
| * Source: $(DRUNTIMESRC core/sys/windows/_ole.d) | |
| */ | |
| module core.sys.windows.ole; | |
| version (Windows): | |
| pragma(lib, "ole32"); | |
| import core.sys.windows.windef, core.sys.windows.wingdi, core.sys.windows.uuid; | |
| alias OLE_LPCSTR = LPCSTR; | |
| /+#define LRESULT LONG | |
| #define HGLOBAL HANDLE+/ | |
| enum { | |
| OT_LINK = 1, | |
| OT_EMBEDDED, | |
| OT_STATIC | |
| } | |
| enum OLEVERB_PRIMARY = 0; | |
| enum OF_SET = 1; | |
| enum OF_GET = 2; | |
| enum OF_HANDLER = 4; | |
| struct OLETARGETDEVICE { | |
| USHORT otdDeviceNameOffset; | |
| USHORT otdDriverNameOffset; | |
| USHORT otdPortNameOffset; | |
| USHORT otdExtDevmodeOffset; | |
| USHORT otdExtDevmodeSize; | |
| USHORT otdEnvironmentOffset; | |
| USHORT otdEnvironmentSize; | |
| BYTE _otdData; | |
| BYTE* otdData() return { return &_otdData; } | |
| } | |
| alias LPOLETARGETDEVICE = OLETARGETDEVICE*; | |
| enum OLESTATUS { | |
| OLE_OK, | |
| OLE_WAIT_FOR_RELEASE, | |
| OLE_BUSY, | |
| OLE_ERROR_PROTECT_ONLY, | |
| OLE_ERROR_MEMORY, | |
| OLE_ERROR_STREAM, | |
| OLE_ERROR_STATIC, | |
| OLE_ERROR_BLANK, | |
| OLE_ERROR_DRAW, | |
| OLE_ERROR_METAFILE, | |
| OLE_ERROR_ABORT, | |
| OLE_ERROR_CLIPBOARD, | |
| OLE_ERROR_FORMAT, | |
| OLE_ERROR_OBJECT, | |
| OLE_ERROR_OPTION, | |
| OLE_ERROR_PROTOCOL, | |
| OLE_ERROR_ADDRESS, | |
| OLE_ERROR_NOT_EQUAL, | |
| OLE_ERROR_HANDLE, | |
| OLE_ERROR_GENERIC, | |
| OLE_ERROR_CLASS, | |
| OLE_ERROR_SYNTAX, | |
| OLE_ERROR_DATATYPE, | |
| OLE_ERROR_PALETTE, | |
| OLE_ERROR_NOT_LINK, | |
| OLE_ERROR_NOT_EMPTY, | |
| OLE_ERROR_SIZE, | |
| OLE_ERROR_DRIVE, | |
| OLE_ERROR_NETWORK, | |
| OLE_ERROR_NAME, | |
| OLE_ERROR_TEMPLATE, | |
| OLE_ERROR_NEW, | |
| OLE_ERROR_EDIT, | |
| OLE_ERROR_OPEN, | |
| OLE_ERROR_NOT_OPEN, | |
| OLE_ERROR_LAUNCH, | |
| OLE_ERROR_COMM, | |
| OLE_ERROR_TERMINATE, | |
| OLE_ERROR_COMMAND, | |
| OLE_ERROR_SHOW, | |
| OLE_ERROR_DOVERB, | |
| OLE_ERROR_ADVISE_NATIVE, | |
| OLE_ERROR_ADVISE_PICT, | |
| OLE_ERROR_ADVISE_RENAME, | |
| OLE_ERROR_POKE_NATIVE, | |
| OLE_ERROR_REQUEST_NATIVE, | |
| OLE_ERROR_REQUEST_PICT, | |
| OLE_ERROR_SERVER_BLOCKED, | |
| OLE_ERROR_REGISTRATION, | |
| OLE_ERROR_ALREADY_REGISTERED, | |
| OLE_ERROR_TASK, | |
| OLE_ERROR_OUTOFDATE, | |
| OLE_ERROR_CANT_UPDATE_CLIENT, | |
| OLE_ERROR_UPDATE, | |
| OLE_ERROR_SETDATA_FORMAT, | |
| OLE_ERROR_STATIC_FROM_OTHER_OS, | |
| OLE_ERROR_FILE_VER, | |
| OLE_WARN_DELETE_DATA = 1000 | |
| } | |
| enum OLE_NOTIFICATION { | |
| OLE_CHANGED, | |
| OLE_SAVED, | |
| OLE_CLOSED, | |
| OLE_RENAMED, | |
| OLE_QUERY_PAINT, | |
| OLE_RELEASE, | |
| OLE_QUERY_RETRY | |
| } | |
| enum OLE_RELEASE_METHOD { | |
| OLE_NONE, | |
| OLE_DELETE, | |
| OLE_LNKPASTE, | |
| OLE_EMBPASTE, | |
| OLE_SHOW, | |
| OLE_RUN, | |
| OLE_ACTIVATE, | |
| OLE_UPDATE, | |
| OLE_CLOSE, | |
| OLE_RECONNECT, | |
| OLE_SETUPDATEOPTIONS, | |
| OLE_SERVERUNLAUNCH, | |
| OLE_LOADFROMSTREAM, | |
| OLE_SETDATA, | |
| OLE_REQUESTDATA, | |
| OLE_OTHER, | |
| OLE_CREATE, | |
| OLE_CREATEFROMTEMPLATE, | |
| OLE_CREATELINKFROMFILE, | |
| OLE_COPYFROMLNK, | |
| OLE_CREATEFROMFILE, | |
| OLE_CREATEINVISIBLE | |
| } | |
| enum OLEOPT_RENDER { | |
| olerender_none, | |
| olerender_draw, | |
| olerender_format | |
| } | |
| alias OLECLIPFORMAT = WORD; | |
| enum OLEOPT_UPDATE { | |
| oleupdate_always, | |
| oleupdate_onsave, | |
| oleupdate_oncall, | |
| // #ifdef OLE_INTERNAL | |
| oleupdate_onclose | |
| // #endif | |
| } | |
| alias HOBJECT = HANDLE; | |
| alias LHSERVER = LONG_PTR, LHCLIENTDOC = LONG_PTR, LHSERVERDOC = LONG_PTR; | |
| struct OLEOBJECTVTBL { | |
| extern (Windows) { | |
| void* function(LPOLEOBJECT, OLE_LPCSTR) QueryProtocol; | |
| OLESTATUS function(LPOLEOBJECT) Release; | |
| OLESTATUS function(LPOLEOBJECT, BOOL) Show; | |
| OLESTATUS function(LPOLEOBJECT, UINT, BOOL, BOOL) DoVerb; | |
| OLESTATUS function(LPOLEOBJECT, OLECLIPFORMAT, HANDLE*) GetData; | |
| OLESTATUS function(LPOLEOBJECT, OLECLIPFORMAT, HANDLE) SetData; | |
| OLESTATUS function(LPOLEOBJECT, HGLOBAL) SetTargetDevice; | |
| OLESTATUS function(LPOLEOBJECT, RECT*) SetBounds; | |
| OLECLIPFORMAT function(LPOLEOBJECT, OLECLIPFORMAT) EnumFormats; | |
| OLESTATUS function(LPOLEOBJECT, LOGPALETTE*) SetColorScheme; | |
| //#ifndef SERVERONLY | |
| OLESTATUS function(LPOLEOBJECT) Delete; | |
| OLESTATUS function(LPOLEOBJECT, OLE_LPCSTR, OLE_LPCSTR) SetHostNames; | |
| OLESTATUS function(LPOLEOBJECT, LPOLESTREAM) SaveToStream; | |
| OLESTATUS function(LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, OLE_LPCSTR, | |
| LPOLEOBJECT*) Clone; | |
| OLESTATUS function(LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, OLE_LPCSTR, | |
| LPOLEOBJECT*) CopyFromLink; | |
| OLESTATUS function(LPOLEOBJECT, LPOLEOBJECT) Equal; | |
| OLESTATUS function(LPOLEOBJECT) CopyToClipboard; | |
| OLESTATUS function(LPOLEOBJECT, HDC, RECT*, RECT*, HDC) Draw; | |
| OLESTATUS function(LPOLEOBJECT, UINT, BOOL, BOOL, HWND, RECT*) | |
| Activate; | |
| OLESTATUS function(LPOLEOBJECT, HGLOBAL, UINT) Execute; | |
| OLESTATUS function(LPOLEOBJECT) Close; | |
| OLESTATUS function(LPOLEOBJECT) Update; | |
| OLESTATUS function(LPOLEOBJECT) Reconnect; | |
| OLESTATUS function(LPOLEOBJECT, OLE_LPCSTR, LPOLECLIENT, LHCLIENTDOC, | |
| OLE_LPCSTR, LPOLEOBJECT*) ObjectConvert; | |
| OLESTATUS function(LPOLEOBJECT, OLEOPT_UPDATE*) GetLinkUpdateOptions; | |
| OLESTATUS function(LPOLEOBJECT, OLEOPT_UPDATE) SetLinkUpdateOptions; | |
| OLESTATUS function(LPOLEOBJECT, OLE_LPCSTR) Rename; | |
| OLESTATUS function(LPOLEOBJECT, LPSTR, UINT*) QueryName; | |
| OLESTATUS function(LPOLEOBJECT, LONG*) QueryType; | |
| OLESTATUS function(LPOLEOBJECT, RECT*) QueryBounds; | |
| OLESTATUS function(LPOLEOBJECT, DWORD*) QuerySize; | |
| OLESTATUS function(LPOLEOBJECT) QueryOpen; | |
| OLESTATUS function(LPOLEOBJECT) QueryOutOfDate; | |
| OLESTATUS function(LPOLEOBJECT) QueryReleaseStatus; | |
| OLESTATUS function(LPOLEOBJECT) QueryReleaseError; | |
| OLE_RELEASE_METHOD function(LPOLEOBJECT) QueryReleaseMethod; | |
| OLESTATUS function(LPOLEOBJECT, OLECLIPFORMAT) RequestData; | |
| OLESTATUS function(LPOLEOBJECT, UINT, LONG*) ObjectLong; | |
| OLESTATUS function(LPOLEOBJECT, HANDLE, LPOLECLIENT, BOOL) ChangeData; | |
| //#endif | |
| } | |
| } | |
| alias LPOLEOBJECTVTBL = OLEOBJECTVTBL*; | |
| //#ifndef OLE_INTERNAL | |
| struct OLEOBJECT { | |
| LPOLEOBJECTVTBL lpvtbl; | |
| } | |
| alias LPOLEOBJECT = OLEOBJECT*; | |
| //#endif | |
| struct OLECLIENTVTBL { | |
| extern (Windows) int function(LPOLECLIENT, OLE_NOTIFICATION, LPOLEOBJECT) CallBack; | |
| } | |
| alias LPOLECLIENTVTBL = OLECLIENTVTBL*; | |
| struct OLECLIENT { | |
| LPOLECLIENTVTBL lpvtbl; | |
| } | |
| alias LPOLECLIENT = OLECLIENT*; | |
| struct OLESTREAMVTBL { | |
| extern (Windows): | |
| DWORD function(LPOLESTREAM, void*, DWORD) Get; | |
| DWORD function(LPOLESTREAM, void*, DWORD) Put; | |
| } | |
| alias LPOLESTREAMVTBL = OLESTREAMVTBL*; | |
| struct OLESTREAM { | |
| LPOLESTREAMVTBL lpstbl; | |
| } | |
| alias LPOLESTREAM = OLESTREAM*; | |
| enum OLE_SERVER_USE { | |
| OLE_SERVER_MULTI, | |
| OLE_SERVER_SINGLE | |
| } | |
| struct OLESERVERVTBL { | |
| extern (Windows): | |
| OLESTATUS function(LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, LPOLESERVERDOC*) | |
| Open; | |
| OLESTATUS function(LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, | |
| LPOLESERVERDOC*) Create; | |
| OLESTATUS function(LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, | |
| OLE_LPCSTR, LPOLESERVERDOC*) CreateFromTemplate; | |
| OLESTATUS function(LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, | |
| LPOLESERVERDOC*) Edit; | |
| OLESTATUS function(LPOLESERVER) Exit; | |
| OLESTATUS function(LPOLESERVER) Release; | |
| OLESTATUS function(LPOLESERVER, HGLOBAL) Execute; | |
| } | |
| alias LPOLESERVERVTBL = OLESERVERVTBL*; | |
| struct OLESERVER { | |
| LPOLESERVERVTBL lpvtbl; | |
| } | |
| alias LPOLESERVER = OLESERVER*; | |
| struct OLESERVERDOCVTBL { | |
| extern (Windows): | |
| OLESTATUS function(LPOLESERVERDOC) Save; | |
| OLESTATUS function(LPOLESERVERDOC) Close; | |
| OLESTATUS function(LPOLESERVERDOC, OLE_LPCSTR, OLE_LPCSTR) SetHostNames; | |
| OLESTATUS function(LPOLESERVERDOC, RECT*) SetDocDimensions; | |
| OLESTATUS function(LPOLESERVERDOC, OLE_LPCSTR, LPOLEOBJECT*, LPOLECLIENT) | |
| GetObject; | |
| OLESTATUS function(LPOLESERVERDOC) Release; | |
| OLESTATUS function(LPOLESERVERDOC, LOGPALETTE*) SetColorScheme; | |
| OLESTATUS function(LPOLESERVERDOC, HGLOBAL) Execute; | |
| } | |
| alias LPOLESERVERDOCVTBL = OLESERVERDOCVTBL*; | |
| struct OLESERVERDOC { | |
| LPOLESERVERDOCVTBL lpvtbl; | |
| } | |
| alias LPOLESERVERDOC = OLESERVERDOC*; | |
| extern (Windows) nothrow @nogc { | |
| OLESTATUS OleDelete(LPOLEOBJECT); | |
| OLESTATUS OleRelease(LPOLEOBJECT); | |
| OLESTATUS OleSaveToStream(LPOLEOBJECT, LPOLESTREAM); | |
| OLESTATUS OleEqual(LPOLEOBJECT, LPOLEOBJECT); | |
| OLESTATUS OleCopyToClipboard(LPOLEOBJECT); | |
| OLESTATUS OleSetHostNames(LPOLEOBJECT, LPCSTR, LPCSTR); | |
| OLESTATUS OleSetTargetDevice(LPOLEOBJECT, HGLOBAL); | |
| OLESTATUS OleSetBounds(LPOLEOBJECT, LPCRECT); | |
| OLESTATUS OleSetColorScheme(LPOLEOBJECT, const(LOGPALETTE)*); | |
| OLESTATUS OleQueryBounds(LPOLEOBJECT, RECT*); | |
| OLESTATUS OleQuerySize(LPOLEOBJECT, DWORD*); | |
| OLESTATUS OleDraw(LPOLEOBJECT, HDC, LPCRECT, LPCRECT, HDC); | |
| OLESTATUS OleQueryOpen(LPOLEOBJECT); | |
| OLESTATUS OleActivate(LPOLEOBJECT, UINT, BOOL, BOOL, HWND, LPCRECT); | |
| OLESTATUS OleExecute(LPOLEOBJECT, HGLOBAL, UINT); | |
| OLESTATUS OleClose(LPOLEOBJECT); | |
| OLESTATUS OleUpdate(LPOLEOBJECT); | |
| OLESTATUS OleReconnect(LPOLEOBJECT); | |
| OLESTATUS OleGetLinkUpdateOptions(LPOLEOBJECT, OLEOPT_UPDATE*); | |
| OLESTATUS OleSetLinkUpdateOptions(LPOLEOBJECT, OLEOPT_UPDATE); | |
| void* OleQueryProtocol(LPOLEOBJECT, LPCSTR); | |
| OLESTATUS OleQueryReleaseStatus(LPOLEOBJECT); | |
| OLESTATUS OleQueryReleaseError(LPOLEOBJECT); | |
| OLE_RELEASE_METHOD OleQueryReleaseMethod(LPOLEOBJECT); | |
| OLESTATUS OleQueryType(LPOLEOBJECT, LONG*); | |
| DWORD OleQueryClientVersion(); | |
| DWORD OleQueryServerVersion(); | |
| OLECLIPFORMAT OleEnumFormats(LPOLEOBJECT, OLECLIPFORMAT); | |
| OLESTATUS OleGetData(LPOLEOBJECT, OLECLIPFORMAT, HANDLE*); | |
| OLESTATUS OleSetData(LPOLEOBJECT, OLECLIPFORMAT, HANDLE); | |
| OLESTATUS OleQueryOutOfDate(LPOLEOBJECT); | |
| OLESTATUS OleRequestData(LPOLEOBJECT, OLECLIPFORMAT); | |
| OLESTATUS OleQueryLinkFromClip(LPCSTR, OLEOPT_RENDER, OLECLIPFORMAT); | |
| OLESTATUS OleQueryCreateFromClip(LPCSTR, OLEOPT_RENDER, OLECLIPFORMAT); | |
| OLESTATUS OleCreateFromClip(LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, | |
| LPOLEOBJECT*, OLEOPT_RENDER, OLECLIPFORMAT); | |
| OLESTATUS OleCreateLinkFromClip(LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, | |
| LPOLEOBJECT*, OLEOPT_RENDER, OLECLIPFORMAT); | |
| OLESTATUS OleCreateFromFile(LPCSTR, LPOLECLIENT, LPCSTR, LPCSTR, | |
| LHCLIENTDOC, LPCSTR, LPOLEOBJECT*, OLEOPT_RENDER, OLECLIPFORMAT); | |
| OLESTATUS OleCreateLinkFromFile(LPCSTR, LPOLECLIENT, LPCSTR, LPCSTR, | |
| LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT*, OLEOPT_RENDER, OLECLIPFORMAT); | |
| OLESTATUS OleLoadFromStream(LPOLESTREAM, LPCSTR, LPOLECLIENT, LHCLIENTDOC, | |
| LPCSTR, LPOLEOBJECT*); | |
| OLESTATUS OleCreate(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, | |
| LPOLEOBJECT*, OLEOPT_RENDER, OLECLIPFORMAT); | |
| OLESTATUS OleCreateInvisible(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, | |
| LPCSTR, LPOLEOBJECT*, OLEOPT_RENDER, OLECLIPFORMAT, BOOL); | |
| OLESTATUS OleCreateFromTemplate(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, | |
| LPCSTR, LPOLEOBJECT*, OLEOPT_RENDER, OLECLIPFORMAT); | |
| OLESTATUS OleClone(LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, LPCSTR, | |
| LPOLEOBJECT*); | |
| OLESTATUS OleCopyFromLink(LPOLEOBJECT, LPCSTR, LPOLECLIENT, LHCLIENTDOC, | |
| LPCSTR, LPOLEOBJECT*); | |
| OLESTATUS OleObjectConvert(LPOLEOBJECT, LPCSTR, LPOLECLIENT, LHCLIENTDOC, | |
| LPCSTR, LPOLEOBJECT*); | |
| OLESTATUS OleRename(LPOLEOBJECT, LPCSTR); | |
| OLESTATUS OleQueryName(LPOLEOBJECT, LPSTR, UINT*); | |
| OLESTATUS OleRevokeObject(LPOLECLIENT); | |
| BOOL OleIsDcMeta(HDC); | |
| OLESTATUS OleRegisterClientDoc(LPCSTR, LPCSTR, LONG, LHCLIENTDOC*); | |
| OLESTATUS OleRevokeClientDoc(LHCLIENTDOC); | |
| OLESTATUS OleRenameClientDoc(LHCLIENTDOC, LPCSTR); | |
| OLESTATUS OleRevertClientDoc(LHCLIENTDOC); | |
| OLESTATUS OleSavedClientDoc(LHCLIENTDOC); | |
| OLESTATUS OleEnumObjects(LHCLIENTDOC, LPOLEOBJECT*); | |
| OLESTATUS OleRegisterServer(LPCSTR, LPOLESERVER, LHSERVER*, HINSTANCE, | |
| OLE_SERVER_USE); | |
| OLESTATUS OleRevokeServer(LHSERVER); | |
| OLESTATUS OleBlockServer(LHSERVER); | |
| OLESTATUS OleUnblockServer(LHSERVER, BOOL*); | |
| OLESTATUS OleLockServer(LPOLEOBJECT, LHSERVER*); | |
| OLESTATUS OleUnlockServer(LHSERVER); | |
| OLESTATUS OleRegisterServerDoc(LHSERVER, LPCSTR, LPOLESERVERDOC, | |
| LHSERVERDOC*); | |
| OLESTATUS OleRevokeServerDoc(LHSERVERDOC); | |
| OLESTATUS OleRenameServerDoc(LHSERVERDOC, LPCSTR); | |
| OLESTATUS OleRevertServerDoc(LHSERVERDOC); | |
| OLESTATUS OleSavedServerDoc(LHSERVERDOC); | |
| } |