Mercurial > projects > ddbg_continued
diff win32/ole.d @ 1:4a9dcbd9e54f
-files of 0.13 beta
-fixes so that it now compiles with the current dmd version
author | marton@basel.hu |
---|---|
date | Tue, 05 Apr 2011 20:44:01 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/win32/ole.d Tue Apr 05 20:44:01 2011 +0200 @@ -0,0 +1,362 @@ +/***********************************************************************\ +* ole.d * +* * +* Windows API header module * +* * +* Translated from MinGW Windows headers * +* by Stewart Gordon * +* * +* Placed into public domain * +\***********************************************************************/ +module win32.ole; + +private import win32.windef, win32.wingdi, win32.uuid; + +alias LPCSTR OLE_LPCSTR; + +/+#define LRESULT LONG +#define HGLOBAL HANDLE+/ + +enum { + OT_LINK = 1, + OT_EMBEDDED, + OT_STATIC +} + +const OLEVERB_PRIMARY = 0; +const OF_SET = 1; +const OF_GET = 2; +const OF_HANDLER = 4; + +struct OLETARGETDEVICE { + USHORT otdDeviceNameOffset; + USHORT otdDriverNameOffset; + USHORT otdPortNameOffset; + USHORT otdExtDevmodeOffset; + USHORT otdExtDevmodeSize; + USHORT otdEnvironmentOffset; + USHORT otdEnvironmentSize; + BYTE _otdData; + BYTE* otdData() { return &_otdData; } +} +alias OLETARGETDEVICE* LPOLETARGETDEVICE; + +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 WORD OLECLIPFORMAT; + +enum OLEOPT_UPDATE { + oleupdate_always, + oleupdate_onsave, + oleupdate_oncall, +// #ifdef OLE_INTERNAL + oleupdate_onclose +// #endif +} + +alias HANDLE HOBJECT; +alias LONG LHSERVER, LHCLIENTDOC, LHSERVERDOC; + +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 OLEOBJECTVTBL* LPOLEOBJECTVTBL; + +//#ifndef OLE_INTERNAL +struct OLEOBJECT { + LPOLEOBJECTVTBL lpvtbl; +} +alias OLEOBJECT* LPOLEOBJECT; +//#endif + +struct OLECLIENTVTBL { + int function(LPOLECLIENT, OLE_NOTIFICATION, LPOLEOBJECT) CallBack; +} +alias OLECLIENTVTBL* LPOLECLIENTVTBL; + +struct OLECLIENT { + LPOLECLIENTVTBL lpvtbl; +} +alias OLECLIENT* LPOLECLIENT; + +struct OLESTREAMVTBL { + DWORD function(LPOLESTREAM, void*, DWORD) Get; + DWORD function(LPOLESTREAM, void*, DWORD) Put; +} +alias OLESTREAMVTBL* LPOLESTREAMVTBL; + +struct OLESTREAM { + LPOLESTREAMVTBL lpstbl; +} +alias OLESTREAM* LPOLESTREAM; + +enum OLE_SERVER_USE { + OLE_SERVER_MULTI, + OLE_SERVER_SINGLE +} + +struct OLESERVERVTBL { + 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; +} +typedef OLESERVERVTBL* LPOLESERVERVTBL; + +struct OLESERVER { + LPOLESERVERVTBL lpvtbl; +} +alias OLESERVER* LPOLESERVER; + +struct OLESERVERDOCVTBL { + 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 OLESERVERDOCVTBL* LPOLESERVERDOCVTBL; + +struct OLESERVERDOC { + LPOLESERVERDOCVTBL lpvtbl; +} +alias OLESERVERDOC* LPOLESERVERDOC; + +extern (Windows) { + 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, 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); +}