/Sources/sccda.pas
Pascal | 469 lines | 234 code | 43 blank | 192 comment | 0 complexity | b8950c5161991bc3a2fc9f6323b17191 MD5 | raw file
1unit sccda; 2interface 3uses scctype, sccop, sccfi, sccanno, sccerrUnit; 4 5{ 6 Automatically converted by H2Pas 1.0.0 from D:\work\FPC\ooi\sccda.tmp.h 7 The following command line parameters were used: 8 -e 9 -p 10 -D 11 -v 12 -w 13 -o 14 And handmade update after it. 15} 16 17 const 18 External_library='kernel32'; {Setup as you need} 19 20// { Pointers to basic pascal types, inserted by h2pas conversion program.} 21// Type 22// PLongint = ^Longint; 23// PSmallInt = ^SmallInt; 24// PByte = ^Byte; 25// PWord = ^Word; 26// PDWord = ^DWord; 27// PDouble = ^Double; 28 29// Type 30// PDADRAMAMINEINFO1 = ^DADRAMAMINEINFO1; 31// PDADRAMAMINEINFO1tag = ^DADRAMAMINEINFO1tag; 32// PDAERR = ^DAERR; 33// PDAFILEFORMATTYPE = ^DAFILEFORMATTYPE; 34// PDAFILEFORMATTYPEtag = ^DAFILEFORMATTYPEtag; 35// PDAFILESPEC = ^DAFILESPEC; 36// PDAFILESPECtag = ^DAFILESPECtag; 37// PDATREENODELOCATORtag = ^DATREENODELOCATORtag; 38// PDATREENODEtag = ^DATREENODEtag; 39// PPDADRAMAMINEINFO1 = ^PDADRAMAMINEINFO1; 40// PPDAFILESPEC = ^PDAFILESPEC; 41// PPSCCDAOBJECT = ^PSCCDAOBJECT; 42// PPSCCDAOBJECTINFOW = ^PSCCDAOBJECTINFOW; 43// PPSCCDAPOS = ^PSCCDAPOS; 44// PPSCCDATREENODE = ^PSCCDATREENODE; 45// PPSCCDATREENODELOCATOR = ^PSCCDATREENODELOCATOR; 46// PPVTSELECTION = ^PVTSELECTION; 47// PSCCDAOBJECT = ^SCCDAOBJECT; 48// PSCCDAOBJECTINFOW = ^SCCDAOBJECTINFOW; 49// PSCCDAOBJECTINFOWtag = ^SCCDAOBJECTINFOWtag; 50// PSCCDAOBJECTtag = ^SCCDAOBJECTtag; 51// PSCCDAPOS = ^SCCDAPOS; 52// PSCCDATREENODE = ^SCCDATREENODE; 53// PSCCDATREENODELOCATOR = ^SCCDATREENODELOCATOR; 54// PVTHDOC = ^VTHDOC; 55// PVTLPHDOC = ^VTLPHDOC; 56// PVTSELECTION = ^VTSELECTION; 57// PVTSELECTIONtag = ^VTSELECTIONtag; 58// PVTVOID = ^VTVOID; 59 60 61 { Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. } 62 { 63 | Data Access 64 | Include File sccda.h 65 | 66 | DDDD A 67 | D D A A 68 | D D A A 69 | D D AAAAA 70 | D D A A 71 | DDDD A A 72 | 73 | Data Access 74 | 75 } 76 77 const 78 SCC_PACK_SET = 1; 79 SCC_PACKED_BY_SCCDA_H = 1; 80 81 type 82 PVTHDOC = ^VTHDOC; 83 VTHDOC = VTSYSPARAM; 84 VTLPHDOC = PVTHDOC; 85 PVTLPHDOC = ^VTLPHDOC; 86 87 const 88 VTHDOC_INVALID = 0; 89 { 90 | SCCDAPOS structure 91 } 92 93 type 94 95 SCCDAPOS = SCCPOS; 96 PSCCDAPOS = ^SCCDAPOS; 97 PPSCCDAPOS = ^PSCCDAPOS; 98 99 { Initialize to sizeof(VTSELECTION) } 100 { Selection type (see below) } 101 102 PVTSELECTION = ^VTSELECTION; 103 VTSELECTION = record 104 dwStructSize : VTDWORD; 105 dwType : VTDWORD; 106 uSelection : record 107 case longint of 108 0 : ( wSection : VTWORD ); 109 end; 110 end; 111 PPVTSELECTION = ^PVTSELECTION; 112 { Values for VTSELECTION.dwType } 113 114 const 115 VTSEL_SECTIONNUMBER = 1; 116 117 type 118 119 PDAERR = ^DAERR; 120 DAERR = SCCERR; 121 122 const 123 DAERR_OK = SCCERR_OK; 124 DAERR_BADFILE = SCCERR_BADFILE; 125 DAERR_EMPTYFILE = SCCERR_EMPTYFILE; 126 DAERR_PROTECTEDFILE = SCCERR_PROTECTEDFILE; 127 DAERR_DRMFILE = SCCERR_DRMFILE; 128 DAERR_SUPFILEOPENFAILS = SCCERR_SUPFILEOPENFAILED; 129 DAERR_MEMORY = SCCERR_OUTOFMEMORY; 130 DAERR_EOF = SCCERR_EOF; 131 DAERR_ABORT = SCCERR_ABORT; 132 DAERR_FILTERNOTAVAIL = SCCERR_NOFILTER; 133 DAERR_FILTERLOADFAILED = SCCERR_FILTERLOADFAILED; 134 DAERR_FILEOPENFAILED = SCCERR_FILEOPENFAILED; 135 DAERR_CHARMAPFAILED = SCCERR_CHARMAPFAILED; 136 DAERR_UNKNOWN = SCCERR_UNKNOWN; 137 DAERR_FILECREATE = SCCERR_FILECREATE; 138 DAERR_FILEWRITEFAILED = SCCERR_FILEWRITEFAILED; 139 DAERR_MORE = SCCERR_MORE; 140 DAERR_BADPARAM = SCCERR_BADPARAM; 141 DAERR_NOFILE = SCCERR_NOFILE; 142 DAERR_UNSUPPORTEDCOMPRESSION = SCCERR_UNSUPPORTEDCOMPRESSION; 143 DAERR_MISALIGNMENT = SCCERR_EXCEPT_DATATYPE_MISALIGNMENT; 144 DAERR_NODATATORENDER = SCCERR_NODATATORENDER; 145 DAERR_EXTERNALURLREFERENCE = SCCERR_EXTERNALURLREFERENCE; 146 DAERR_LINKTOFILE = SCCERR_LINKTOFILE; 147 DAERR_NOTARCHIVEFILE = SCCERR_NOTARCHIVEFILE; 148 DAERR_NOTSUPPORTEDARCHIVEFILE = SCCERR_NOTSUPPORTEDARCHIVEFILE; 149 DAERR_BADCREDENTIALS = SCCERR_BADCREDENTIALS; 150 DA_PATHSIZE = 1024; 151 DA_EXTENSIONSIZE = 8; 152 { For tree file access, 8-9-99 } 153 154 type 155 156 PDATREENODE = ^DATREENODE; 157 DATREENODE = record 158 dwSize : VTDWORD; 159 dwNode : VTDWORD; 160 szName : array[0..(DA_PATHSIZE)-1] of VTBYTE; 161 dwFileSize : VTDWORD; 162 dwTime : VTDWORD; 163 dwFlags : VTDWORD; 164 dwCharSet : VTDWORD; 165 end; 166 SCCDATREENODE = DATREENODE; 167 PSCCDATREENODE = ^SCCDATREENODE; 168 PPSCCDATREENODE = ^PSCCDATREENODE; 169 170 const 171 SCCDA_TREENODEFLAG_FOLDER = $00000001; 172 SCCDA_TREENODEFLAG_SELECTED = $00000002; 173 SCCDA_TREENODEFLAG_FOCUS = $00000004; 174 SCCDA_TREENODEFLAG_ENCRYPT = $00000010; 175 SCCDA_TREENODEFLAG_ARCKNOWNENCRYPT = $00000020; 176 SCCDA_TREENODEFLAG_BUFFEROVERFLOW = $00000100; 177 { the size of the DATREENODELOCATOR structure } 178 { the archive tree node special flag } 179 180 type 181 182 PDATREENODELOCATOR = ^DATREENODELOCATOR; 183 DATREENODELOCATOR = record 184 dwSize : VTDWORD; 185 dwSpecialFlags : VTDWORD; 186 dwData1 : VTDWORD; 187 dwData2 : VTDWORD; 188 end; 189 SCCDATREENODELOCATOR = DATREENODELOCATOR; 190 PSCCDATREENODELOCATOR = ^SCCDATREENODELOCATOR; 191 PPSCCDATREENODELOCATOR = ^PSCCDATREENODELOCATOR; 192 { For Dramamine support } 193 194 PDADRAMAMINEINFO1 = ^DADRAMAMINEINFO1; 195 DADRAMAMINEINFO1 = record 196 word1 : VTWORD; 197 szByte1 : array[0..63] of VTBYTE; 198 szByte2 : array[0..63] of VTBYTE; 199 end; 200 PPDADRAMAMINEINFO1 = ^PDADRAMAMINEINFO1; 201 { maximum size of a subdocument specification } 202 203 const 204 DA_MAXSUBDOCSPEC = 256; 205 206 type 207 208 PDAFILESPEC = ^DAFILESPEC; 209 DAFILESPEC = record 210 dwSpecType : VTDWORD; 211 pSpec : VTLPVOID; 212 hThis : VTHANDLE; 213 end; 214 PPDAFILESPEC = ^PDAFILESPEC; 215 { 216 | DAFILEFORMATTYPE enumeration 217 } 218 { Unknown format } 219 { Word processor } 220 { Spreadsheet } 221 { Database } 222 { Bitmap image } 223 { Archive } 224 { Vector Drawing } 225 { Presentation } 226 { Chart } 227 { Multimedia } 228 { File supports multiple file types } 229 { A format not otherwise listed } 230 231 DAFILEFORMATTYPE = Longint; 232 PDAFILEFORMATTYPE = ^DAFILEFORMATTYPE; 233 Const 234 DAFORMAT_UNKNOWN = 0; 235 DAFORMAT_WP = 1; 236 DAFORMAT_SS = 2; 237 DAFORMAT_DB = 3; 238 DAFORMAT_IM = 5; 239 DAFORMAT_AR = 6; 240 DAFORMAT_DR = 7; 241 DAFORMAT_PR = 8; 242 DAFORMAT_CH = 9; 243 DAFORMAT_MM = 10; 244 DAFORMAT_MULTIPLE = 98; 245 DAFORMAT_OTHER = 99; 246 { 247 | SCCDAOBJECT structure 248 | 249 | Object identifier. Used in calls to DASaveObject and DAGetInputObjectInfoX 250 } 251 { Filled in by caller with sizeof(SCCDAOBJECT) } 252 { Filled in by caller with the DA handle for the document containing the object } 253 { SCCCA_EMBEDDEDOBJECT, SCCCA_LINKEDOBJECT, SCCCA_COMPRESSEDFILE, or SCCCA_ATTACHMENT } 254 { Additional data identifying the object } 255 { Additional data identifying the object } 256 { Additional data identifying the object } 257 { Additional data identifying the object } 258 259 type 260 261 PSCCDAOBJECT = ^SCCDAOBJECT; 262 SCCDAOBJECT = record 263 dwSize : VTDWORD; 264 hDoc : VTHDOC; 265 dwObjectType : VTDWORD; 266 dwData1 : VTDWORD; 267 dwData2 : VTDWORD; 268 dwData3 : VTDWORD; 269 dwData4 : VTDWORD; 270 end; 271 PPSCCDAOBJECT = ^PSCCDAOBJECT; 272 { 273 | SCCDAOBJECTINFOW structure 274 | 275 | Object information 276 } 277 { Filled in by caller with sizeof(SCCDAOBJECTINFO) } 278 { Object name (2 byte characters) } 279 { Type of object: SCCCA_EMBEDDEDOBJECT, SCCCA_LINKEDOBJECT, SCCCA_COMPRESSEDFILE, or SCCCA_ATTACHMENT } 280 { File format identifier } 281 { Compression type (if known) } 282 { Additional flags (See below) } 283 { File format type (see DAFILEFORMATTYPE enum) } 284 { Commonly used filename extension for this file format } 285 286 PSCCDAOBJECTINFOW = ^SCCDAOBJECTINFOW; 287 SCCDAOBJECTINFOW = record 288 dwSize : VTDWORD; 289 name : array[0..(DA_PATHSIZE)-1] of VTWORD; 290 dwObjectType : VTDWORD; 291 dwFormatId : VTDWORD; 292 dwCompression : VTDWORD; 293 dwFlags : VTDWORD; 294 formatType : DAFILEFORMATTYPE; 295 commonExtension : array[0..(DA_EXTENSIONSIZE)-1] of VTWORD; 296 bGetObjectFromOLELocator : VTBOOL; 297 bGetObjectFromOLEPackage : VTBOOL; 298 bGetObjectInfo : VTBOOL; 299 end; 300 PPSCCDAOBJECTINFOW = ^PSCCDAOBJECTINFOW; 301 { 302 | DAGetObjectInfo and DAGetOutputObjectInfo parameters 303 } 304 { Retrieves the name of the object, in 8-bit characters. pInfo points to a buffer of size DA_PATHSIZE. } 305 306 const 307 DAOBJECT_NAME_A = 1; 308 { Retrieves the name of the object in Unicode characters. pInfo points to a buffer of 16 bit characters of size DA_PATHSIZE. } 309 DAOBJECT_NAME_W = 2; 310 { Retrieves the OIT file ID of the object. pInfo points to a VTDWORD value. } 311 DAOBJECT_FORMATID = 3; 312 { Retrieves an identifier of the type of compression used to store the object, if known. pInfo points to a VTDWORD value. } 313 DAOBJECT_COMPRESSIONTYPE = 4; 314 { Retrieves a bitfield of flags indicating additional attributes of the object. pInfo points to a VTDWORD value. } 315 DAOBJECT_FLAGS = 5; 316 { Type of object } 317 DAOBJECT_OBJECTTYPE = 6; 318 { File format type (see DAFILEFORMATTYPE enum) } 319 DAOBJECT_FORMATTYPE = 7; 320 { Commonly used filename extension for this file format in 8-bit characters. } 321 DAOBJECT_COMMONEXTENSION_A = 8; 322 { Commonly used filename extension for this file format in Unicode characters. } 323 DAOBJECT_COMMONEXTENSION_W = 9; 324 { Flags for DAGetObjectInfo( DAOBJECT_FLAGS ) } 325 { Object would not normally exist outside the source document } 326 DAOBJECTFLAG_PARTIALFILE = $00000001; 327 { Object is encrypted or password protected } 328 DAOBJECTFLAG_PROTECTEDFILE = $00000002; 329 { Object uses an unsupported compression mechanism } 330 DAOBJECTFLAG_UNSUPPORTEDCOMP = $00000004; 331 { Object uses Digital Rights Management protection } 332 DAOBJECTFLAG_DRMFILE = $00000008; 333 { Object is extracted, but can not successfully identified } 334 DAOBJECTFLAG_UNIDENTIFIEDFILE = $00000010; 335 { Object links to file, it can not be extracted } 336 DAOBJECTFLAG_LINKTOFILE = $00000020; 337 { Object is encrypted and can be decryped with the known password } 338 DAOBJECTFLAG_ARCKNOWNENCRYPT = $00000040; 339 { 340 | DA Component types 341 | Used in calls to DAAddPipelineComponent, DAGetCurrentPipelineComponentType 342 | DAGetPipelineComponent, and DAOpenPipelineComponent 343 } 344 { Unknown/any component type } 345 DACOMP_UNKNOWN = $C000; 346 { SCCIO (HIOFILE) } 347 DACOMP_HIOFILE = $C001; 348 { SO Filter (HFILTER) } 349 DACOMP_SOFILTER = $C002; 350 { Export filter } 351 DACOMP_EXFILTER = $C003; 352 { Passive component filter (HCOMPONENT) } 353 DACOMP_PASSIVECOMPONENT = $C004; 354 { Active component filter (HCOMPONENT) } 355 DACOMP_ACTIVECOMPONENT = $C005; 356 { Standard chunker (HCHUNKER) } 357 DACOMP_CHUNKER = $C006; 358 { XChunker (HCHUNKER) } 359 DACOMP_XCHUNKER = $C007; 360 { I/O Spec/spec type (PDAFILESPEC) } 361 DACOMP_FILESPEC = $C008; 362 { XTree (HXTREE) } 363 DACOMP_XTREE = $C009; 364 { 365 | DA Component flags 366 | Used in calls to DAAddPipelineComponent 367 } 368 { Set if component handle should be closed on DACloseDocument } 369 DACOMPF_CLOSEHANDLE = $00000001; 370 { Set if component handle should be freed on DACloseDocument (by calling UTGlobalFree) } 371 DACOMPF_FREEHANDLE = $00000002; 372 { 373 | DAGetFileInfoEx() flags 374 } 375 DA_FILEINFO_RAWFI = $00000001; 376 { 377 | DA Internal flags 378 } 379 DAOLE_COPYSTORAGE_DOTEMPFILE = $01; 380 DAOLE_COPYSTORAGE_DOUSERFILE = $02; 381 { 382 | Additional flags for DAOpenDocument 383 } 384 { Return a valid VTHDOC that can be used to obtain information } 385 DAOPENDOCUMENT_CONTINUEONFAILURE = $80000000; 386 { about a document even if a failure occurs. } 387 { Currently used by DAGetObjectInfo } { When the flag is set, only archive document can be opened } 388 DAOPENDOCUMENT_ARCHIVEONLYMODE = $04000000; 389 { All other file formats will return an error } 390 { File Access callback function signature } 391 392 type 393 394 DAFILEACCESSCALLBACKFN = function (dwID:VTDWORD; pRequestData:VTSYSVAL; pReturnData:VTSYSVAL; dwReturnDataSize:VTDWORD):VTDWORD;cdecl; 395 { - defines for file access callback } 396{$ifndef SCCVW_H} 397 398 const 399 OIT_FILEACCESS_PASSWORD = 1; 400 OIT_FILEACCESS_NOTESID = 2; 401{$endif} 402 { The sig of the UT status callback function } 403 404 type 405 406 DASTATCALLBACKFN = function (hUnique:VTHANDLE; dwID:VTDWORD; pCallbackData:VTSYSVAL; pAppData:VTSYSVAL):VTDWORD;cdecl; 407{$ifndef SCCVW_H} 408 { 409 | Defines for DA status callback 410 } 411 412 const 413 OIT_STATUS_WORKING = 0; 414 OIT_STATUS_CONTINUE = DAERR_OK; 415 OIT_STATUS_CANCEL = SCCERR_CANCEL; 416 OIT_STATUS_ABORT = DAERR_ABORT; 417{$endif} 418 419 const 420 DASTAT_WORKING = 0; 421 { 422 | P R O T O T Y P E S 423 } 424type 425 TCallbackFunction = function (_para1:PVTVOID):VTLONG; 426 427 function DAInit:DAERR;cdecl; external External_library name 'DAInit'; 428 function DAThreadInitExt(Lock, Unlock: TCallbackFunction):VTLONG;cdecl;external External_library name 'DAThreadInitExt'; 429 function DAThreadInit(ThreadOption:VTSHORT):VTLONG;cdecl;external External_library name 'DAThreadInit'; 430 function DADeInit:DAERR;cdecl;external External_library name 'DADeInit'; 431 function DAOpenDocument(phDoc:VTLPHDOC; dwSpecType:VTDWORD; pSpec:VTLPVOID; dwFlags:VTDWORD):DAERR;cdecl;external External_library name 'DAOpenDocument'; 432 function DAOpenNextDocument(hDoc:VTHDOC; dwSpecType:VTDWORD; pSpec:VTLPVOID; dwFlags:VTDWORD):DAERR;cdecl;external External_library name 'DAOpenNextDocument'; 433 function DACloseDocument(hDoc:VTHDOC):DAERR;cdecl;external External_library name 'DACloseDocument'; 434 function DARetrieveDocHandle(hItem:VTHDOC; phDoc:VTLPHDOC):DAERR;cdecl;external External_library name 'DARetrieveDocHandle'; 435 function DASetOption(hItem:VTHDOC; dwOptionId:VTDWORD; pValue:VTLPVOID; dwSize:VTDWORD):DAERR;cdecl;external External_library name 'DASetOption'; 436 function DASetFileSpecOption(hItem:VTHDOC; dwOptionId:VTDWORD; dwType:VTDWORD; pSpec:PVTVOID):DAERR;cdecl;external External_library name 'DASetFileSpecOption'; 437 function DAGetOption(hItem:VTHDOC; dwOptionId:VTDWORD; pValue:VTLPVOID; pSize:VTLPDWORD):DAERR;cdecl;external External_library name 'DAGetOption'; 438 function DAGetFileId(hItem:VTHDOC; pdwFileId:VTLPDWORD):DAERR;cdecl;external External_library name 'DAGetFileId'; 439 function DAGetFileIdEx(hItem:VTHDOC; pdwFileId:VTLPDWORD; dwFlags:VTDWORD):DAERR;cdecl;external External_library name 'DAGetFileIdEx'; 440 procedure DAGetErrorString(deError:DAERR; pBuffer:VTLPVOID; dwSize:VTDWORD);cdecl;external External_library name 'DAGetErrorString'; 441 function DAGetTreeCount(hDoc:VTHDOC; lpRecordCount:VTLPDWORD):DAERR;cdecl;external External_library name 'DAGetTreeCount'; 442 function DAGetTreeRecord(hDoc:VTHDOC; pTreeRecord:PSCCDATREENODE):DAERR;cdecl;external External_library name 'DAGetTreeRecord'; 443 function DAOpenTreeRecord(hDoc:VTHDOC; lphDoc:VTLPHDOC; dwRecord:VTDWORD):DAERR;cdecl;external External_library name 'DAOpenTreeRecord'; 444 function DAOpenRandomTreeRecord(hDoc:VTHDOC; lphDoc:VTLPHDOC; sTreeNodeLocator:SCCDATREENODELOCATOR):DAERR;cdecl;external External_library name 'DAOpenRandomTreeRecord'; 445 function DASaveTreeRecord(hDoc:VTHDOC; dwRecord:VTDWORD; dwSpecType:VTDWORD; pSpec:VTLPVOID; dwFlags:VTDWORD):DAERR;cdecl;external External_library name 'DASaveTreeRecord'; 446 function DASaveRandomTreeRecord(hDoc:VTHDOC; sTreeNodeLocator:SCCDATREENODELOCATOR; dwSpecType:VTDWORD; pSpec:VTLPVOID; dwFlags:VTDWORD):DAERR;cdecl;external External_library name 'DASaveRandomTreeRecord'; 447 function DACloseTreeRecord(hDoc:VTHDOC):DAERR;cdecl;external External_library name 'DACloseTreeRecord'; 448 function DAGetObjectInfo(hDoc:VTHDOC; dwInfoId:VTDWORD; pInfo:VTLPVOID):DAERR;cdecl;external External_library name 'DAGetObjectInfo'; 449 function DAGetOutputObjectInfo(hDoc:VTHDOC; dwOutputFileId:VTDWORD; dwInfoId:VTDWORD; pInfo:VTLPVOID):DAERR;cdecl;external External_library name 'DAGetOutputObjectInfo'; 450 function DASaveInputObject(hDoc:VTHDOC; dwSpecType:VTDWORD; pSpec:VTLPVOID; dwFlags:VTDWORD):DAERR;cdecl;external External_library name 'DASaveInputObject'; 451 function DAOpenSubdocumentById(hDoc:VTHDOC; lphDoc:VTLPHDOC; dwSubdocumentId:VTDWORD; dwFlags:VTDWORD):DAERR;cdecl;external External_library name 'DAOpenSubdocumentById'; 452 function DASetStatCallback(pCallback:DASTATCALLBACKFN; hUnique:VTHANDLE; pAppData:VTLPVOID):DAERR;cdecl;external External_library name 'DASetStatCallback'; 453 function DASetFileAccessCallback(pCallback:DAFILEACCESSCALLBACKFN):DAERR;cdecl;external External_library name 'DASetFileAccessCallback'; 454 455// { defines for thread initialization. Needed only for UNIX } 456// 457// const 458// DATHREAD_INIT_PTHREADS = 0; 459// DATHREAD_INIT_NOTHREADS = 1; 460// DATHREAD_INIT_NATIVETHREADS = 2; 461// DATHREAD_INIT_SUCCESS = 0; 462// DATHREAD_INIT_FAILED = 1; 463// DATHREAD_INIT_ALREADY_CALLED = 2; 464// 465 466implementation 467 468 469end.