home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / dtspkg.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  86.4 KB  |  1,734 lines

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