home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 32 / IOPROG_32.ISO / SOFT / SqlEval7 / devtools / include / dtspkg.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-11-12  |  86.3 KB  |  1,732 lines

  1. //
  2. // DTSPackage COM Server Header file.
  3. //
  4.  
  5. #ifndef DTSPackage_H_
  6. #define DTSPackage_H_
  7.  
  8. #ifndef DTSPackageVersion_Major
  9.     #define DTSPackageVersion_Major 1
  10.     #define DTSPackageVersion_Minor 0
  11. #endif // DTSPackageVersion_Major
  12.  
  13. #ifndef DTSPackage_VersionOnly
  14.  
  15. /////////////////////////////////////////////////////////////////////////////////////////
  16. // Constant enumerations.
  17. /////////////////////////////////////////////////////////////////////////////////////////
  18. #ifndef DTSPackage_CONSTANTS_
  19. #define DTSPackage_CONSTANTS_
  20.  
  21. #ifdef DTSPackage_ODL_
  22.     #define DTS_ENUM_BEGIN(tdef, hstring)    [helpcontext(H_##tdef), helpstring(hstring)] enum
  23.         // item = value, ...
  24.     #define DTS_ENUM_END(tdef)                tdef, *LP##tdef
  25. #else
  26.     #define DTS_ENUM_BEGIN(tdef, hstring)    DWORD tdef, *LP##tdef; enum tag##tdef
  27.         // item = value, ...
  28.     #define DTS_ENUM_END(tdef)                
  29. #endif
  30.  
  31. typedef DTS_ENUM_BEGIN(DTSPackageError, "Error ranges for DTSPackage creation and execution") {
  32.     DTSPackage_E_NotImplemented                        = 1001,
  33.     DTSPackage_E_OrdOutOfRange                        = 1002,
  34.     DTSPackage_E_NameNotFound                        = 1003,
  35.     DTSPackage_E_NameDup                            = 1004,
  36.     DTSPackage_E_NoStepsDefined                        = 1005,
  37.     DTSPackage_E_Column_OutOfRange                    = 1006,
  38.     DTSPackage_E_ColumnNeedsNameOrOrdinal            = 1007,
  39.     DTSPackage_E_WrongCollection                    = 1008,
  40.     DTSPackage_E_DatatypeNotFound                    = 1009,
  41.     DTSPackage_E_NeedConnectionInfo                    = 1010,
  42.     DTSPackage_E_ODBC_NeedConnectionInfo            = 1011,
  43.     DTSPackage_E_NoStepsToExecute                    = 1012,
  44.     DTSPackage_E_DescribeNeedsQuery                    = 1013,
  45.     DTSPackage_E_ColumnsNotDescribed                = 1014,
  46.     DTSPackage_E_Step_CyclicDependency                = 1015,
  47.     DTSPackage_E_UsageBeforeDescribeOnly            = 1016,
  48.     DTSPackage_E_AxScript_CantInitializeEngine        = 1017,
  49.     DTSPackage_E_AxScript_RequiredParams            = 1018,
  50.     DTSPackage_E_AxScript_ParseError                = 1019,
  51.     DTSPackage_E_AxScript_BadFunctionName            = 1020,
  52.     DTSPackage_E_AxScript_CantAddGlobals            = 1021,
  53.     DTSPackage_E_AxScript_RunTimeError                = 1022,
  54.     DTSPackage_E_BadStepStatusValue                    = 1023,
  55.     DTSPackage_E_BadStepResultValue                    = 1024,
  56.     DTSPackage_E_BadTaskResultValue                    = 1025,
  57.     DTSPackage_E_BadPrecedenceBasis                    = 1026,
  58.     DTSPackage_E_BadStepTask                        = 1027,
  59.     DTSPackage_E_RequireConnectionProperties        = 1028,
  60.     DTSPackage_E_ConnectionRequiresValidTaskName    = 1029,
  61.     DTSPackage_E_ConnectionInUse                    = 1030,
  62.     DTSPackage_E_CannotFindConnection                = 1031,
  63.     DTSPackage_E_PumpTask_RequireXforms                = 1032,
  64.     DTSPackage_E_PumpTask_RequireSrcAndDestColumns    = 1033,
  65.     DTSPackage_E_PumpTask_RequireRowsetDataSrcInfo    = 1034,
  66.     DTSPackage_E_PumpTask_RequireXformServer        = 1035,
  67.     DTSPackage_E_BadPrecedenceStep                    = 1036,
  68.     DTSPackage_E_CreateProcTask_Timeout                = 1037,
  69.     DTSPackage_E_BadGUIDValue                        = 1038,
  70.     DTSPackage_E_RequireNameForExecOrStg            = 1039,
  71.     DTSPackage_E_CantFindVersionInStg                = 1040,
  72.     DTSPackage_E_CantSetCommandProps                = 1041,
  73.     DTSPackage_E_BadPriorityClass                    = 1042,
  74.     DTSPackage_E_BadRelativePriority                = 1043,
  75.     DTSPackage_E_CantFindPackageInStg                = 1044,
  76.     DTSPackage_E_EncryptStg_CantCreateOrWrite        = 1045,
  77.     DTSPackage_E_EncryptStg_CantOpenOrRead            = 1046,
  78.     DTSPackage_E_EncryptStg_HandsOnStg                = 1047,
  79.     DTSPackage_E_EncryptStg_UnsupportedFlags        = 1048,
  80.     DTSPackage_E_EncryptStg_PasswordNotMatching        = 1049,
  81.     DTSPackage_E_EncryptStg_RequirePassword            = 1050,
  82.     DTSPackage_E_EncryptStg_StreamTooLarge            = 1051,
  83.     DTSPackage_E_Security_InvalidPassword            = 1052,
  84.     DTSPackage_E_Security_RequireBothPasswords        = 1053,
  85.     DTSPackage_E_Security_OperatorNotPriveleged        = 1054,
  86.     DTSPackage_E_SQLTask_RequireSQL                    = 1055,
  87.     DTSPackage_E_UnknownOleDBProperty                = 1056,
  88.     DTSPackage_E_RequireConnectionID                = 1057,
  89.     DTSPackage_E_RequireColumnNameAndOrdinal        = 1058,
  90.     DTSPackage_E_PropertyStringTooLong                = 1059,
  91.     DTSPackage_E_CantChangeLoadedPkgName            = 1060,
  92.     DTSPackage_E_NoXformDispatch                    = 1061,
  93.     DTSPackage_E_CannotPersistProperty                = 1062,
  94.     DTSPackage_E_ExecutionCanceled                    = 1063,
  95.     DTSPackage_E_FailedOnStepError                    = 1064,
  96.     DTSPackage_E_BadForceMode                        = 1065,
  97.     DTSPackage_E_MultiPackageStgNeedsID                = 1066,
  98.     DTSPackage_E_BadSQLServerStorageFlags            = 1067,
  99.     DTSPackage_E_NoPackageDataFromServer            = 1068,
  100.     DTSPackage_E_NeedDestinationColumnDefinitions    = 1069,
  101.     DTSPackage_E_DSO_OnlyOneSession                    = 1070,
  102.     DTSPackage_E_DSO_OnlyOneRowset                    = 1071,
  103.     DTSPackage_E_DSO_ProviderStringRequired            = 1072,
  104.     DTSPackage_E_DSO_CantRelaunchPackage            = 1073,
  105.     DTSPackage_E_DSO_OnlyOneCommand                    = 1074,
  106.     DTSPackage_E_BadPackageDSORowsetTask            = 1075,
  107.     DTSPackage_E_AbandonedRowQueueDest                = 1076,
  108.     DTSPackage_E_DataDrivenQueryTask_RequireXforms    = 1077,
  109.     DTSPackage_E_NeedDataDrivenQueries                = 1078,
  110.     DTSPackage_E_NeedDataDrivenQueryAndColumns        = 1079,
  111.     DTSPackage_E_HostFailedPersistence                = 1080,
  112.     DTSPackage_E_BadLookupConnectionProvider        = 1081,
  113.     DTSPackage_E_CreateProcessNullCommandLine        = 1082,
  114.     DTSPackage_E_GeneralTaskFailure                    = 1083,
  115.     DTSPackage_E_XfrTask_SrcInfoIncomplete            = 1084,
  116.     DTSPackage_E_XfrTask_DestInfoIncomplete            = 1085,
  117.     DTSPackage_E_XfrTask_InvalidCopyDataOption        = 1086,
  118.     DTSPackage_E_XfrTask_InvalidObjectType            = 1087,
  119.     DTSPackage_E_XfrTask_InvalidObjectName            = 1088,
  120.     DTSPackage_E_XfrTask_InvalidOwnerName            = 1089,
  121.     DTSPackage_E_XfrTask_CantCreateDMOObject        = 1090,
  122.     DTSPackage_E_XfrTask_CantConnectToSrc            = 1091,
  123.     DTSPackage_E_XfrTask_CantGetSrcDB                = 1092,
  124.     DTSPackage_E_XfrTask_IndexOutOfRange            = 1093,
  125.     DTSPackage_E_BadStepScriptResultValue            = 1094,
  126.     DTSPackage_E_AxScript_CantModifyDuringExecute    = 1095,
  127.  
  128.     DTSPackage_E_Repos_NotRegistered                = 1100,
  129.     DTSPackage_E_Repos_CantScanCatalog                = 1101,
  130.     DTSPackage_E_Repos_ScannedObjectNotFound        = 1102,
  131.     DTSPackage_E_Repos_ScannedColumnNotFound        = 1103,
  132.     DTSPackage_E_Repos_BadStorageFlags                = 1104,
  133.     DTSPackage_E_Repos_CantParseName                = 1105,
  134.     DTSPackage_E_Repos_ScannedSchemaNotFound        = 1106,
  135.     DTSPackage_E_Repos_UnscannedColumnNotFound        = 1107,
  136.      DTSPackage_E_Repos_DuplicatePackageName            = 1108,
  137.     DTSPackage_E_Repos_ScanRequiresSchemaRowset        = 1109,
  138.     DTSPackage_E_Repos_GeneralError                    = 1110,
  139.     DTSPackage_E_Repos_InvalidMetadataOptions        = 1111,
  140.     DTSPackage_E_Repos_PackageNotFound                = 1112,
  141.  
  142.     DTSPackage_E_Lineage_BadOptions                    = 1120,
  143.     DTSPackage_E_Lineage_NoRepositoryContext        = 1121,
  144.     DTSPackage_E_Lineage_CantOpenRepository            = 1122,
  145.     DTSPackage_E_Lineage_RepositoryError            = 1123,
  146.     DTSPackage_E_Lineage_PackageVersionFrozen        = 1124,
  147.     DTSPackage_E_Lineage_ErrorWritingToRepos        = 1125,
  148.  
  149.     DTSPackage_E_Trx_InvalidIsolationLevel            = 1130,
  150.     DTSPackage_E_Trx_TaskCannotJoinTransaction        = 1131,
  151.     DTSPackage_E_Trx_ConnCannotJoinTransaction        = 1132,
  152.     DTSPackage_E_Trx_BeginFailed                    = 1133,
  153.     DTSPackage_E_Trx_StepCommitFailed                = 1134,
  154.     DTSPackage_E_Trx_PackageCommitFailed            = 1135,
  155.     DTSPackage_E_Trx_DTCNotAvailable                = 1136,
  156.     DTSPackage_E_Trx_TrxNoLongerActive                = 1137,
  157.  
  158.     DTSPackage_E_MailTask_NoMAPIInterfaceLayer        = 1150,
  159.     DTSPackage_E_MailTask_CantInitializeMAPI        = 1151,
  160.     DTSPackage_E_MailTask_LogonFailure                = 1152,
  161.     DTSPackage_E_MailTask_SendFailure                = 1153,
  162.     DTSPackage_E_MailTask_NotInitialized            = 1154,
  163.     DTSPackage_E_MailTask_GeneralFailure             = 1155,
  164.  
  165.     DTSPackage_E_BulkInsertTask_RequireTableName    = 1156,
  166.     DTSPackage_E_BulkInsertTask_RequireDataFile        = 1157,
  167.  
  168.     DTSPackage_E_InvalidFastLoadOptions                = 1170,
  169.     DTSPackage_E_EncryptStg_CantInit                = 1171,
  170.     DTSPackage_E_NoFastLoadWithDataLink                = 1172,
  171.     DTSPackage_E_NoFastLoad                            = 1173,
  172.     DTSPackage_E_ProcTaskReturnCodeNotSuccess        = 1174,
  173.     DTSPackage_E_SaveTo70OrLater                    = 1175,
  174.     DTSPackage_E_SQLServerLicenseError                = 1176,
  175.  
  176. } DTS_ENUM_END(DTSPackageError);
  177.  
  178. typedef DTS_ENUM_BEGIN(DTSStepExecStatus, "Execution status of this DTSStep") {
  179.     DTSStepExecStat_Waiting                = 0x0001,
  180.     DTSStepExecStat_InProgress            = 0x0002,
  181.     DTSStepExecStat_Inactive            = 0x0003,
  182.     DTSStepExecStat_Completed            = 0x0004,        // Or'd with completion bits below.
  183. } DTS_ENUM_END(DTSStepExecStatus);
  184.  
  185. typedef DTS_ENUM_BEGIN(DTSStepExecResult, "Execution Result of this DTSStep") {
  186.     DTSStepExecResult_Success            = 0x0000,
  187.     DTSStepExecResult_Failure            = 0x0001,
  188. } DTS_ENUM_END(DTSStepExecResult);
  189.  
  190. typedef DTS_ENUM_BEGIN(DTSStepScriptResult, "Return code from Active Script associated with a step indicating flow of control for task execution") {
  191.     DTSStepScriptResult_ExecuteTask                = 0x0000,
  192.     DTSStepScriptResult_DontExecuteTask            = 0x0001,
  193.     DTSStepScriptResult_RetryLater                = 0x0002,
  194. } DTS_ENUM_END(DTSStepScriptResult);
  195.  
  196. typedef DTS_ENUM_BEGIN(DTSTaskExecResult, "Execution Result of Task") {
  197.     DTSTaskExecResult_Success            = 0x0000,
  198.     DTSTaskExecResult_Failure            = 0x0001,
  199.     DTSTaskExecResult_RetryStep            = 0x0002,
  200. } DTS_ENUM_END(DTSTaskExecResult);
  201.  
  202. typedef DTS_ENUM_BEGIN(DTSStepPrecedenceBasis, "Step precedence is based either on Step Status or Result") {
  203.     DTSStepPrecedenceBasis_ExecStatus            = 0x0000,
  204.     DTSStepPrecedenceBasis_ExecResult            = 0x0001,
  205. } DTS_ENUM_END(DTSStepPrecedenceBasis);
  206.  
  207. typedef DTS_ENUM_BEGIN(DTSStepRelativePriority, "Win32 Thread Relative Priority to be used for Step Task") {
  208.     DTSStepRelativePriority_Lowest            = 0x0001,
  209.     DTSStepRelativePriority_BelowNormal        = 0x0002,
  210.     DTSStepRelativePriority_Normal            = 0x0003,
  211.     DTSStepRelativePriority_AboveNormal        = 0x0004,
  212.     DTSStepRelativePriority_Highest            = 0x0005,
  213. } DTS_ENUM_END(DTSStepRelativePriority);
  214.  
  215. typedef DTS_ENUM_BEGIN(DTSPackagePriorityClass, "Win32 Process Priority Class to be used for the package.") {
  216.     DTSPriorityClass_Low            = 0x0001,
  217.     DTSPriorityClass_Normal            = 0x0002,
  218.     DTSPriorityClass_High            = 0x0003,
  219. } DTS_ENUM_END(DTSPackagePriorityClass);
  220.  
  221. typedef DTS_ENUM_BEGIN(DTSIsolationLevel, "Isolation level at which Package transaction executes (default is ReadCommitted).") {
  222.     DTSIsoLevel_Chaos                = 0x10,
  223.     DTSIsoLevel_ReadUncommitted        = 0x100,
  224.     DTSIsoLevel_Browse                = 0x100,
  225.     DTSIsoLevel_CursorStability        = 0x1000,
  226.     DTSIsoLevel_ReadCommitted        = 0x1000,
  227.     DTSIsoLevel_RepeatableRead        = 0x10000,
  228.     DTSIsoLevel_Serializable        = 0x100000,
  229.     DTSIsoLevel_Isolated            = 0x100000
  230. } DTS_ENUM_END(DTSIsolationLevel);
  231.  
  232. typedef DTS_ENUM_BEGIN(DTSForceMode, "Overrides default handling of associated property") {
  233.     DTSForceMode_Default                = 0x0000,
  234.     DTSForceMode_Always                    = 0x0001,
  235.     DTSForceMode_Never                    = 0x0002,
  236. } DTS_ENUM_END(DTSForceMode);
  237.  
  238. typedef DTS_ENUM_BEGIN(DTSErrorMode, "Handling of Error conditions encountered while executing Steps in the Package") {
  239. #ifdef DTSPackage_INTERNAL
  240.     DTSErrorMode_Unknown            = 0x0000,        // Not yet set
  241. #endif // DTSPackage_INTERNAL
  242.  
  243.     DTSErrorMode_Continue            = 0x0001,        // Log exceptions (if specified) and continue
  244.     DTSErrorMode_FailStep            = 0x0002,        // Fail Step Execution
  245.     DTSErrorMode_FailPackage        = 0x0003,        // Fail Package Execution.
  246. } DTS_ENUM_END(DTSErrorMode);
  247.  
  248. typedef DTS_ENUM_BEGIN(DTSCustomTaskUIFlags, "Specifies flags indicating the type of UI supported by the custom task") {
  249.     DTSCustomTaskUIFlags_Default            = 0x0000,
  250.     DTSCustomTaskUIFlags_DoesCustomToolTip    = 0x0001,
  251. } DTS_ENUM_END(DTSCustomTaskUIFlags);
  252.  
  253. typedef DTS_ENUM_BEGIN(DTSRepositoryStorageFlags, "Specifies Repository options when saving or loading the DTS Package") {
  254.     DTSReposFlag_Default                    = 0x0000,
  255.  
  256.     // How to connect to the repository.
  257.     DTSReposFlag_UseTrustedConnection        = 0x0100,        // Use NT integrated security to connect to Repository (MS SQL Server-hosted Repository only)
  258. } DTS_ENUM_END(DTSRepositoryStorageFlags);
  259.  
  260. typedef DTS_ENUM_BEGIN(DTSSQLServerStorageFlags, "Specifies Repository options when saving or loading the DTS Package") {
  261.     DTSSQLStgFlag_Default                    = 0x0000,
  262.  
  263.     // How to connect to the server.
  264.     DTSSQLStgFlag_UseTrustedConnection        = 0x0100,        // Use NT integrated security to connect to SQL Server
  265. } DTS_ENUM_END(DTSSQLServerStorageFlags);
  266.  
  267. typedef DTS_ENUM_BEGIN(DTSRepositoryMetadataOptions, "Specifies metadata scanning and resolution options when storing the DTS Package to a Repository") {
  268.     DTSReposMetadata_Default                    = 0x0000,        // Does no scanner resolution
  269.  
  270.     // These indicate whether to attempt any scanner resolution at all.  Note that scanning is only
  271.     // done at the Catalog level; an inconsistency at a lower level will be an error.
  272.     DTSReposMetadata_RequireScannedCatalog        = 0x0001,        // Requires that any database objects must have been scanned into repository
  273.     DTSReposMetadata_UseScannedCatalogIfPresent    = 0x0002,        // Will use any scanned objects found; nonscanned references will create local objects
  274.  
  275.     // These are ignored unless one of the scanned-resolution options above is set.
  276.     // If neither of the _Scan options is set, then no scanning will be done;
  277.     // if _RequireAllScanned is set, the SaveToRepository will fail, otherwise
  278.     // a local reference will be created for the object.
  279.     DTSReposMetadata_ScanCatalogIfNotFound        = 0x0004,        // The Package will issue a scan on all catalogs that are not found already scanned
  280.     DTSReposMetadata_ScanCatalogAlways            = 0x0008,        // The Package will scan all Catalogs referenced, re-scanning if already scanned
  281. } DTS_ENUM_END(DTSRepositoryMetadataOptions);
  282.  
  283. typedef DTS_ENUM_BEGIN(DTSSQLObjectType, "Indicates types of objects available on Microsoft SQL Server. This is in sync with SQLDMO_OBJECT_TYPE in SQL-DMO") {
  284.     // Database objects, value is power(2, sysobjects.sysstat & 0x0f), plus UDDTs in 0.
  285.     // These values can be bitmasked together for object listings.
  286.     DTSSQLObj_UserDefinedDatatype =           0x00000001,    // 1
  287.     DTSSQLObj_SystemTable =                   0x00000002,    // 2
  288.     DTSSQLObj_View =                          0x00000004,    // 4
  289.     DTSSQLObj_UserTable =                     0x00000008,    // 8
  290.     DTSSQLObj_StoredProcedure =               0x00000010,    // 16
  291.     DTSSQLObj_Default =                       0x00000040,    // 64
  292.     DTSSQLObj_Rule =                          0x00000080,    // 128
  293.     DTSSQLObj_Trigger =                       0x00000100,    // 256
  294.     DTSSQLObj_AllDatabaseUserObjects =        0x000001fd,    // All but system tables
  295.     DTSSQLObj_AllDatabaseObjects =            0x000001ff,    // All including system tables
  296.  
  297. } DTS_ENUM_END(DTSSQLObjectType);
  298.  
  299. typedef DTS_ENUM_BEGIN(DTSTransfer_CopyDataOption, "Specifies flags indicating if data should be copied, and whether existing data should be replaced or appended to.") {
  300.     DTSTransfer_DontCopyData = 0x0000,
  301.     DTSTransfer_ReplaceData    = 0x0001,
  302.     DTSTransfer_AppendData    = 0x0002,
  303. } DTS_ENUM_END(DTSTransfer_CopyDataOption);
  304.  
  305. typedef DTS_ENUM_BEGIN(DTSTransfer_ScriptOption, "Specifies scripting option. This is in sync with SQLDMO_SCRIPT_TYPE in SQL-DMO.") {
  306.         // What's included in the Script method output.
  307.         DTSTransfer_Script_Default                 = 0x0004,     // Object creation only
  308.         DTSTransfer_Script_Drops                     = 0x0001,     // Include object drops
  309.         DTSTransfer_Script_ObjectPermissions         = 0x0002,     // Include object permissions
  310.         DTSTransfer_Script_PrimaryObject             = 0x0004,     // Include object creation
  311.         DTSTransfer_Script_ClusteredIndexes         = 0x0008,   // Include clustered index creation (table only)
  312.         DTSTransfer_Script_Triggers                 = 0x0010,   // Include trigger creation (table only)
  313.         DTSTransfer_Script_DatabasePermissions    = 0x0020,   // Database (statement) permissions
  314.         DTSTransfer_Script_Permissions             = 0x0022,   // Both database and object permissions (for scripting users).
  315.         DTSTransfer_Script_ToFileOnly             = 0x0040,   // If not set, a string is returned (if file nonnull, both are done)
  316.         DTSTransfer_Script_Bindings                 = 0x0080,   // Include rule/default bindings (table only)
  317.         DTSTransfer_Script_AppendToFile             = 0x0100,   // Append to output file if it already exists.
  318.         DTSTransfer_Script_NoDRI                     = 0x0200,   // Do not include DRI (intended for use if targeting pre-6.0 server with scripts)
  319.         DTSTransfer_Script_UDDTsToBaseType         = 0x0400,   // Convert UserDefinedDatatypes to base type when creating columns (table only)
  320.         // 0x0800 available.
  321.         DTSTransfer_Script_IncludeIfNotExists     = 0x1000,   // Include "if not exists" on object creation.
  322.         DTSTransfer_Script_NonClusteredIndexes    = 0x2000,   // Include nonclustered index creation (table only)
  323.         DTSTransfer_Script_Indexes                 = 0x12008,  // Include all index creation (table only)
  324.         DTSTransfer_Script_Aliases                 = 0x4000,   // For users, script aliases
  325.         DTSTransfer_Script_NoCommandTerm             = 0x8000,   // Do not append "GO" to commands.
  326.         DTSTransfer_Script_DRIIndexes             = 0x10000,  // Script DRI-generated indexes as indexes if NoDRI is specified.
  327.         DTSTransfer_Script_IncludeHeaders         = 0x20000,  // Include descriptive header in individual object script output.
  328.         DTSTransfer_Script_OwnerQualify             = 0x40000,  // Owner-qualify DROP statements (and CREATE where possible).
  329.         DTSTransfer_Script_TimestampToBinary         = 0x80000,  // Convert timestamp columns to binary(8) (for replication, etc.).
  330.         DTSTransfer_Script_SortedData             = 0x100000, // If the index or constraint was clustered, append sorted_data
  331.         DTSTransfer_Script_SortedDataReorg         = 0x200000, // Same as DTSTransfer_Script_SortedData, but Reorg is used to preserve fillfactor.
  332.         DTSTransfer_Script_TransferDefault         = 0x800670ff,  // The default script type for Transfer. This is combination of following flags:
  333.                                                         // DTSTransfer_Script_PrimaryObject | DTSTransfer_Script_Bindings | DTSTransfer_Script_ClusteredIndexes | DTSTransfer_Script_NonClusteredIndexes |
  334.                                                         // DTSTransfer_Script_Triggers| DTSTransfer_Script_ToFileOnly|DTSTransfer_Script_Permissions| DTSTransfer_Script_IncludeHeaders|
  335.                                                         // DTSTransfer_Script_Aliases|DTSTransfer_Script_IncludeIfNotExists|DTSTransfer_Script_OwnerQualify
  336.         // DRI-restrictive flags.  These may be combined with PrimaryObject as desired.
  337.         // These are to be used to include or exclude specific DRI components, such
  338.         // as for multi-pass scripting.
  339.         DTSTransfer_Script_DRI_NonClustered         = 0x00400000,
  340.         DTSTransfer_Script_DRI_Clustered             = 0x00800000,
  341.         DTSTransfer_Script_DRI_Checks                = 0x01000000,
  342.         DTSTransfer_Script_DRI_Defaults             = 0x02000000,
  343.         DTSTransfer_Script_DRI_UniqueKeys         = 0x04000000,
  344.         DTSTransfer_Script_DRI_ForeignKeys        = 0x08000000,
  345.         DTSTransfer_Script_DRI_PrimaryKey         = 0x10000000,
  346.         DTSTransfer_Script_DRI_AllKeys             = 0x1c000000,     // Bitmask of all key types (PK, FK, Unique).
  347.         DTSTransfer_Script_DRI_AllConstraints     = 0x1f000000,   // Bitmask of all constraint types (PK, FK, Unique, Check, Default).
  348.         DTSTransfer_Script_DRI_All                 = 0x1fc00000,   // All the foregoing (specifying this and not PrimaryObject gets just DRI output).
  349.         DTSTransfer_Script_DRIWithNoCheck         = 0x20000000,   // Script DRI with nocheck (not included in _DRI_All).
  350.         DTSTransfer_Script_NoIdentity             = 0x40000000,   // Script with no IDENTITY attribute (e.g. for Replication).
  351.  
  352.         DTSTransfer_Script_UseQuotedIdentifiers = 0x80000000,   // Scripts with quoted identifiers. Also will cause Transfer to SET QUOTED_IDENTIFIER ON on the destination.
  353.                                                           // !!! When scripting out from 7.0: StoreProcedure, View and Trigger carry their own QI and AnsiNulls setting
  354.                                                           //     (based on the setting when the original object was created), and this flag does not affect them anymore.
  355.                                                           //     At the end of these object scripting, they set QI to the setting according to this flag,
  356.                                                           //     and AnsiNulls to ON (ODBC default).
  357. } DTS_ENUM_END(DTSTransfer_ScriptOption);
  358.  
  359. typedef DTS_ENUM_BEGIN(DTSTransfer_ScriptOptionEx, "Specifies extended scripting option. This is in sync with SQLDMO_SCRIPT2_TYPE in SQL-DMO.") {
  360.         // Optional Script parameter.
  361.         DTSTransfer_ScriptEx_TransferDefault  = 0x1010,   // Default
  362.         DTSTransfer_ScriptEx_AnsiPadding      = 0x0001,   // Explicitly SET ANSI PADDING on or off before the create table
  363.         DTSTransfer_ScriptEx_AnsiFile         = 0x0002,   // Generate ANSI output file
  364.         DTSTransfer_ScriptEx_UnicodeFile      = 0x0004,   // Generate UNICODE output file
  365.         DTSTransfer_ScriptEx_NonStop          = 0x0008,   // When error during script file generation, log error and continue.
  366.                                                    // This is a special case for Convert(scptxfr70.exe), not a general purpose flag
  367.                                                    // If client uses this flag to generate output files, they are running on their own risk
  368.                                                    // This flag affects script out (and only the part used by Convert), it does not affect transfer in.
  369.         DTSTransfer_ScriptEx_NoFG             = 0x0010,   // Do not generate 'ON <filegroup>'. For Replication
  370.         DTSTransfer_ScriptEx_MarkTriggers     = 0x0020,   // Mark system triggers. For Replication single table script only.
  371.         DTSTransfer_ScriptEx_OnlyUserTriggers = 0x0040,   // Only script user triggers. For Replication single table script only.
  372.         DTSTransfer_ScriptEx_EncryptPWD       = 0x0080,   // Script encrypted password for logins
  373.         DTSTransfer_ScriptEx_SeparateXPs      = 0x0100,   // Script XP to a separate file (Convert)
  374.         DTSTransfer_ScriptEx_NoWhatIfIndexes  = 0x0200,   // Do not script What-If indexes (default: script out)
  375.         // Following are SQLAgent related scripting flags
  376.         DTSTransfer_ScriptEx_AgentNotify      = 0x0400,   // Script Notification for SQLAgent alert object
  377.         DTSTransfer_ScriptEx_AgentAlertJob    = 0x0800,   // Include Job in Alert scripting
  378.         //FT-Indexing
  379.         DTSTransfer_ScriptEx_FullTextIndex    = 0x1000,   // Include full-text index scripting (table only)
  380.  
  381. } DTS_ENUM_END(DTSTransfer_ScriptOptionEx);
  382.  
  383.  
  384. typedef DTS_ENUM_BEGIN(DTSBulkInsert_DataFileType, "Specifies the type of datafile used for BULK INSERT") {
  385.     DTSBulkInsert_DataFileType_Char                    = 0x0000,
  386.     DTSBulkInsert_DataFileType_Native                = 0x0001,
  387.     DTSBulkInsert_DataFileType_WideChar                = 0x0002,
  388.     DTSBulkInsert_DataFileType_WideNative            = 0x0003,
  389. } DTS_ENUM_END(DTSBulkInsert_DataFileType);
  390.  
  391. // These are not a bitmask; each implies all prior (lesser-numbered) ones.
  392. typedef DTS_ENUM_BEGIN(DTSLineageOptions, "Specifies how Package Execution Lineage should be presented and recorded") {
  393.     DTSLineage_None                            = 0x0000,        // Default
  394.     DTSLineage_AddLineageVariables            = 0x0001,
  395.     DTSLineage_WriteToReposIfAvailable        = 0x0002,
  396.     DTSLineage_WriteToReposRequired            = 0x0003,
  397. } DTS_ENUM_END(DTSLineageOptions);
  398.  
  399. // This is a bitmask.
  400. typedef DTS_ENUM_BEGIN(DTSFastLoadOptions, "Options specific to PumpTask.UseFastLoad") {
  401.     DTSFastLoad_NoOptions                    = 0x0000,
  402.     DTSFastLoad_KeepNulls                    = 0x0001,
  403.     DTSFastLoad_CheckConstraints            = 0x0002,
  404.     DTSFastLoad_TableLock                    = 0x0004,
  405.     DTSFastLoad_Default                        = 0x0002,        // DTSFastLoad_CheckConstraints
  406. } DTS_ENUM_END(DTSFastLoadOptions);
  407.  
  408. #endif    // DTSPackage_CONSTANTS_
  409.  
  410. /////////////////////////////////////////////////////////////////////////////////////////
  411. // Interface definitions.
  412. /////////////////////////////////////////////////////////////////////////////////////////
  413. #ifndef DTSPackage_ODL_        // Skip if in .odl file.
  414.  
  415. // Optional parameter definitions.  For C explicit values will have to be specified,
  416. // as indicated within the CPPDEFAULT() expansion.
  417. //
  418. // DTSPackage Parameter sequencing is as follows ("optional" in accordance with C++ usage):
  419. //     Nonoptional parameters
  420. //        Nonoptional Return value if any
  421. //        Optional additional parameters
  422. //        Optional return value, if any
  423. //
  424. #ifndef CPPDEFAULT
  425. #ifdef __cplusplus
  426. #define CPPDEFAULT(DefaultParamValue)    DefaultParamValue
  427. #else
  428. #define CPPDEFAULT(DefaultParamValue)
  429. #endif
  430. #endif
  431.  
  432. // Define constants to document parameter usage.
  433. #define DTS_IN
  434. #define DTS_OUT
  435. #define DTS_INOUT
  436. #define DTS_RETVAL
  437.  
  438. ///////////////////////////////////////////////////////////////////////////////////////
  439. // Class definitions and typedefs
  440. ///////////////////////////////////////////////////////////////////////////////////////
  441.  
  442. #ifndef DTSPackage_INTERNAL 
  443.  
  444. // Forward-define all interfaces.
  445. #define DTS_FWD_DEFINE_INTERFACE(itf)                    \
  446.     interface IDTS##itf;                                \
  447.     typedef interface IDTS##itf * LPDTS##itf;
  448.  
  449. DTS_FWD_DEFINE_INTERFACE(StdObject)
  450.  
  451. // Repeat the IDispatch members because C doesn't provide inheritance.
  452. #define DTSPackage_DISPATCH_BASE(itf)                                                        \
  453.         STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID * ppvObj) PURE;                \
  454.         STDMETHOD_(ULONG,AddRef) (THIS) PURE;                                                \
  455.         STDMETHOD_(ULONG,Release) (THIS) PURE;                                                \
  456.         STDMETHOD(GetTypeInfoCount)(THIS_ UINT * pcTypeInfo) PURE;                            \
  457.         STDMETHOD(GetTypeInfo)(THIS_ UINT iTypeInfo, LCID lcid, ITypeInfo ** ppTI) PURE;    \
  458.         STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR * rgszNames, UINT cNames,        \
  459.                                 LCID lcid, DISPID * rgdispid) PURE;                            \
  460.         STDMETHOD(Invoke)(THIS_ DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags,    \
  461.                                 DISPPARAMS * pdispparams, LPVARIANT pvarResult,                \
  462.                                 LPEXCEPINFO pexcepinfo, UINT * puArgErr) PURE;
  463.  
  464. // This is the base class for all DTSPackage OleAut objects.  It is never instantiated by itself.
  465. // The members are copied into all derived classes so that C clients can reference
  466. // them, since the DECLARE_INTERFACE_ macro doesn't provide inheritance in C.  The
  467. // undef/def of INTERFACE is likewise required for C programmers.
  468. #undef INTERFACE
  469. #define INTERFACE IDTSStdObject
  470. DECLARE_INTERFACE_(INTERFACE, IDispatch)
  471. {
  472.     DTSPackage_DISPATCH_BASE(IDTSStdObject)
  473. };
  474.  
  475. #endif    // ndef DTSPackage_INTERNAL
  476.  
  477.  
  478. /////////////////////////////////////////////////////////////////////////////////
  479. // Define the DTSPackage GUIDGEN templates.
  480. /////////////////////////////////////////////////////////////////////////////////
  481.  
  482. #define DEFINE_DTSPackage_GUID(name, lval) \
  483.       DEFINE_GUID(name, 0x##lval, 0xEB1C, 0x11CF, 0xAE, 0x6E, 0x0, 0xAA, 0x0, 0x4A, 0x34, 0xD5);
  484. #define DEFINE_DTSPackage_DTSCatID(name, lval) \
  485.       DEFINE_GUID(name, 0x##lval, 0xA282, 0x11D1, 0xB7, 0xD9, 0x0, 0xC0, 0x4F, 0xB6, 0xEF, 0xD5);
  486.  
  487. /////////////////////////////////////////////////////////////////////////////////
  488. //    SQLDTS Library UUID
  489. /////////////////////////////////////////////////////////////////////////////////
  490. DEFINE_DTSPackage_GUID(LIBID_DTSPackageLibrary, 10010001)
  491.  
  492. /////////////////////////////////////////////////////////////////////////////////
  493. // Internal base interfaces.
  494. /////////////////////////////////////////////////////////////////////////////////
  495. DEFINE_DTSPackage_GUID(IID_IDTSPrivate, 10010002)
  496. DEFINE_DTSPackage_GUID(IID_IDTSInternal, 1001003)
  497.  
  498. DEFINE_DTSPackage_GUID(IID_IDTSStdObject, 10010004)
  499.  
  500. DEFINE_DTSPackage_GUID(IID_IDTSStdCollection, 10010009)
  501.  
  502. DEFINE_DTSPackage_GUID(CLSID_DTSRunPackage, 1001000A)
  503. DEFINE_DTSPackage_GUID(IID_IDTSRunPackage, 1001000B)
  504.  
  505. DEFINE_DTSPackage_GUID(IID_IDTSPackageDSODataSource, 10010011)
  506. DEFINE_DTSPackage_GUID(IID_IDTSPackageDSOSession, 10010012)
  507. DEFINE_DTSPackage_GUID(IID_IDTSPackageDSOCommand, 10010013)
  508. DEFINE_DTSPackage_GUID(IID_IDTSPackageDSORowset, 10010014)
  509.  
  510. DEFINE_DTSPackage_GUID(IID_IDTSRowQueueDataSource, 10010021)
  511. DEFINE_DTSPackage_GUID(IID_IDTSRowQueueSession, 10010022)
  512. DEFINE_DTSPackage_GUID(IID_IDTSRowQueueRowset, 10010023)
  513.  
  514. /////////////////////////////////////////////////////////////////////////////////
  515. // OLEDB rowset provider CLSIDs
  516. /////////////////////////////////////////////////////////////////////////////////
  517. DEFINE_DTSPackage_GUID(CLSID_DTSPackageDSO, 10010031)
  518. DEFINE_DTSPackage_GUID(CLSID_DTSRowQueue, 10010032)
  519.  
  520. /////////////////////////////////////////////////////////////////////////////////
  521. // Automation generic-property interfaces
  522. /////////////////////////////////////////////////////////////////////////////////
  523. DEFINE_DTSPackage_GUID(IID_IDTSProperties, 10020001)
  524. DEFINE_DTSPackage_GUID(IID_IDTSProperty, 10020002)
  525.  
  526. /////////////////////////////////////////////////////////////////////////////////
  527. // Repository OBJID base GUIDs and private management classes.
  528. /////////////////////////////////////////////////////////////////////////////////
  529. DEFINE_DTSPackage_GUID(GUID_DTSSystem, 10020101)
  530. DEFINE_DTSPackage_GUID(GUID_DTSPackageModel, 10020102)
  531. DEFINE_DTSPackage_GUID(CLSID_DTSRepositoryManager, 10020103)
  532. DEFINE_DTSPackage_GUID(IID_IDTSRepositoryManager, 10020104)
  533. DEFINE_DTSPackage_GUID(IID_IDTSRepositoryPackageEnum, 10020105)
  534. DEFINE_DTSPackage_GUID(GUID_DTSDataSourceModel, 10020106)
  535.  
  536. DEFINE_DTSPackage_GUID(IID_IDTSRepositoryPackageLineageEnum, 10020107)
  537. DEFINE_DTSPackage_GUID(IID_IDTSRepositoryDataSourceEnum, 10020108)
  538. DEFINE_DTSPackage_GUID(IID_IDTSRepositoryCatalogEnum, 10020109)
  539. DEFINE_DTSPackage_GUID(IID_IDTSRepositoryStepLineageEnum, 10020110)
  540.  
  541. /////////////////////////////////////////////////////////////////////////////////
  542. // Category id of DTS custom tasks.
  543. /////////////////////////////////////////////////////////////////////////////////
  544. DEFINE_DTSPackage_GUID(CATID_DTSCustomTask, 10020200)    //we will use the same id as the Package clsid.
  545.  
  546. /////////////////////////////////////////////////////////////////////////////////
  547. // DTS Category id (not COM category ID) of DTS SQL Server categories.
  548. /////////////////////////////////////////////////////////////////////////////////
  549. DEFINE_DTSPackage_DTSCatID(DTSCATID_Local, B8C30000)
  550. DEFINE_DTSPackage_DTSCatID(DTSCATID_Repository, B8C30001)
  551. DEFINE_DTSPackage_DTSCatID(DTSCATID_LocalDefault, B8C30002)
  552.  
  553. /////////////////////////////////////////////////////////////////////////////////
  554. // DTS Package interfaces
  555. /////////////////////////////////////////////////////////////////////////////////
  556.  
  557. DEFINE_DTSPackage_GUID(CLSID_DTSPackage, 10020200)
  558. DEFINE_DTSPackage_GUID(CLSID_DTSPropertiesProvider, 10020201)
  559.  
  560. DEFINE_DTSPackage_GUID(IID_IDTSPackage, 10020205)
  561. DEFINE_DTSPackage_GUID(IID_IDTSPropertiesProvider, 10020206)
  562.  
  563. DEFINE_DTSPackage_GUID(IID_IDTSSteps, 10020302)
  564. DEFINE_DTSPackage_GUID(IID_IDTSStep, 10020305)
  565.  
  566. DEFINE_DTSPackage_GUID(IID_IDTSColumns, 10020402)
  567. DEFINE_DTSPackage_GUID(IID_IDTSColumn, 10020405)
  568.  
  569. DEFINE_DTSPackage_GUID(IID_IDTSLookups, 10020502)
  570. DEFINE_DTSPackage_GUID(IID_IDTSLookup, 10020505)
  571.  
  572. DEFINE_DTSPackage_GUID(IID_IDTSPackageEvents, 10020605)
  573.  
  574. DEFINE_DTSPackage_GUID(IID_IDTSPackageLog, 10020705)
  575.  
  576. DEFINE_DTSPackage_GUID(IID_IDTSCustomTask, 10020904)
  577. DEFINE_DTSPackage_GUID(IID_IDTSTasks, 10020905)
  578. DEFINE_DTSPackage_GUID(IID_IDTSTask, 10020906)
  579.  
  580. DEFINE_DTSPackage_GUID(IID_IDTSActiveScriptTask, 10020907)
  581. DEFINE_DTSPackage_GUID(IID_IDTSDataPumpTask, 10020908)
  582. DEFINE_DTSPackage_GUID(IID_IDTSCreateProcessTask, 10020909)
  583. DEFINE_DTSPackage_GUID(IID_IDTSExecPackageTask, 1002090B)
  584. DEFINE_DTSPackage_GUID(IID_IDTSExecuteSQLTask, 1002090C)
  585. DEFINE_DTSPackage_GUID(IID_IDTSDataDrivenQueryTask, 1002090D)
  586. DEFINE_DTSPackage_GUID(IID_IDTSTransferObjectsTask, 1002090E)
  587. DEFINE_DTSPackage_GUID(IID_IDTSSendMailTask, 1002090F)
  588. DEFINE_DTSPackage_GUID(IID_IDTSBulkInsertTask, 10020910)
  589.  
  590. //Though we define these class ids these are used just to identify our internally
  591. //implemented task objects. These cannot be cocreated.
  592. DEFINE_DTSPackage_GUID(CLSID_DTSActiveScriptTask, 10020907)
  593. DEFINE_DTSPackage_GUID(CLSID_DTSDataPumpTask, 10020908)
  594. DEFINE_DTSPackage_GUID(CLSID_DTSCreateProcessTask, 10020909)
  595. DEFINE_DTSPackage_GUID(CLSID_DTSExecPackageTask, 1002090B)
  596. DEFINE_DTSPackage_GUID(CLSID_DTSExecuteSQLTask, 1002090C)
  597. DEFINE_DTSPackage_GUID(CLSID_DTSDataDrivenQueryTask, 1002090D)
  598. DEFINE_DTSPackage_GUID(CLSID_DTSTransferObjectsTask, 1002090E)
  599. DEFINE_DTSPackage_GUID(CLSID_DTSSendMailTask, 1002090F)
  600. DEFINE_DTSPackage_GUID(CLSID_DTSBulkInsertTask, 10020910)
  601.  
  602. DEFINE_DTSPackage_GUID(IID_IDTSGlobalVariables, 10020A05)
  603. DEFINE_DTSPackage_GUID(IID_IDTSGlobalVariable, 10020A06)
  604.  
  605. DEFINE_DTSPackage_GUID(IID_IDTSPrecedenceConstraints, 10020B05)
  606. DEFINE_DTSPackage_GUID(IID_IDTSPrecedenceConstraint, 10020B06)
  607.  
  608. DEFINE_DTSPackage_GUID(IID_IDTSConnections, 10020C05)
  609. DEFINE_DTSPackage_GUID(IID_IDTSConnection, 10020C06)
  610.  
  611. DEFINE_DTSPackage_GUID(IID_IDTSTransformations, 10020D05)
  612. DEFINE_DTSPackage_GUID(IID_IDTSTransformation, 10020D06)
  613.  
  614. DEFINE_DTSPackage_GUID(IID_IDTSOleDBProperties, 10020E05)
  615. DEFINE_DTSPackage_GUID(IID_IDTSOleDBProperty, 10020E06)
  616.  
  617. DEFINE_DTSPackage_GUID(IID_IDTSSavedPackageInfos, 10020F05)
  618. DEFINE_DTSPackage_GUID(IID_IDTSSavedPackageInfo, 10020F06)
  619.  
  620. DEFINE_DTSPackage_GUID(IID_IDTSPropertyBag, 10021005)
  621. DEFINE_DTSPackage_GUID(IID_IDTSPersistPropertyBag, 10021006)
  622.  
  623. DEFINE_DTSPackage_GUID(IID_IDTSCustomTaskUI, 10022005)
  624. /////////////////////////////////////////////////////////////////////////////////
  625. /////////////////////////////////////////////////////////////////////////////////
  626.  
  627.  
  628.  
  629.  
  630.  
  631. /* DTSPackage Automation interface definitions generated:  11/13/1998, 00:30:30 */
  632.  
  633. /* Forward definitions */
  634.  
  635. DTS_FWD_DEFINE_INTERFACE(Properties)        // LPDTSProperties
  636. DTS_FWD_DEFINE_INTERFACE(Property)        // LPDTSProperty
  637. DTS_FWD_DEFINE_INTERFACE(Package)        // LPDTSPackage
  638. DTS_FWD_DEFINE_INTERFACE(PropertiesProvider)        // LPDTSPropertiesProvider
  639. DTS_FWD_DEFINE_INTERFACE(Steps)        // LPDTSSteps
  640. DTS_FWD_DEFINE_INTERFACE(Step)        // LPDTSStep
  641. DTS_FWD_DEFINE_INTERFACE(Tasks)        // LPDTSTasks
  642. DTS_FWD_DEFINE_INTERFACE(Task)        // LPDTSTask
  643. DTS_FWD_DEFINE_INTERFACE(CustomTask)        // LPDTSCustomTask
  644. DTS_FWD_DEFINE_INTERFACE(ActiveScriptTask)        // LPDTSActiveScriptTask
  645. DTS_FWD_DEFINE_INTERFACE(DataPumpTask)        // LPDTSDataPumpTask
  646. DTS_FWD_DEFINE_INTERFACE(CreateProcessTask)        // LPDTSCreateProcessTask
  647. DTS_FWD_DEFINE_INTERFACE(ExecuteSQLTask)        // LPDTSExecuteSQLTask
  648. DTS_FWD_DEFINE_INTERFACE(DataDrivenQueryTask)        // LPDTSDataDrivenQueryTask
  649. DTS_FWD_DEFINE_INTERFACE(TransferObjectsTask)        // LPDTSTransferObjectsTask
  650. DTS_FWD_DEFINE_INTERFACE(SendMailTask)        // LPDTSSendMailTask
  651. DTS_FWD_DEFINE_INTERFACE(BulkInsertTask)        // LPDTSBulkInsertTask
  652. DTS_FWD_DEFINE_INTERFACE(GlobalVariables)        // LPDTSGlobalVariables
  653. DTS_FWD_DEFINE_INTERFACE(GlobalVariable)        // LPDTSGlobalVariable
  654. DTS_FWD_DEFINE_INTERFACE(PrecedenceConstraints)        // LPDTSPrecedenceConstraints
  655. DTS_FWD_DEFINE_INTERFACE(PrecedenceConstraint)        // LPDTSPrecedenceConstraint
  656. DTS_FWD_DEFINE_INTERFACE(OleDBProperties)        // LPDTSOleDBProperties
  657. DTS_FWD_DEFINE_INTERFACE(OleDBProperty)        // LPDTSOleDBProperty
  658. DTS_FWD_DEFINE_INTERFACE(Connections)        // LPDTSConnections
  659. DTS_FWD_DEFINE_INTERFACE(Connection)        // LPDTSConnection
  660. DTS_FWD_DEFINE_INTERFACE(Transformations)        // LPDTSTransformations
  661. DTS_FWD_DEFINE_INTERFACE(Transformation)        // LPDTSTransformation
  662. DTS_FWD_DEFINE_INTERFACE(Columns)        // LPDTSColumns
  663. DTS_FWD_DEFINE_INTERFACE(Column)        // LPDTSColumn
  664. DTS_FWD_DEFINE_INTERFACE(Lookups)        // LPDTSLookups
  665. DTS_FWD_DEFINE_INTERFACE(Lookup)        // LPDTSLookup
  666. DTS_FWD_DEFINE_INTERFACE(SavedPackageInfo)        // LPDTSSavedPackageInfo
  667. DTS_FWD_DEFINE_INTERFACE(SavedPackageInfos)        // LPDTSSavedPackageInfos
  668. DTS_FWD_DEFINE_INTERFACE(PropertyBag)        // LPDTSPropertyBag
  669. DTS_FWD_DEFINE_INTERFACE(PersistPropertyBag)        // LPDTSPersistPropertyBag
  670. DTS_FWD_DEFINE_INTERFACE(PackageEvents)        // LPDTSPackageEvents
  671. DTS_FWD_DEFINE_INTERFACE(PackageLog)        // LPDTSPackageLog
  672. DTS_FWD_DEFINE_INTERFACE(CustomTaskUI)        // LPDTSCustomTaskUI
  673.  
  674. /* Interface definitions */
  675.  
  676. #undef INTERFACE
  677. #define INTERFACE IDTSProperties
  678. DECLARE_INTERFACE_(IDTSProperties, IDTSStdObject)
  679. {
  680.     DTSPackage_DISPATCH_BASE(IDTSProperties)
  681.  
  682.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  683.     STDMETHOD(Item)(THIS_ DTS_IN VARIANT Index,
  684.         DTS_RETVAL IDTSProperty **pRetVal) PURE;
  685.     STDMETHOD(Get_NewEnum)(THIS_ DTS_RETVAL IUnknown **ppEnum) PURE;
  686.     STDMETHOD(GetCount)(THIS_ DTS_RETVAL long *pRetVal) PURE;
  687. };
  688.  
  689. #undef INTERFACE
  690. #define INTERFACE IDTSProperty
  691. DECLARE_INTERFACE_(IDTSProperty, IDTSStdObject)
  692. {
  693.     DTSPackage_DISPATCH_BASE(IDTSProperty)
  694.  
  695.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  696.     STDMETHOD(GetValue)(THIS_ DTS_RETVAL VARIANT *pRetVal) PURE;
  697.     STDMETHOD(SetValue)(THIS_ DTS_IN VARIANT NewValue) PURE;
  698.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  699.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  700.     STDMETHOD(GetType)(THIS_ DTS_RETVAL long *pRetVal) PURE;
  701.     STDMETHOD(GetGet)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  702.     STDMETHOD(GetSet)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  703. };
  704.  
  705. #undef INTERFACE
  706. #define INTERFACE IDTSPackage
  707. DECLARE_INTERFACE_(IDTSPackage, IDTSStdObject)
  708. {
  709.     DTSPackage_DISPATCH_BASE(IDTSPackage)
  710.  
  711.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  712.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  713.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  714.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  715.     STDMETHOD(GetSteps)(THIS_ DTS_RETVAL IDTSSteps **pRetVal) PURE;
  716.     STDMETHOD(GetTasks)(THIS_ DTS_RETVAL IDTSTasks **pRetVal) PURE;
  717.     STDMETHOD(GetConnections)(THIS_ DTS_RETVAL IDTSConnections **pRetVal) PURE;
  718.     STDMETHOD(GetGlobalVariables)(THIS_ DTS_RETVAL IDTSGlobalVariables **pRetVal) PURE;
  719.     STDMETHOD(GetPackageID)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  720.     STDMETHOD(GetDescription)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  721.     STDMETHOD(SetDescription)(THIS_ DTS_IN BSTR NewValue) PURE;
  722.     STDMETHOD(GetWriteCompletionStatusToNTEventLog)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  723.     STDMETHOD(SetWriteCompletionStatusToNTEventLog)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  724.     STDMETHOD(GetLogFileName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  725.     STDMETHOD(SetLogFileName)(THIS_ DTS_IN BSTR NewValue) PURE;
  726.     STDMETHOD(GetFailOnError)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  727.     STDMETHOD(SetFailOnError)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  728.     STDMETHOD(GetVersionID)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  729.     STDMETHOD(GetCreatorName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  730.     STDMETHOD(GetCreatorComputerName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  731.     STDMETHOD(GetCreationDate)(THIS_ DTS_RETVAL DATE *pRetVal) PURE;
  732.     STDMETHOD(GetPackagePriorityClass)(THIS_ DTS_RETVAL DTSPackagePriorityClass *pRetVal) PURE;
  733.     STDMETHOD(SetPackagePriorityClass)(THIS_ DTS_IN DTSPackagePriorityClass NewValue) PURE;
  734.     STDMETHOD(GetMaxConcurrentSteps)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  735.     STDMETHOD(SetMaxConcurrentSteps)(THIS_ DTS_IN LONG NewValue) PURE;
  736.     STDMETHOD(Execute)(THIS) PURE;
  737.     STDMETHOD(SaveToStorageFile)(THIS_ DTS_IN BSTR UNCFile,
  738.         DTS_IN BSTR OwnerPassword CPPDEFAULT(= NULL),
  739.         DTS_IN BSTR OperatorPassword CPPDEFAULT(= NULL),
  740.         DTS_IN VARIANT *pVarPersistStgOfHost CPPDEFAULT(= NULL),
  741.         DTS_IN VARIANT_BOOL bReusePasswords CPPDEFAULT(= VARIANT_TRUE)) PURE;
  742.     STDMETHOD(SaveToRepository)(THIS_ DTS_IN BSTR RepositoryServerName,
  743.         DTS_IN BSTR RepositoryDatabaseName,
  744.         DTS_IN BSTR RepositoryUserName,
  745.         DTS_IN BSTR RepositoryUserPassword,
  746.         DTS_IN DTSRepositoryStorageFlags Flags CPPDEFAULT(= DTSReposFlag_Default),
  747.         DTS_IN BSTR CategoryID CPPDEFAULT(= NULL),
  748.         DTS_IN VARIANT *pVarPersistStgOfHost CPPDEFAULT(= NULL)) PURE;
  749.     STDMETHOD(RemoveFromRepository)(THIS_ DTS_IN BSTR RepositoryServerName,
  750.         DTS_IN BSTR RepositoryDatabaseName,
  751.         DTS_IN BSTR RepositoryUserName,
  752.         DTS_IN BSTR RepositoryUserPassword,
  753.         DTS_IN BSTR PackageID,
  754.         DTS_IN BSTR VersionID CPPDEFAULT(= NULL),
  755.         DTS_IN BSTR PackageName CPPDEFAULT(= NULL),
  756.         DTS_IN DTSRepositoryStorageFlags Flags CPPDEFAULT(= DTSReposFlag_Default)) PURE;
  757.     STDMETHOD(LoadFromStorageFile)(THIS_ DTS_IN BSTR UNCFile,
  758.         DTS_IN BSTR Password,
  759.         DTS_IN BSTR PackageID,
  760.         DTS_IN BSTR VersionID CPPDEFAULT(= NULL),
  761.         DTS_IN BSTR Name CPPDEFAULT(= NULL),
  762.         DTS_IN VARIANT *pVarPersistStgOfHost CPPDEFAULT(= NULL)) PURE;
  763.     STDMETHOD(LoadFromRepository)(THIS_ DTS_IN BSTR RepositoryServerName,
  764.         DTS_IN BSTR RepositoryDatabaseName,
  765.         DTS_IN BSTR RepositoryUserName,
  766.         DTS_IN BSTR RepositoryUserPassword,
  767.         DTS_IN BSTR PackageID,
  768.         DTS_IN BSTR VersionID CPPDEFAULT(= NULL),
  769.         DTS_IN BSTR PackageName CPPDEFAULT(= NULL),
  770.         DTS_IN DTSRepositoryStorageFlags Flags CPPDEFAULT(= DTSReposFlag_Default),
  771.         DTS_IN VARIANT *pVarPersistStgOfHost CPPDEFAULT(= NULL)) PURE;
  772.     STDMETHOD(GetSavedPackageInfos)(THIS_ DTS_IN BSTR UNCFile,
  773.         DTS_RETVAL IDTSSavedPackageInfos **pRetVal) PURE;
  774.     STDMETHOD(UnInitialize)(THIS) PURE;
  775.     STDMETHOD(SaveToSQLServer)(THIS_ DTS_IN BSTR ServerName,
  776.         DTS_IN BSTR ServerUserName,
  777.         DTS_IN BSTR ServerPassword,
  778.         DTS_IN DTSSQLServerStorageFlags Flags CPPDEFAULT(= DTSSQLStgFlag_Default),
  779.         DTS_IN BSTR PackageOwnerPassword CPPDEFAULT(= NULL),
  780.         DTS_IN BSTR PackageOperatorPassword CPPDEFAULT(= NULL),
  781.         DTS_IN BSTR PackageCategoryID CPPDEFAULT(= NULL),
  782.         DTS_IN VARIANT *pVarPersistStgOfHost CPPDEFAULT(= NULL),
  783.         DTS_IN VARIANT_BOOL bReusePasswords CPPDEFAULT(= VARIANT_TRUE)) PURE;
  784.     STDMETHOD(LoadFromSQLServer)(THIS_ DTS_IN BSTR ServerName,
  785.         DTS_IN BSTR ServerUserName,
  786.         DTS_IN BSTR ServerPassword,
  787.         DTS_IN DTSSQLServerStorageFlags Flags CPPDEFAULT(= DTSSQLStgFlag_Default),
  788.         DTS_IN BSTR PackagePassword CPPDEFAULT(= NULL),
  789.         DTS_IN BSTR PackageGuid CPPDEFAULT(= NULL),
  790.         DTS_IN BSTR PackageVersionGuid CPPDEFAULT(= NULL),
  791.         DTS_IN BSTR PackageName CPPDEFAULT(= NULL),
  792.         DTS_IN VARIANT *pVarPersistStgOfHost CPPDEFAULT(= NULL)) PURE;
  793.     STDMETHOD(RemoveFromSQLServer)(THIS_ DTS_IN BSTR ServerName,
  794.         DTS_IN BSTR ServerUserName,
  795.         DTS_IN BSTR ServerPassword,
  796.         DTS_IN DTSSQLServerStorageFlags Flags CPPDEFAULT(= DTSSQLStgFlag_Default),
  797.         DTS_IN BSTR PackageGuid CPPDEFAULT(= NULL),
  798.         DTS_IN BSTR PackageVersionGuid CPPDEFAULT(= NULL),
  799.         DTS_IN BSTR PackageName CPPDEFAULT(= NULL)) PURE;
  800.     STDMETHOD(SaveAs)(THIS_ DTS_IN BSTR NewName) PURE;
  801.     STDMETHOD(GetDTSVersionInfo)(THIS_ DTS_OUT long *VersionMajor,
  802.         DTS_OUT long *VersionMinor,
  803.         DTS_OUT long *VersionBuild,
  804.         DTS_OUT BSTR *VersionComments) PURE;
  805.     STDMETHOD(GetLineageOptions)(THIS_ DTS_RETVAL DTSLineageOptions *pRetVal) PURE;
  806.     STDMETHOD(SetLineageOptions)(THIS_ DTS_IN DTSLineageOptions NewValue) PURE;
  807.     STDMETHOD(GetUseTransaction)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  808.     STDMETHOD(SetUseTransaction)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  809.     STDMETHOD(GetTransactionIsolationLevel)(THIS_ DTS_RETVAL DTSIsolationLevel *pRetVal) PURE;
  810.     STDMETHOD(SetTransactionIsolationLevel)(THIS_ DTS_IN DTSIsolationLevel NewValue) PURE;
  811.     STDMETHOD(GetAutoCommitTransaction)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  812.     STDMETHOD(SetAutoCommitTransaction)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  813.     STDMETHOD(GetRepositoryMetadataOptions)(THIS_ DTS_RETVAL DTSRepositoryMetadataOptions *pRetVal) PURE;
  814.     STDMETHOD(SetRepositoryMetadataOptions)(THIS_ DTS_IN DTSRepositoryMetadataOptions NewValue) PURE;
  815.     STDMETHOD(GetUseOLEDBServiceComponents)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  816.     STDMETHOD(SetUseOLEDBServiceComponents)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  817.     STDMETHOD(GetLastExecutionLineage)(THIS_ DTS_OUT long *LineageShort,
  818.         DTS_RETVAL BSTR *pRetVal) PURE;
  819.     STDMETHOD(StartPreparationForStepsExecutingOnMainThread)(THIS) PURE;
  820.     STDMETHOD(EndPreparationForStepsExecutingOnMainThread)(THIS) PURE;
  821. };
  822.  
  823. #undef INTERFACE
  824. #define INTERFACE IDTSPropertiesProvider
  825. DECLARE_INTERFACE_(IDTSPropertiesProvider, IDTSStdObject)
  826. {
  827.     DTSPackage_DISPATCH_BASE(IDTSPropertiesProvider)
  828.  
  829.     STDMETHOD(GetPropertiesForObject)(THIS_ DTS_IN IDispatch *pObject,
  830.         DTS_RETVAL IDTSProperties **pRetVal) PURE;
  831. };
  832.  
  833. #undef INTERFACE
  834. #define INTERFACE IDTSSteps
  835. DECLARE_INTERFACE_(IDTSSteps, IDTSStdObject)
  836. {
  837.     DTSPackage_DISPATCH_BASE(IDTSSteps)
  838.  
  839.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  840.     STDMETHOD(Item)(THIS_ DTS_IN VARIANT Index,
  841.         DTS_RETVAL IDTSStep **pRetVal) PURE;
  842.     STDMETHOD(Get_NewEnum)(THIS_ DTS_RETVAL IUnknown **ppEnum) PURE;
  843.     STDMETHOD(GetCount)(THIS_ DTS_RETVAL long *pRetVal) PURE;
  844.     STDMETHOD(Add)(THIS_ DTS_IN IDTSStep *Object) PURE;
  845.     STDMETHOD(Remove)(THIS_ DTS_IN VARIANT Index) PURE;
  846.     STDMETHOD(Insert)(THIS_ DTS_IN VARIANT Position,
  847.         DTS_IN IDTSStep *Object) PURE;
  848.     STDMETHOD(New)(THIS_ DTS_RETVAL IDTSStep **pRetVal) PURE;
  849. };
  850.  
  851. #undef INTERFACE
  852. #define INTERFACE IDTSStep
  853. DECLARE_INTERFACE_(IDTSStep, IDTSStdObject)
  854. {
  855.     DTSPackage_DISPATCH_BASE(IDTSStep)
  856.  
  857.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  858.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  859.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  860.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  861.     STDMETHOD(GetDescription)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  862.     STDMETHOD(SetDescription)(THIS_ DTS_IN BSTR NewValue) PURE;
  863.     STDMETHOD(GetPrecedenceConstraints)(THIS_ DTS_RETVAL IDTSPrecedenceConstraints **pRetVal) PURE;
  864.     STDMETHOD(GetExecutionStatus)(THIS_ DTS_RETVAL DTSStepExecStatus *pRetVal) PURE;
  865.     STDMETHOD(SetExecutionStatus)(THIS_ DTS_IN DTSStepExecStatus NewValue) PURE;
  866.     STDMETHOD(GetExecutionResult)(THIS_ DTS_RETVAL DTSStepExecResult *pRetVal) PURE;
  867.     STDMETHOD(GetTaskName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  868.     STDMETHOD(SetTaskName)(THIS_ DTS_IN BSTR NewValue) PURE;
  869.     STDMETHOD(GetCommitSuccess)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  870.     STDMETHOD(SetCommitSuccess)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  871.     STDMETHOD(GetRollbackFailure)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  872.     STDMETHOD(SetRollbackFailure)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  873.     STDMETHOD(GetActiveXScript)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  874.     STDMETHOD(SetActiveXScript)(THIS_ DTS_IN BSTR NewValue) PURE;
  875.     STDMETHOD(GetScriptLanguage)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  876.     STDMETHOD(SetScriptLanguage)(THIS_ DTS_IN BSTR NewValue) PURE;
  877.     STDMETHOD(GetFunctionName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  878.     STDMETHOD(SetFunctionName)(THIS_ DTS_IN BSTR NewValue) PURE;
  879.     STDMETHOD(GetAddGlobalVariables)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  880.     STDMETHOD(SetAddGlobalVariables)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  881.     STDMETHOD(GetRelativePriority)(THIS_ DTS_RETVAL DTSStepRelativePriority *pRetVal) PURE;
  882.     STDMETHOD(SetRelativePriority)(THIS_ DTS_IN DTSStepRelativePriority NewValue) PURE;
  883.     STDMETHOD(GetCloseConnection)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  884.     STDMETHOD(SetCloseConnection)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  885.     STDMETHOD(GetExecuteInMainThread)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  886.     STDMETHOD(SetExecuteInMainThread)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  887.     STDMETHOD(GetIsPackageDSORowset)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  888.     STDMETHOD(SetIsPackageDSORowset)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  889.     STDMETHOD(Execute)(THIS) PURE;
  890.     STDMETHOD(GetExecutionErrorInfo)(THIS_ DTS_OUT long *pErrorCode,
  891.         DTS_OUT BSTR *pbstrSource,
  892.         DTS_OUT BSTR *pbstrDescription,
  893.         DTS_OUT BSTR *pbstrHelpFile,
  894.         DTS_OUT long *pHelpContext,
  895.         DTS_OUT BSTR *pbstrIDofInterfaceWithError) PURE;
  896.     STDMETHOD(GetJoinTransactionIfPresent)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  897.     STDMETHOD(SetJoinTransactionIfPresent)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  898.     STDMETHOD(GetStartTime)(THIS_ DTS_RETVAL DATE *pRetVal) PURE;
  899.     STDMETHOD(GetFinishTime)(THIS_ DTS_RETVAL DATE *pRetVal) PURE;
  900.     STDMETHOD(GetExecutionTime)(THIS_ DTS_RETVAL double *pRetVal) PURE;
  901.     STDMETHOD(GetDisableStep)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  902.     STDMETHOD(SetDisableStep)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  903. };
  904.  
  905. #undef INTERFACE
  906. #define INTERFACE IDTSTasks
  907. DECLARE_INTERFACE_(IDTSTasks, IDTSStdObject)
  908. {
  909.     DTSPackage_DISPATCH_BASE(IDTSTasks)
  910.  
  911.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  912.     STDMETHOD(Item)(THIS_ DTS_IN VARIANT Index,
  913.         DTS_RETVAL IDTSTask **pRetVal) PURE;
  914.     STDMETHOD(Get_NewEnum)(THIS_ DTS_RETVAL IUnknown **ppEnum) PURE;
  915.     STDMETHOD(GetCount)(THIS_ DTS_RETVAL long *pRetVal) PURE;
  916.     STDMETHOD(Add)(THIS_ DTS_IN IDTSTask *Object) PURE;
  917.     STDMETHOD(Remove)(THIS_ DTS_IN VARIANT Index) PURE;
  918.     STDMETHOD(Insert)(THIS_ DTS_IN VARIANT Position,
  919.         DTS_IN IDTSTask *Object) PURE;
  920.     STDMETHOD(New)(THIS_ DTS_IN BSTR bstrID,
  921.         DTS_RETVAL IDTSTask **pRetVal) PURE;
  922. };
  923.  
  924. #undef INTERFACE
  925. #define INTERFACE IDTSTask
  926. DECLARE_INTERFACE_(IDTSTask, IDTSStdObject)
  927. {
  928.     DTSPackage_DISPATCH_BASE(IDTSTask)
  929.  
  930.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  931.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  932.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  933.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  934.     STDMETHOD(GetDescription)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  935.     STDMETHOD(SetDescription)(THIS_ DTS_IN BSTR NewValue) PURE;
  936.     STDMETHOD(Execute)(THIS_ DTS_IN IDispatch *pPackage,
  937.         DTS_IN IDispatch *pPackageEvents,
  938.         DTS_IN IDispatch *pPackageLog,
  939.         DTS_OUT DTSTaskExecResult *pTaskResult) PURE;
  940.     STDMETHOD(GetCustomTask)(THIS_ DTS_RETVAL IDTSCustomTask **pRetVal) PURE;
  941.     STDMETHOD(GetCustomTaskID)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  942. };
  943.  
  944. #undef INTERFACE
  945. #define INTERFACE IDTSCustomTask
  946. DECLARE_INTERFACE_(IDTSCustomTask, IDTSStdObject)
  947. {
  948.     DTSPackage_DISPATCH_BASE(IDTSCustomTask)
  949.  
  950.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  951.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  952.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  953.     STDMETHOD(GetDescription)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  954.     STDMETHOD(SetDescription)(THIS_ DTS_IN BSTR NewValue) PURE;
  955.     STDMETHOD(Execute)(THIS_ DTS_IN IDispatch *pPackage,
  956.         DTS_IN IDispatch *pPackageEvents,
  957.         DTS_IN IDispatch *pPackageLog,
  958.         DTS_OUT DTSTaskExecResult *pTaskResult) PURE;
  959. };
  960.  
  961. #undef INTERFACE
  962. #define INTERFACE IDTSActiveScriptTask
  963. DECLARE_INTERFACE_(IDTSActiveScriptTask, IDTSStdObject)
  964. {
  965.     DTSPackage_DISPATCH_BASE(IDTSActiveScriptTask)
  966.  
  967.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  968.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  969.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  970.     STDMETHOD(GetDescription)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  971.     STDMETHOD(SetDescription)(THIS_ DTS_IN BSTR NewValue) PURE;
  972.     STDMETHOD(Execute)(THIS_ DTS_IN IDispatch *pPackage,
  973.         DTS_IN IDispatch *pPackageEvents,
  974.         DTS_IN IDispatch *pPackageLog,
  975.         DTS_OUT DTSTaskExecResult *pTaskResult) PURE;
  976.     STDMETHOD(CheckSyntax)(THIS) PURE;
  977.     STDMETHOD(GetActiveXScript)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  978.     STDMETHOD(SetActiveXScript)(THIS_ DTS_IN BSTR NewValue) PURE;
  979.     STDMETHOD(GetFunctionName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  980.     STDMETHOD(SetFunctionName)(THIS_ DTS_IN BSTR NewValue) PURE;
  981.     STDMETHOD(GetScriptLanguage)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  982.     STDMETHOD(SetScriptLanguage)(THIS_ DTS_IN BSTR NewValue) PURE;
  983.     STDMETHOD(GetAddGlobalVariables)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  984.     STDMETHOD(SetAddGlobalVariables)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  985. };
  986.  
  987. #undef INTERFACE
  988. #define INTERFACE IDTSDataPumpTask
  989. DECLARE_INTERFACE_(IDTSDataPumpTask, IDTSStdObject)
  990. {
  991.     DTSPackage_DISPATCH_BASE(IDTSDataPumpTask)
  992.  
  993.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  994.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  995.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  996.     STDMETHOD(GetDescription)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  997.     STDMETHOD(SetDescription)(THIS_ DTS_IN BSTR NewValue) PURE;
  998.     STDMETHOD(Execute)(THIS_ DTS_IN IDispatch *pPackage,
  999.         DTS_IN IDispatch *pPackageEvents,
  1000.         DTS_IN IDispatch *pPackageLog,
  1001.         DTS_OUT DTSTaskExecResult *pTaskResult) PURE;
  1002.     STDMETHOD(GetSourceConnectionID)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1003.     STDMETHOD(SetSourceConnectionID)(THIS_ DTS_IN LONG NewValue) PURE;
  1004.     STDMETHOD(GetSourceObjectName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1005.     STDMETHOD(SetSourceObjectName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1006.     STDMETHOD(GetSourceSQLStatement)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1007.     STDMETHOD(SetSourceSQLStatement)(THIS_ DTS_IN BSTR NewValue) PURE;
  1008.     STDMETHOD(GetDestinationConnectionID)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1009.     STDMETHOD(SetDestinationConnectionID)(THIS_ DTS_IN LONG NewValue) PURE;
  1010.     STDMETHOD(GetDestinationObjectName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1011.     STDMETHOD(SetDestinationObjectName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1012.     STDMETHOD(GetDestinationSQLStatement)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1013.     STDMETHOD(SetDestinationSQLStatement)(THIS_ DTS_IN BSTR NewValue) PURE;
  1014.     STDMETHOD(GetProgressRowCount)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1015.     STDMETHOD(SetProgressRowCount)(THIS_ DTS_IN LONG NewValue) PURE;
  1016.     STDMETHOD(GetMaximumErrorCount)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1017.     STDMETHOD(SetMaximumErrorCount)(THIS_ DTS_IN LONG NewValue) PURE;
  1018.     STDMETHOD(GetExceptionFileName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1019.     STDMETHOD(SetExceptionFileName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1020.     STDMETHOD(GetFetchBufferSize)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1021.     STDMETHOD(SetFetchBufferSize)(THIS_ DTS_IN LONG NewValue) PURE;
  1022.     STDMETHOD(GetSourceCommandProperties)(THIS_ DTS_RETVAL IDTSOleDBProperties **pRetVal) PURE;
  1023.     STDMETHOD(GetDestinationCommandProperties)(THIS_ DTS_RETVAL IDTSOleDBProperties **pRetVal) PURE;
  1024.     STDMETHOD(GetTransformations)(THIS_ DTS_RETVAL IDTSTransformations **pRetVal) PURE;
  1025.     STDMETHOD(GetUseFastLoad)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1026.     STDMETHOD(SetUseFastLoad)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1027.     STDMETHOD(GetInsertCommitSize)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1028.     STDMETHOD(SetInsertCommitSize)(THIS_ DTS_IN LONG NewValue) PURE;
  1029.     STDMETHOD(GetDestinationColumnDefinitions)(THIS_ DTS_RETVAL IDTSColumns **pRetVal) PURE;
  1030.     STDMETHOD(GetExceptionFileColumnDelimiter)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1031.     STDMETHOD(SetExceptionFileColumnDelimiter)(THIS_ DTS_IN BSTR NewValue) PURE;
  1032.     STDMETHOD(GetExceptionFileRowDelimiter)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1033.     STDMETHOD(SetExceptionFileRowDelimiter)(THIS_ DTS_IN BSTR NewValue) PURE;
  1034.     STDMETHOD(GetLookups)(THIS_ DTS_RETVAL IDTSLookups **pRetVal) PURE;
  1035.     STDMETHOD(GetAllowIdentityInserts)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1036.     STDMETHOD(SetAllowIdentityInserts)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1037.     STDMETHOD(GetFirstRow)(THIS_ DTS_RETVAL VARIANT *pRetVal) PURE;
  1038.     STDMETHOD(SetFirstRow)(THIS_ DTS_IN VARIANT NewValue) PURE;
  1039.     STDMETHOD(GetLastRow)(THIS_ DTS_RETVAL VARIANT *pRetVal) PURE;
  1040.     STDMETHOD(SetLastRow)(THIS_ DTS_IN VARIANT NewValue) PURE;
  1041.     STDMETHOD(GetFastLoadOptions)(THIS_ DTS_RETVAL DTSFastLoadOptions *pRetVal) PURE;
  1042.     STDMETHOD(SetFastLoadOptions)(THIS_ DTS_IN DTSFastLoadOptions NewValue) PURE;
  1043. };
  1044.  
  1045. #undef INTERFACE
  1046. #define INTERFACE IDTSCreateProcessTask
  1047. DECLARE_INTERFACE_(IDTSCreateProcessTask, IDTSStdObject)
  1048. {
  1049.     DTSPackage_DISPATCH_BASE(IDTSCreateProcessTask)
  1050.  
  1051.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  1052.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1053.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1054.     STDMETHOD(GetDescription)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1055.     STDMETHOD(SetDescription)(THIS_ DTS_IN BSTR NewValue) PURE;
  1056.     STDMETHOD(Execute)(THIS_ DTS_IN IDispatch *pPackage,
  1057.         DTS_IN IDispatch *pPackageEvents,
  1058.         DTS_IN IDispatch *pPackageLog,
  1059.         DTS_OUT DTSTaskExecResult *pTaskResult) PURE;
  1060.     STDMETHOD(GetProcessCommandLine)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1061.     STDMETHOD(SetProcessCommandLine)(THIS_ DTS_IN BSTR NewValue) PURE;
  1062.     STDMETHOD(GetSuccessReturnCode)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1063.     STDMETHOD(SetSuccessReturnCode)(THIS_ DTS_IN LONG NewValue) PURE;
  1064.     STDMETHOD(GetTimeout)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1065.     STDMETHOD(SetTimeout)(THIS_ DTS_IN LONG NewValue) PURE;
  1066.     STDMETHOD(GetTerminateProcessAfterTimeout)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1067.     STDMETHOD(SetTerminateProcessAfterTimeout)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1068.     STDMETHOD(GetFailPackageOnTimeout)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1069.     STDMETHOD(SetFailPackageOnTimeout)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1070. };
  1071.  
  1072. #undef INTERFACE
  1073. #define INTERFACE IDTSExecuteSQLTask
  1074. DECLARE_INTERFACE_(IDTSExecuteSQLTask, IDTSStdObject)
  1075. {
  1076.     DTSPackage_DISPATCH_BASE(IDTSExecuteSQLTask)
  1077.  
  1078.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  1079.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1080.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1081.     STDMETHOD(GetDescription)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1082.     STDMETHOD(SetDescription)(THIS_ DTS_IN BSTR NewValue) PURE;
  1083.     STDMETHOD(Execute)(THIS_ DTS_IN IDispatch *pPackage,
  1084.         DTS_IN IDispatch *pPackageEvents,
  1085.         DTS_IN IDispatch *pPackageLog,
  1086.         DTS_OUT DTSTaskExecResult *pTaskResult) PURE;
  1087.     STDMETHOD(GetSQLStatement)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1088.     STDMETHOD(SetSQLStatement)(THIS_ DTS_IN BSTR NewValue) PURE;
  1089.     STDMETHOD(GetConnectionID)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1090.     STDMETHOD(SetConnectionID)(THIS_ DTS_IN LONG NewValue) PURE;
  1091.     STDMETHOD(GetCommandTimeout)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1092.     STDMETHOD(SetCommandTimeout)(THIS_ DTS_IN LONG NewValue) PURE;
  1093.     STDMETHOD(GetCommandProperties)(THIS_ DTS_RETVAL IDTSOleDBProperties **pRetVal) PURE;
  1094. };
  1095.  
  1096. #undef INTERFACE
  1097. #define INTERFACE IDTSDataDrivenQueryTask
  1098. DECLARE_INTERFACE_(IDTSDataDrivenQueryTask, IDTSStdObject)
  1099. {
  1100.     DTSPackage_DISPATCH_BASE(IDTSDataDrivenQueryTask)
  1101.  
  1102.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  1103.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1104.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1105.     STDMETHOD(GetDescription)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1106.     STDMETHOD(SetDescription)(THIS_ DTS_IN BSTR NewValue) PURE;
  1107.     STDMETHOD(Execute)(THIS_ DTS_IN IDispatch *pPackage,
  1108.         DTS_IN IDispatch *pPackageEvents,
  1109.         DTS_IN IDispatch *pPackageLog,
  1110.         DTS_OUT DTSTaskExecResult *pTaskResult) PURE;
  1111.     STDMETHOD(GetSourceConnectionID)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1112.     STDMETHOD(SetSourceConnectionID)(THIS_ DTS_IN LONG NewValue) PURE;
  1113.     STDMETHOD(GetSourceObjectName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1114.     STDMETHOD(SetSourceObjectName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1115.     STDMETHOD(GetSourceSQLStatement)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1116.     STDMETHOD(SetSourceSQLStatement)(THIS_ DTS_IN BSTR NewValue) PURE;
  1117.     STDMETHOD(GetDestinationConnectionID)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1118.     STDMETHOD(SetDestinationConnectionID)(THIS_ DTS_IN LONG NewValue) PURE;
  1119.     STDMETHOD(GetDestinationObjectName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1120.     STDMETHOD(SetDestinationObjectName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1121.     STDMETHOD(GetDestinationSQLStatement)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1122.     STDMETHOD(SetDestinationSQLStatement)(THIS_ DTS_IN BSTR NewValue) PURE;
  1123.     STDMETHOD(GetProgressRowCount)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1124.     STDMETHOD(SetProgressRowCount)(THIS_ DTS_IN LONG NewValue) PURE;
  1125.     STDMETHOD(GetMaximumErrorCount)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1126.     STDMETHOD(SetMaximumErrorCount)(THIS_ DTS_IN LONG NewValue) PURE;
  1127.     STDMETHOD(GetExceptionFileName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1128.     STDMETHOD(SetExceptionFileName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1129.     STDMETHOD(GetFetchBufferSize)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1130.     STDMETHOD(SetFetchBufferSize)(THIS_ DTS_IN LONG NewValue) PURE;
  1131.     STDMETHOD(GetSourceCommandProperties)(THIS_ DTS_RETVAL IDTSOleDBProperties **pRetVal) PURE;
  1132.     STDMETHOD(GetDestinationCommandProperties)(THIS_ DTS_RETVAL IDTSOleDBProperties **pRetVal) PURE;
  1133.     STDMETHOD(GetTransformations)(THIS_ DTS_RETVAL IDTSTransformations **pRetVal) PURE;
  1134.     STDMETHOD(GetLookups)(THIS_ DTS_RETVAL IDTSLookups **pRetVal) PURE;
  1135.     STDMETHOD(GetDestinationColumnDefinitions)(THIS_ DTS_RETVAL IDTSColumns **pRetVal) PURE;
  1136.     STDMETHOD(GetInsertQuery)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1137.     STDMETHOD(SetInsertQuery)(THIS_ DTS_IN BSTR NewValue) PURE;
  1138.     STDMETHOD(GetInsertQueryColumns)(THIS_ DTS_RETVAL IDTSColumns **pRetVal) PURE;
  1139.     STDMETHOD(GetUpdateQuery)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1140.     STDMETHOD(SetUpdateQuery)(THIS_ DTS_IN BSTR NewValue) PURE;
  1141.     STDMETHOD(GetUpdateQueryColumns)(THIS_ DTS_RETVAL IDTSColumns **pRetVal) PURE;
  1142.     STDMETHOD(GetDeleteQuery)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1143.     STDMETHOD(SetDeleteQuery)(THIS_ DTS_IN BSTR NewValue) PURE;
  1144.     STDMETHOD(GetDeleteQueryColumns)(THIS_ DTS_RETVAL IDTSColumns **pRetVal) PURE;
  1145.     STDMETHOD(GetUserQuery)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1146.     STDMETHOD(SetUserQuery)(THIS_ DTS_IN BSTR NewValue) PURE;
  1147.     STDMETHOD(GetUserQueryColumns)(THIS_ DTS_RETVAL IDTSColumns **pRetVal) PURE;
  1148.     STDMETHOD(GetExceptionFileColumnDelimiter)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1149.     STDMETHOD(SetExceptionFileColumnDelimiter)(THIS_ DTS_IN BSTR NewValue) PURE;
  1150.     STDMETHOD(GetExceptionFileRowDelimiter)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1151.     STDMETHOD(SetExceptionFileRowDelimiter)(THIS_ DTS_IN BSTR NewValue) PURE;
  1152.     STDMETHOD(GetFirstRow)(THIS_ DTS_RETVAL VARIANT *pRetVal) PURE;
  1153.     STDMETHOD(SetFirstRow)(THIS_ DTS_IN VARIANT NewValue) PURE;
  1154.     STDMETHOD(GetLastRow)(THIS_ DTS_RETVAL VARIANT *pRetVal) PURE;
  1155.     STDMETHOD(SetLastRow)(THIS_ DTS_IN VARIANT NewValue) PURE;
  1156. };
  1157.  
  1158. #undef INTERFACE
  1159. #define INTERFACE IDTSTransferObjectsTask
  1160. DECLARE_INTERFACE_(IDTSTransferObjectsTask, IDTSStdObject)
  1161. {
  1162.     DTSPackage_DISPATCH_BASE(IDTSTransferObjectsTask)
  1163.  
  1164.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  1165.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1166.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1167.     STDMETHOD(GetDescription)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1168.     STDMETHOD(SetDescription)(THIS_ DTS_IN BSTR NewValue) PURE;
  1169.     STDMETHOD(Execute)(THIS_ DTS_IN IDispatch *pPackage,
  1170.         DTS_IN IDispatch *pPackageEvents,
  1171.         DTS_IN IDispatch *pPackageLog,
  1172.         DTS_OUT DTSTaskExecResult *pTaskResult) PURE;
  1173.     STDMETHOD(AddObjectForTransfer)(THIS_ DTS_IN BSTR ObjectName,
  1174.         DTS_IN BSTR OwnerName,
  1175.         DTS_IN DTSSQLObjectType Type) PURE;
  1176.     STDMETHOD(GetObjectForTransfer)(THIS_ DTS_IN LONG Index,
  1177.         DTS_OUT BSTR *ObjectName,
  1178.         DTS_OUT BSTR *OwnerName,
  1179.         DTS_OUT DTSSQLObjectType *Type) PURE;
  1180.     STDMETHOD(ResetObjectsList)(THIS) PURE;
  1181.     STDMETHOD(CancelExecution)(THIS) PURE;
  1182.     STDMETHOD(GetSourceServer)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1183.     STDMETHOD(SetSourceServer)(THIS_ DTS_IN BSTR NewValue) PURE;
  1184.     STDMETHOD(GetSourceLogin)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1185.     STDMETHOD(SetSourceLogin)(THIS_ DTS_IN BSTR NewValue) PURE;
  1186.     STDMETHOD(GetSourcePassword)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1187.     STDMETHOD(SetSourcePassword)(THIS_ DTS_IN BSTR NewValue) PURE;
  1188.     STDMETHOD(GetSourceUseTrustedConnection)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1189.     STDMETHOD(SetSourceUseTrustedConnection)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1190.     STDMETHOD(GetSourceDatabase)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1191.     STDMETHOD(SetSourceDatabase)(THIS_ DTS_IN BSTR NewValue) PURE;
  1192.     STDMETHOD(GetDestinationServer)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1193.     STDMETHOD(SetDestinationServer)(THIS_ DTS_IN BSTR NewValue) PURE;
  1194.     STDMETHOD(GetDestinationLogin)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1195.     STDMETHOD(SetDestinationLogin)(THIS_ DTS_IN BSTR NewValue) PURE;
  1196.     STDMETHOD(GetDestinationPassword)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1197.     STDMETHOD(SetDestinationPassword)(THIS_ DTS_IN BSTR NewValue) PURE;
  1198.     STDMETHOD(GetDestinationUseTrustedConnection)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1199.     STDMETHOD(SetDestinationUseTrustedConnection)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1200.     STDMETHOD(GetDestinationDatabase)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1201.     STDMETHOD(SetDestinationDatabase)(THIS_ DTS_IN BSTR NewValue) PURE;
  1202.     STDMETHOD(GetScriptFileDirectory)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1203.     STDMETHOD(SetScriptFileDirectory)(THIS_ DTS_IN BSTR NewValue) PURE;
  1204.     STDMETHOD(GetCopyAllObjects)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1205.     STDMETHOD(SetCopyAllObjects)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1206.     STDMETHOD(GetIncludeDependencies)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1207.     STDMETHOD(SetIncludeDependencies)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1208.     STDMETHOD(GetIncludeLogins)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1209.     STDMETHOD(SetIncludeLogins)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1210.     STDMETHOD(GetIncludeUsers)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1211.     STDMETHOD(SetIncludeUsers)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1212.     STDMETHOD(GetDropDestinationObjectsFirst)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1213.     STDMETHOD(SetDropDestinationObjectsFirst)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1214.     STDMETHOD(GetCopySchema)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1215.     STDMETHOD(SetCopySchema)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1216.     STDMETHOD(GetCopyData)(THIS_ DTS_RETVAL DTSTransfer_CopyDataOption *pRetVal) PURE;
  1217.     STDMETHOD(SetCopyData)(THIS_ DTS_IN DTSTransfer_CopyDataOption NewValue) PURE;
  1218.     STDMETHOD(GetScriptOption)(THIS_ DTS_RETVAL DTSTransfer_ScriptOption *pRetVal) PURE;
  1219.     STDMETHOD(SetScriptOption)(THIS_ DTS_IN DTSTransfer_ScriptOption NewValue) PURE;
  1220.     STDMETHOD(GetScriptOptionEx)(THIS_ DTS_RETVAL DTSTransfer_ScriptOptionEx *pRetVal) PURE;
  1221.     STDMETHOD(SetScriptOptionEx)(THIS_ DTS_IN DTSTransfer_ScriptOptionEx NewValue) PURE;
  1222. };
  1223.  
  1224. #undef INTERFACE
  1225. #define INTERFACE IDTSSendMailTask
  1226. DECLARE_INTERFACE_(IDTSSendMailTask, IDTSStdObject)
  1227. {
  1228.     DTSPackage_DISPATCH_BASE(IDTSSendMailTask)
  1229.  
  1230.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  1231.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1232.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1233.     STDMETHOD(GetDescription)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1234.     STDMETHOD(SetDescription)(THIS_ DTS_IN BSTR NewValue) PURE;
  1235.     STDMETHOD(Execute)(THIS_ DTS_IN IDispatch *pPackage,
  1236.         DTS_IN IDispatch *pPackageEvents,
  1237.         DTS_IN IDispatch *pPackageLog,
  1238.         DTS_OUT DTSTaskExecResult *pTaskResult) PURE;
  1239.     STDMETHOD(InitializeMAPI)(THIS) PURE;
  1240.     STDMETHOD(UnInitializeMAPI)(THIS) PURE;
  1241.     STDMETHOD(Logon)(THIS_ DTS_RETVAL BSTR *ErrorString) PURE;
  1242.     STDMETHOD(Logoff)(THIS) PURE;
  1243.     STDMETHOD(ResolveName)(THIS_ DTS_IN BSTR Address,
  1244.         DTS_RETVAL BSTR *ErrorString) PURE;
  1245.     STDMETHOD(GetDefaultProfileName)(THIS_ DTS_RETVAL BSTR *DefaultProfile) PURE;
  1246.     STDMETHOD(ShowAddressBook)(THIS_ DTS_IN long hwndParent,
  1247.         DTS_RETVAL BSTR *Address) PURE;
  1248.     STDMETHOD(GetProfile)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1249.     STDMETHOD(SetProfile)(THIS_ DTS_IN BSTR NewValue) PURE;
  1250.     STDMETHOD(GetPassword)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1251.     STDMETHOD(SetPassword)(THIS_ DTS_IN BSTR NewValue) PURE;
  1252.     STDMETHOD(GetToLine)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1253.     STDMETHOD(SetToLine)(THIS_ DTS_IN BSTR NewValue) PURE;
  1254.     STDMETHOD(GetCCLine)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1255.     STDMETHOD(SetCCLine)(THIS_ DTS_IN BSTR NewValue) PURE;
  1256.     STDMETHOD(GetSubject)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1257.     STDMETHOD(SetSubject)(THIS_ DTS_IN BSTR NewValue) PURE;
  1258.     STDMETHOD(GetMessageText)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1259.     STDMETHOD(SetMessageText)(THIS_ DTS_IN BSTR NewValue) PURE;
  1260.     STDMETHOD(GetFileAttachments)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1261.     STDMETHOD(SetFileAttachments)(THIS_ DTS_IN BSTR NewValue) PURE;
  1262.     STDMETHOD(GetIsNTService)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1263.     STDMETHOD(SetIsNTService)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1264.     STDMETHOD(GetSaveMailInSentItemsFolder)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1265.     STDMETHOD(SetSaveMailInSentItemsFolder)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1266. };
  1267.  
  1268. #undef INTERFACE
  1269. #define INTERFACE IDTSBulkInsertTask
  1270. DECLARE_INTERFACE_(IDTSBulkInsertTask, IDTSStdObject)
  1271. {
  1272.     DTSPackage_DISPATCH_BASE(IDTSBulkInsertTask)
  1273.  
  1274.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  1275.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1276.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1277.     STDMETHOD(GetDescription)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1278.     STDMETHOD(SetDescription)(THIS_ DTS_IN BSTR NewValue) PURE;
  1279.     STDMETHOD(Execute)(THIS_ DTS_IN IDispatch *pPackage,
  1280.         DTS_IN IDispatch *pPackageEvents,
  1281.         DTS_IN IDispatch *pPackageLog,
  1282.         DTS_OUT DTSTaskExecResult *pTaskResult) PURE;
  1283.     STDMETHOD(GetDestinationTableName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1284.     STDMETHOD(SetDestinationTableName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1285.     STDMETHOD(GetConnectionID)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1286.     STDMETHOD(SetConnectionID)(THIS_ DTS_IN LONG NewValue) PURE;
  1287.     STDMETHOD(GetBatchSize)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1288.     STDMETHOD(SetBatchSize)(THIS_ DTS_IN LONG NewValue) PURE;
  1289.     STDMETHOD(GetCheckConstraints)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1290.     STDMETHOD(SetCheckConstraints)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1291.     STDMETHOD(GetCodepage)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1292.     STDMETHOD(SetCodepage)(THIS_ DTS_IN BSTR NewValue) PURE;
  1293.     STDMETHOD(GetDataFile)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1294.     STDMETHOD(SetDataFile)(THIS_ DTS_IN BSTR NewValue) PURE;
  1295.     STDMETHOD(GetDataFileType)(THIS_ DTS_RETVAL DTSBulkInsert_DataFileType *pRetVal) PURE;
  1296.     STDMETHOD(SetDataFileType)(THIS_ DTS_IN DTSBulkInsert_DataFileType NewValue) PURE;
  1297.     STDMETHOD(GetFieldTerminator)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1298.     STDMETHOD(SetFieldTerminator)(THIS_ DTS_IN BSTR NewValue) PURE;
  1299.     STDMETHOD(GetRowTerminator)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1300.     STDMETHOD(SetRowTerminator)(THIS_ DTS_IN BSTR NewValue) PURE;
  1301.     STDMETHOD(GetFormatFile)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1302.     STDMETHOD(SetFormatFile)(THIS_ DTS_IN BSTR NewValue) PURE;
  1303.     STDMETHOD(GetFirstRow)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1304.     STDMETHOD(SetFirstRow)(THIS_ DTS_IN LONG NewValue) PURE;
  1305.     STDMETHOD(GetLastRow)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1306.     STDMETHOD(SetLastRow)(THIS_ DTS_IN LONG NewValue) PURE;
  1307.     STDMETHOD(GetKeepIdentity)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1308.     STDMETHOD(SetKeepIdentity)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1309.     STDMETHOD(GetKeepNulls)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1310.     STDMETHOD(SetKeepNulls)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1311.     STDMETHOD(GetMaximumErrors)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1312.     STDMETHOD(SetMaximumErrors)(THIS_ DTS_IN LONG NewValue) PURE;
  1313.     STDMETHOD(GetSortedData)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1314.     STDMETHOD(SetSortedData)(THIS_ DTS_IN BSTR NewValue) PURE;
  1315.     STDMETHOD(GetTableLock)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1316.     STDMETHOD(SetTableLock)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1317. };
  1318.  
  1319. #undef INTERFACE
  1320. #define INTERFACE IDTSGlobalVariables
  1321. DECLARE_INTERFACE_(IDTSGlobalVariables, IDTSStdObject)
  1322. {
  1323.     DTSPackage_DISPATCH_BASE(IDTSGlobalVariables)
  1324.  
  1325.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  1326.     STDMETHOD(Item)(THIS_ DTS_IN VARIANT Index,
  1327.         DTS_RETVAL IDTSGlobalVariable **pRetVal) PURE;
  1328.     STDMETHOD(Get_NewEnum)(THIS_ DTS_RETVAL IUnknown **ppEnum) PURE;
  1329.     STDMETHOD(GetCount)(THIS_ DTS_RETVAL long *pRetVal) PURE;
  1330.     STDMETHOD(Add)(THIS_ DTS_IN IDTSGlobalVariable *Object) PURE;
  1331.     STDMETHOD(Remove)(THIS_ DTS_IN VARIANT Index) PURE;
  1332.     STDMETHOD(Insert)(THIS_ DTS_IN VARIANT Position,
  1333.         DTS_IN IDTSGlobalVariable *Object) PURE;
  1334.     STDMETHOD(New)(THIS_ DTS_IN BSTR Name,
  1335.         DTS_RETVAL IDTSGlobalVariable **pRetVal) PURE;
  1336.     STDMETHOD(AddGlobalVariable)(THIS_ DTS_IN BSTR Name,
  1337.         DTS_IN VARIANT Value) PURE;
  1338. };
  1339.  
  1340. #undef INTERFACE
  1341. #define INTERFACE IDTSGlobalVariable
  1342. DECLARE_INTERFACE_(IDTSGlobalVariable, IDTSStdObject)
  1343. {
  1344.     DTSPackage_DISPATCH_BASE(IDTSGlobalVariable)
  1345.  
  1346.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  1347.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  1348.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1349.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1350.     STDMETHOD(GetValue)(THIS_ DTS_RETVAL VARIANT *pRetVal) PURE;
  1351.     STDMETHOD(SetValue)(THIS_ DTS_IN VARIANT NewValue) PURE;
  1352. };
  1353.  
  1354. #undef INTERFACE
  1355. #define INTERFACE IDTSPrecedenceConstraints
  1356. DECLARE_INTERFACE_(IDTSPrecedenceConstraints, IDTSStdObject)
  1357. {
  1358.     DTSPackage_DISPATCH_BASE(IDTSPrecedenceConstraints)
  1359.  
  1360.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  1361.     STDMETHOD(Item)(THIS_ DTS_IN VARIANT Index,
  1362.         DTS_RETVAL IDTSPrecedenceConstraint **pRetVal) PURE;
  1363.     STDMETHOD(Get_NewEnum)(THIS_ DTS_RETVAL IUnknown **ppEnum) PURE;
  1364.     STDMETHOD(GetCount)(THIS_ DTS_RETVAL long *pRetVal) PURE;
  1365.     STDMETHOD(Add)(THIS_ DTS_IN IDTSPrecedenceConstraint *Object) PURE;
  1366.     STDMETHOD(Remove)(THIS_ DTS_IN VARIANT Index) PURE;
  1367.     STDMETHOD(Insert)(THIS_ DTS_IN VARIANT Position,
  1368.         DTS_IN IDTSPrecedenceConstraint *Object) PURE;
  1369.     STDMETHOD(New)(THIS_ DTS_IN BSTR StepName,
  1370.         DTS_RETVAL IDTSPrecedenceConstraint **pRetVal) PURE;
  1371.     STDMETHOD(AddConstraint)(THIS_ DTS_IN BSTR StepName) PURE;
  1372. };
  1373.  
  1374. #undef INTERFACE
  1375. #define INTERFACE IDTSPrecedenceConstraint
  1376. DECLARE_INTERFACE_(IDTSPrecedenceConstraint, IDTSStdObject)
  1377. {
  1378.     DTSPackage_DISPATCH_BASE(IDTSPrecedenceConstraint)
  1379.  
  1380.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  1381.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  1382.     STDMETHOD(GetStepName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1383.     STDMETHOD(SetStepName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1384.     STDMETHOD(GetPrecedenceBasis)(THIS_ DTS_RETVAL DTSStepPrecedenceBasis *pRetVal) PURE;
  1385.     STDMETHOD(SetPrecedenceBasis)(THIS_ DTS_IN DTSStepPrecedenceBasis NewValue) PURE;
  1386.     STDMETHOD(GetValue)(THIS_ DTS_RETVAL VARIANT *pRetVal) PURE;
  1387.     STDMETHOD(SetValue)(THIS_ DTS_IN VARIANT NewValue) PURE;
  1388. };
  1389.  
  1390. #undef INTERFACE
  1391. #define INTERFACE IDTSOleDBProperties
  1392. DECLARE_INTERFACE_(IDTSOleDBProperties, IDTSStdObject)
  1393. {
  1394.     DTSPackage_DISPATCH_BASE(IDTSOleDBProperties)
  1395.  
  1396.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  1397.     STDMETHOD(Item)(THIS_ DTS_IN VARIANT Index,
  1398.         DTS_RETVAL IDTSOleDBProperty **pRetVal) PURE;
  1399.     STDMETHOD(Get_NewEnum)(THIS_ DTS_RETVAL IUnknown **ppEnum) PURE;
  1400.     STDMETHOD(GetCount)(THIS_ DTS_RETVAL long *pRetVal) PURE;
  1401. };
  1402.  
  1403. #undef INTERFACE
  1404. #define INTERFACE IDTSOleDBProperty
  1405. DECLARE_INTERFACE_(IDTSOleDBProperty, IDTSStdObject)
  1406. {
  1407.     DTSPackage_DISPATCH_BASE(IDTSOleDBProperty)
  1408.  
  1409.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  1410.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  1411.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1412.     STDMETHOD(GetValue)(THIS_ DTS_RETVAL VARIANT *pRetVal) PURE;
  1413.     STDMETHOD(SetValue)(THIS_ DTS_IN VARIANT NewValue) PURE;
  1414.     STDMETHOD(GetPropertySet)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1415.     STDMETHOD(GetPropertyID)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1416. };
  1417.  
  1418. #undef INTERFACE
  1419. #define INTERFACE IDTSConnections
  1420. DECLARE_INTERFACE_(IDTSConnections, IDTSStdObject)
  1421. {
  1422.     DTSPackage_DISPATCH_BASE(IDTSConnections)
  1423.  
  1424.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  1425.     STDMETHOD(Item)(THIS_ DTS_IN VARIANT Index,
  1426.         DTS_RETVAL IDTSConnection **pRetVal) PURE;
  1427.     STDMETHOD(Get_NewEnum)(THIS_ DTS_RETVAL IUnknown **ppEnum) PURE;
  1428.     STDMETHOD(GetCount)(THIS_ DTS_RETVAL long *pRetVal) PURE;
  1429.     STDMETHOD(Add)(THIS_ DTS_IN IDTSConnection *Object) PURE;
  1430.     STDMETHOD(Remove)(THIS_ DTS_IN VARIANT Index) PURE;
  1431.     STDMETHOD(Insert)(THIS_ DTS_IN VARIANT Position,
  1432.         DTS_IN IDTSConnection *Object) PURE;
  1433.     STDMETHOD(New)(THIS_ DTS_IN BSTR ProviderID,
  1434.         DTS_RETVAL IDTSConnection **pRetVal) PURE;
  1435.     STDMETHOD(BeginAcquireMultipleConnections)(THIS) PURE;
  1436.     STDMETHOD(EndAcquireMultipleConnections)(THIS) PURE;
  1437.     STDMETHOD(NewDataLink)(THIS_ DTS_IN BSTR UDLPath,
  1438.         DTS_RETVAL IDTSConnection **pRetVal) PURE;
  1439. };
  1440.  
  1441. #undef INTERFACE
  1442. #define INTERFACE IDTSConnection
  1443. DECLARE_INTERFACE_(IDTSConnection, IDTSStdObject)
  1444. {
  1445.     DTSPackage_DISPATCH_BASE(IDTSConnection)
  1446.  
  1447.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  1448.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  1449.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1450.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1451.     STDMETHOD(GetDescription)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1452.     STDMETHOD(SetDescription)(THIS_ DTS_IN BSTR NewValue) PURE;
  1453.     STDMETHOD(GetID)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1454.     STDMETHOD(SetID)(THIS_ DTS_IN LONG NewValue) PURE;
  1455.     STDMETHOD(GetReusable)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1456.     STDMETHOD(SetReusable)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1457.     STDMETHOD(GetConnectImmediate)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1458.     STDMETHOD(SetConnectImmediate)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1459.     STDMETHOD(GetConnected)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1460.     STDMETHOD(GetInUse)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1461.     STDMETHOD(GetConnectionProperties)(THIS_ DTS_RETVAL IDTSOleDBProperties **pRetVal) PURE;
  1462.     STDMETHOD(GetLastOwnerTaskName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1463.     STDMETHOD(GetDataSource)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1464.     STDMETHOD(SetDataSource)(THIS_ DTS_IN BSTR NewValue) PURE;
  1465.     STDMETHOD(GetUserID)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1466.     STDMETHOD(SetUserID)(THIS_ DTS_IN BSTR NewValue) PURE;
  1467.     STDMETHOD(GetPassword)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1468.     STDMETHOD(SetPassword)(THIS_ DTS_IN BSTR NewValue) PURE;
  1469.     STDMETHOD(GetConnectionTimeout)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1470.     STDMETHOD(SetConnectionTimeout)(THIS_ DTS_IN LONG NewValue) PURE;
  1471.     STDMETHOD(GetProviderID)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1472.     STDMETHOD(GetCatalog)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1473.     STDMETHOD(SetCatalog)(THIS_ DTS_IN BSTR NewValue) PURE;
  1474.     STDMETHOD(GetUseTrustedConnection)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1475.     STDMETHOD(SetUseTrustedConnection)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1476.     STDMETHOD(AcquireConnection)(THIS_ DTS_IN BSTR TaskName,
  1477.         DTS_RETVAL LPUNKNOWN *pRetVal) PURE;
  1478.     STDMETHOD(ReleaseConnection)(THIS) PURE;
  1479.     STDMETHOD(GetInTransaction)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1480.     STDMETHOD(GetUseDSL)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1481.     STDMETHOD(SetUseDSL)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1482.     STDMETHOD(GetUDLPath)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1483. };
  1484.  
  1485. #undef INTERFACE
  1486. #define INTERFACE IDTSTransformations
  1487. DECLARE_INTERFACE_(IDTSTransformations, IDTSStdObject)
  1488. {
  1489.     DTSPackage_DISPATCH_BASE(IDTSTransformations)
  1490.  
  1491.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  1492.     STDMETHOD(Item)(THIS_ DTS_IN VARIANT Index,
  1493.         DTS_RETVAL IDTSTransformation **pRetVal) PURE;
  1494.     STDMETHOD(Get_NewEnum)(THIS_ DTS_RETVAL IUnknown **ppEnum) PURE;
  1495.     STDMETHOD(GetCount)(THIS_ DTS_RETVAL long *pRetVal) PURE;
  1496.     STDMETHOD(Add)(THIS_ DTS_IN IDTSTransformation *Object) PURE;
  1497.     STDMETHOD(Remove)(THIS_ DTS_IN VARIANT Index) PURE;
  1498.     STDMETHOD(Insert)(THIS_ DTS_IN VARIANT Position,
  1499.         DTS_IN IDTSTransformation *Object) PURE;
  1500.     STDMETHOD(New)(THIS_ DTS_IN BSTR bstrID,
  1501.         DTS_RETVAL IDTSTransformation **pRetVal) PURE;
  1502. };
  1503.  
  1504. #undef INTERFACE
  1505. #define INTERFACE IDTSTransformation
  1506. DECLARE_INTERFACE_(IDTSTransformation, IDTSStdObject)
  1507. {
  1508.     DTSPackage_DISPATCH_BASE(IDTSTransformation)
  1509.  
  1510.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  1511.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  1512.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1513.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1514.     STDMETHOD(GetTransformServer)(THIS_ DTS_RETVAL IDispatch **pRetVal) PURE;
  1515.     STDMETHOD(GetTransformServerProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  1516.     STDMETHOD(GetTransformServerParameter)(THIS_ DTS_RETVAL VARIANT *pRetVal) PURE;
  1517.     STDMETHOD(SetTransformServerParameter)(THIS_ DTS_IN VARIANT NewValue) PURE;
  1518.     STDMETHOD(GetTransformFlags)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1519.     STDMETHOD(SetTransformFlags)(THIS_ DTS_IN LONG NewValue) PURE;
  1520.     STDMETHOD(GetSourceColumns)(THIS_ DTS_RETVAL IDTSColumns **pRetVal) PURE;
  1521.     STDMETHOD(GetDestinationColumns)(THIS_ DTS_RETVAL IDTSColumns **pRetVal) PURE;
  1522.     STDMETHOD(GetForceSourceBlobsBuffered)(THIS_ DTS_RETVAL DTSForceMode *pRetVal) PURE;
  1523.     STDMETHOD(SetForceSourceBlobsBuffered)(THIS_ DTS_IN DTSForceMode NewValue) PURE;
  1524.     STDMETHOD(GetForceBlobsInMemory)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1525.     STDMETHOD(SetForceBlobsInMemory)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1526.     STDMETHOD(GetInMemoryBlobSize)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1527.     STDMETHOD(SetInMemoryBlobSize)(THIS_ DTS_IN LONG NewValue) PURE;
  1528.     STDMETHOD(GetTransformServerID)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1529. };
  1530.  
  1531. #undef INTERFACE
  1532. #define INTERFACE IDTSColumns
  1533. DECLARE_INTERFACE_(IDTSColumns, IDTSStdObject)
  1534. {
  1535.     DTSPackage_DISPATCH_BASE(IDTSColumns)
  1536.  
  1537.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  1538.     STDMETHOD(Item)(THIS_ DTS_IN VARIANT Index,
  1539.         DTS_RETVAL IDTSColumn **pRetVal) PURE;
  1540.     STDMETHOD(Get_NewEnum)(THIS_ DTS_RETVAL IUnknown **ppEnum) PURE;
  1541.     STDMETHOD(GetCount)(THIS_ DTS_RETVAL long *pRetVal) PURE;
  1542.     STDMETHOD(Add)(THIS_ DTS_IN IDTSColumn *Object) PURE;
  1543.     STDMETHOD(Remove)(THIS_ DTS_IN VARIANT Index) PURE;
  1544.     STDMETHOD(Insert)(THIS_ DTS_IN VARIANT Position,
  1545.         DTS_IN IDTSColumn *Object) PURE;
  1546.     STDMETHOD(New)(THIS_ DTS_IN BSTR Name,
  1547.         DTS_IN long Ordinal,
  1548.         DTS_RETVAL IDTSColumn **pRetVal) PURE;
  1549.     STDMETHOD(AddColumn)(THIS_ DTS_IN BSTR Name,
  1550.         DTS_IN long Ordinal) PURE;
  1551. };
  1552.  
  1553. #undef INTERFACE
  1554. #define INTERFACE IDTSColumn
  1555. DECLARE_INTERFACE_(IDTSColumn, IDTSStdObject)
  1556. {
  1557.     DTSPackage_DISPATCH_BASE(IDTSColumn)
  1558.  
  1559.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  1560.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  1561.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1562.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1563.     STDMETHOD(GetOrdinal)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1564.     STDMETHOD(SetOrdinal)(THIS_ DTS_IN LONG NewValue) PURE;
  1565.     STDMETHOD(GetFlags)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1566.     STDMETHOD(SetFlags)(THIS_ DTS_IN LONG NewValue) PURE;
  1567.     STDMETHOD(GetSize)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1568.     STDMETHOD(SetSize)(THIS_ DTS_IN LONG NewValue) PURE;
  1569.     STDMETHOD(GetDataType)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1570.     STDMETHOD(SetDataType)(THIS_ DTS_IN LONG NewValue) PURE;
  1571.     STDMETHOD(GetPrecision)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1572.     STDMETHOD(SetPrecision)(THIS_ DTS_IN LONG NewValue) PURE;
  1573.     STDMETHOD(GetNumericScale)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1574.     STDMETHOD(SetNumericScale)(THIS_ DTS_IN LONG NewValue) PURE;
  1575.     STDMETHOD(GetNullable)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1576.     STDMETHOD(SetNullable)(THIS_ DTS_IN VARIANT_BOOL NewValue) PURE;
  1577.     STDMETHOD(GetColumnID)(THIS_ DTS_RETVAL VARIANT *pRetVal) PURE;
  1578.     STDMETHOD(SetColumnID)(THIS_ DTS_IN VARIANT NewValue) PURE;
  1579. };
  1580.  
  1581. #undef INTERFACE
  1582. #define INTERFACE IDTSLookups
  1583. DECLARE_INTERFACE_(IDTSLookups, IDTSStdObject)
  1584. {
  1585.     DTSPackage_DISPATCH_BASE(IDTSLookups)
  1586.  
  1587.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  1588.     STDMETHOD(Item)(THIS_ DTS_IN VARIANT Index,
  1589.         DTS_RETVAL IDTSLookup **pRetVal) PURE;
  1590.     STDMETHOD(Get_NewEnum)(THIS_ DTS_RETVAL IUnknown **ppEnum) PURE;
  1591.     STDMETHOD(GetCount)(THIS_ DTS_RETVAL long *pRetVal) PURE;
  1592.     STDMETHOD(Add)(THIS_ DTS_IN IDTSLookup *Object) PURE;
  1593.     STDMETHOD(Remove)(THIS_ DTS_IN VARIANT Index) PURE;
  1594.     STDMETHOD(Insert)(THIS_ DTS_IN VARIANT Position,
  1595.         DTS_IN IDTSLookup *Object) PURE;
  1596.     STDMETHOD(New)(THIS_ DTS_IN BSTR Name,
  1597.         DTS_RETVAL IDTSLookup **pRetVal) PURE;
  1598.     STDMETHOD(AddLookup)(THIS_ DTS_IN BSTR Name,
  1599.         DTS_IN BSTR Query,
  1600.         DTS_IN long ConnectionID,
  1601.         DTS_IN long MaxCacheRows) PURE;
  1602. };
  1603.  
  1604. #undef INTERFACE
  1605. #define INTERFACE IDTSLookup
  1606. DECLARE_INTERFACE_(IDTSLookup, IDTSStdObject)
  1607. {
  1608.     DTSPackage_DISPATCH_BASE(IDTSLookup)
  1609.  
  1610.     STDMETHOD(GetParent)(THIS_ DTS_RETVAL IDTSStdObject **pRetVal) PURE;
  1611.     STDMETHOD(GetProperties)(THIS_ DTS_RETVAL IDTSProperties **pRetVal) PURE;
  1612.     STDMETHOD(GetName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1613.     STDMETHOD(SetName)(THIS_ DTS_IN BSTR NewValue) PURE;
  1614.     STDMETHOD(GetConnectionID)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1615.     STDMETHOD(SetConnectionID)(THIS_ DTS_IN LONG NewValue) PURE;
  1616.     STDMETHOD(GetQuery)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1617.     STDMETHOD(SetQuery)(THIS_ DTS_IN BSTR NewValue) PURE;
  1618.     STDMETHOD(GetMaxCacheRows)(THIS_ DTS_RETVAL LONG *pRetVal) PURE;
  1619.     STDMETHOD(SetMaxCacheRows)(THIS_ DTS_IN LONG NewValue) PURE;
  1620. };
  1621.  
  1622. #undef INTERFACE
  1623. #define INTERFACE IDTSSavedPackageInfo
  1624. DECLARE_INTERFACE_(IDTSSavedPackageInfo, IDTSStdObject)
  1625. {
  1626.     DTSPackage_DISPATCH_BASE(IDTSSavedPackageInfo)
  1627.  
  1628.     STDMETHOD(GetPackageName)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1629.     STDMETHOD(GetDescription)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1630.     STDMETHOD(GetPackageID)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1631.     STDMETHOD(GetVersionID)(THIS_ DTS_RETVAL BSTR *pRetVal) PURE;
  1632.     STDMETHOD(GetPackageCreationDate)(THIS_ DTS_RETVAL DATE *pRetVal) PURE;
  1633.     STDMETHOD(GetVersionSaveDate)(THIS_ DTS_RETVAL DATE *pRetVal) PURE;
  1634.     STDMETHOD(GetIsVersionEncrypted)(THIS_ DTS_RETVAL VARIANT_BOOL *pRetVal) PURE;
  1635. };
  1636.  
  1637. #undef INTERFACE
  1638. #define INTERFACE IDTSSavedPackageInfos
  1639. DECLARE_INTERFACE_(IDTSSavedPackageInfos, IDTSStdObject)
  1640. {
  1641.     DTSPackage_DISPATCH_BASE(IDTSSavedPackageInfos)
  1642.  
  1643.     STDMETHOD(Item)(THIS_ DTS_IN VARIANT Index,
  1644.         DTS_RETVAL IDTSSavedPackageInfo **pRetVal) PURE;
  1645.     STDMETHOD(Get_NewEnum)(THIS_ DTS_RETVAL IUnknown **ppEnum) PURE;
  1646.     STDMETHOD(GetCount)(THIS_ DTS_RETVAL long *pRetVal) PURE;
  1647. };
  1648.  
  1649. #undef INTERFACE
  1650. #define INTERFACE IDTSPropertyBag
  1651. DECLARE_INTERFACE_(IDTSPropertyBag, IDTSStdObject)
  1652. {
  1653.     DTSPackage_DISPATCH_BASE(IDTSPropertyBag)
  1654.  
  1655.     STDMETHOD(Read)(THIS_ DTS_IN BSTR bstrPropertyName,
  1656.         DTS_RETVAL VARIANT *pValue) PURE;
  1657.     STDMETHOD(Write)(THIS_ DTS_IN BSTR bstrPropertyName,
  1658.         DTS_IN VARIANT Value) PURE;
  1659. };
  1660.  
  1661. #undef INTERFACE
  1662. #define INTERFACE IDTSPersistPropertyBag
  1663. DECLARE_INTERFACE_(IDTSPersistPropertyBag, IDTSStdObject)
  1664. {
  1665.     DTSPackage_DISPATCH_BASE(IDTSPersistPropertyBag)
  1666.  
  1667.     STDMETHOD(Load)(THIS_ DTS_IN IDTSPropertyBag *IDTSPropertyBag) PURE;
  1668.     STDMETHOD(Save)(THIS_ DTS_IN IDTSPropertyBag *IDTSPropertyBag) PURE;
  1669. };
  1670.  
  1671. #undef INTERFACE
  1672. #define INTERFACE IDTSPackageEvents
  1673. DECLARE_INTERFACE_(IDTSPackageEvents, IDTSStdObject)
  1674. {
  1675.     DTSPackage_DISPATCH_BASE(IDTSPackageEvents)
  1676.  
  1677.     STDMETHOD(OnStart)(THIS_ DTS_IN BSTR EventSource) PURE;
  1678.     STDMETHOD(OnFinish)(THIS_ DTS_IN BSTR EventSource) PURE;
  1679.     STDMETHOD(OnError)(THIS_ DTS_IN BSTR EventSource,
  1680.         DTS_IN long ErrorCode,
  1681.         DTS_IN BSTR Source,
  1682.         DTS_IN BSTR Description,
  1683.         DTS_IN BSTR HelpFile,
  1684.         DTS_IN long HelpContext,
  1685.         DTS_IN BSTR IDofInterfaceWithError,
  1686.         DTS_OUT VARIANT_BOOL *pbCancel) PURE;
  1687.     STDMETHOD(OnProgress)(THIS_ DTS_IN BSTR EventSource,
  1688.         DTS_IN BSTR ProgressDescription,
  1689.         DTS_IN long PercentComplete,
  1690.         DTS_IN long ProgressCountLow,
  1691.         DTS_IN long ProgressCountHigh) PURE;
  1692.     STDMETHOD(OnQueryCancel)(THIS_ DTS_IN BSTR EventSource,
  1693.         DTS_OUT VARIANT_BOOL *pbCancel) PURE;
  1694. };
  1695.  
  1696. #undef INTERFACE
  1697. #define INTERFACE IDTSPackageLog
  1698. DECLARE_INTERFACE_(IDTSPackageLog, IDTSStdObject)
  1699. {
  1700.     DTSPackage_DISPATCH_BASE(IDTSPackageLog)
  1701.  
  1702. };
  1703.  
  1704. #undef INTERFACE
  1705. #define INTERFACE IDTSCustomTaskUI
  1706. DECLARE_INTERFACE_(IDTSCustomTaskUI, IDTSStdObject)
  1707. {
  1708.     DTSPackage_DISPATCH_BASE(IDTSCustomTaskUI)
  1709.  
  1710.     STDMETHOD(Initialize)(THIS_ DTS_IN IDTSTask *pTask) PURE;
  1711.     STDMETHOD(GetUIInfo)(THIS_ DTS_OUT BSTR *pbstrToolTip,
  1712.         DTS_OUT BSTR *pbstrDescription,
  1713.         DTS_OUT long *plVersion,
  1714.         DTS_OUT DTSCustomTaskUIFlags *pFlags) PURE;
  1715.     STDMETHOD(New)(THIS_ DTS_IN long hwndParent) PURE;
  1716.     STDMETHOD(Edit)(THIS_ DTS_IN long hwndParent) PURE;
  1717.     STDMETHOD(Delete)(THIS_ DTS_IN long hwndParent) PURE;
  1718.     STDMETHOD(Help)(THIS_ DTS_IN long hwndParent) PURE;
  1719.     STDMETHOD(CreateCustomToolTip)(THIS_ DTS_IN long hwndParent,
  1720.         DTS_IN long x,
  1721.         DTS_IN long y,
  1722.         DTS_OUT long *plTipWindow) PURE;
  1723. };
  1724.  
  1725.  
  1726. #endif // ndef DTSPackage_ODL_
  1727.  
  1728. #endif // ndef DTSPackage_VersionOnly
  1729.  
  1730. #endif // def DTSPackage_H_
  1731.  
  1732.