commit 981687018a632dc8539222c20749f2da1a2a5968 Author: liyf Date: Thu May 7 17:21:23 2020 +0800 initial commit diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..8c06301 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ + +[*] + +# ReSharper properties +resharper_member_initializer_list_style=on_single_line +resharper_new_line_before_catch=false +resharper_new_line_before_else=false +resharper_new_line_before_while=false +resharper_simple_case_statement_style=line_break +resharper_simple_embedded_statement_style=line_break +resharper_wrap_after_expression_lbrace=false +resharper_wrap_before_expression_rbrace=false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..974af6d --- /dev/null +++ b/.gitignore @@ -0,0 +1,369 @@ +# ---> C++ +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +HEZON_ITK/x64/ diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..1bcfb19 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,21 @@ +{ + "configurations": [ + { + "name": "Win32", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [ + "_DEBUG", + "UNICODE", + "_UNICODE" + ], + "windowsSdkVersion": "8.1", + "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe", + "cStandard": "c11", + "cppStandard": "c++17", + "intelliSenseMode": "msvc-x64" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/HEZON_ITK.sdf b/HEZON_ITK.sdf new file mode 100644 index 0000000..cc25451 Binary files /dev/null and b/HEZON_ITK.sdf differ diff --git a/HEZON_ITK.sln b/HEZON_ITK.sln new file mode 100644 index 0000000..bb7bd0f --- /dev/null +++ b/HEZON_ITK.sln @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HEZON_ITK", "HEZON_ITK\HEZON_ITK.vcxproj", "{8E665218-4AC2-4DDD-A50E-4245BA64C3C3}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8E665218-4AC2-4DDD-A50E-4245BA64C3C3}.Debug|Win32.ActiveCfg = Debug|Win32 + {8E665218-4AC2-4DDD-A50E-4245BA64C3C3}.Debug|Win32.Build.0 = Debug|Win32 + {8E665218-4AC2-4DDD-A50E-4245BA64C3C3}.Debug|x64.ActiveCfg = Debug|x64 + {8E665218-4AC2-4DDD-A50E-4245BA64C3C3}.Debug|x64.Build.0 = Debug|x64 + {8E665218-4AC2-4DDD-A50E-4245BA64C3C3}.Release|Win32.ActiveCfg = Release|Win32 + {8E665218-4AC2-4DDD-A50E-4245BA64C3C3}.Release|Win32.Build.0 = Release|Win32 + {8E665218-4AC2-4DDD-A50E-4245BA64C3C3}.Release|x64.ActiveCfg = Release|x64 + {8E665218-4AC2-4DDD-A50E-4245BA64C3C3}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/HEZON_ITK.sln.DotSettings.user b/HEZON_ITK.sln.DotSettings.user new file mode 100644 index 0000000..5b962c2 --- /dev/null +++ b/HEZON_ITK.sln.DotSettings.user @@ -0,0 +1,4 @@ + + <AssemblyExplorer> + <Assembly Path="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\mscorlib.dll" /> +</AssemblyExplorer> \ No newline at end of file diff --git a/HEZON_ITK.suo b/HEZON_ITK.suo new file mode 100644 index 0000000..6d3ee69 Binary files /dev/null and b/HEZON_ITK.suo differ diff --git a/HEZON_ITK.v11.suo b/HEZON_ITK.v11.suo new file mode 100644 index 0000000..827ee6d Binary files /dev/null and b/HEZON_ITK.v11.suo differ diff --git a/HEZON_ITK/HEZON_ITK.cpp b/HEZON_ITK/HEZON_ITK.cpp new file mode 100644 index 0000000..6272e3e --- /dev/null +++ b/HEZON_ITK/HEZON_ITK.cpp @@ -0,0 +1,11 @@ +// HEZON_ITK.cpp : ̨Ӧóڵ㡣 +// + +#include "stdafx.h" + + +int _tmain(int argc, _TCHAR* argv[]) +{ + return 0; +} + diff --git a/HEZON_ITK/HEZON_ITK.vcxproj b/HEZON_ITK/HEZON_ITK.vcxproj new file mode 100644 index 0000000..0a10e2a --- /dev/null +++ b/HEZON_ITK/HEZON_ITK.vcxproj @@ -0,0 +1,192 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {8E665218-4AC2-4DDD-A50E-4245BA64C3C3} + Win32Proj + HEZON_ITK + 8.1 + + + + Application + true + Unicode + v140 + + + Application + true + Unicode + v140 + + + Application + false + true + Unicode + v140 + + + DynamicLibrary + false + false + Unicode + false + v140 + true + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + false + + + + Use + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Use + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + + + Level3 + NotUsing + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;IPLIB=none;%(PreprocessorDefinitions) + %(AdditionalIncludeDirectories) + Cdecl + + + Console + true + true + true + Ws2_32.lib;%(AdditionalDependencies) + libuser_exits.ar.lib;%(IgnoreSpecificDefaultLibraries) + $(OutDir)\bs.dll + /FORCE %(AdditionalOptions) + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。 + + + + + \ No newline at end of file diff --git a/HEZON_ITK/HEZON_ITK.vcxproj.filters b/HEZON_ITK/HEZON_ITK.vcxproj.filters new file mode 100644 index 0000000..ac74c21 --- /dev/null +++ b/HEZON_ITK/HEZON_ITK.vcxproj.filters @@ -0,0 +1,104 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {d25e0aa0-8791-4277-b392-abc3943f925c} + + + {f8d4fa90-4363-4e0f-8f44-a2e02a224ad9} + + + {5f8496b0-ad7e-4c6c-b832-59575601b9f1} + + + {aa5fbb6b-b5ee-4f80-8b16-de99d912a542} + + + + + + + + + + epm-handler + + + epm-handler + + + common + + + epm-handler + + + epm-handler + + + epm-handler + + + epm-handler + + + epm-handler + + + epm-handler + + + epm-handler + + + epm-handler + + + epm-handler + + + epm-handler + + + epm-handler + + + epm-handler + + + epm-handler + + + epm-handler + + + + + epm-handler + + + epm-handler + + + epm-handler + + + epm-handler + + + epm-handler + + + \ No newline at end of file diff --git a/HEZON_ITK/HEZON_ITK.vcxproj.user b/HEZON_ITK/HEZON_ITK.vcxproj.user new file mode 100644 index 0000000..ace9a86 --- /dev/null +++ b/HEZON_ITK/HEZON_ITK.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/HEZON_ITK/HTTPRequest.hpp b/HEZON_ITK/HTTPRequest.hpp new file mode 100644 index 0000000..2bd3c9d --- /dev/null +++ b/HEZON_ITK/HTTPRequest.hpp @@ -0,0 +1,599 @@ +// +// HTTPRequest +// + +#ifndef HTTPREQUEST_HPP +#define HTTPREQUEST_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef _WIN32 +# pragma push_macro("WIN32_LEAN_AND_MEAN") +# pragma push_macro("NOMINMAX") +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# ifndef NOMINMAX +# define NOMINMAX +# endif +# include +# if _WIN32_WINNT < _WIN32_WINNT_WINXP +char* strdup(const char* src) { + std::size_t length = 0; + while (src[length]) ++length; + char* result = static_cast(malloc(length + 1)); + char* p = result; + while (*src) *p++ = *src++; + *p = '\0'; + return result; +} +# include +# endif +# include +# pragma pop_macro("WIN32_LEAN_AND_MEAN") +# pragma pop_macro("NOMINMAX") +#else +#include +#include +# include +# include +# include +#endif + +namespace http { + class RequestError : public std::logic_error { + public: + explicit RequestError(const char* str) : std::logic_error(str) { } + explicit RequestError(const std::string& str) : std::logic_error(str) { } + }; + + class ResponseError : public std::runtime_error { + public: + explicit ResponseError(const char* str) : std::runtime_error(str) { } + explicit ResponseError(const std::string& str) : std::runtime_error(str) { } + }; + + enum class InternetProtocol : std::uint8_t { + V4, + V6 + }; + + inline namespace detail { +#ifdef _WIN32 + class WinSock final { + public: + WinSock() { + WSADATA wsaData; + const int error = WSAStartup(MAKEWORD(2, 2), &wsaData); + if (error != 0) + throw std::system_error(error, std::system_category(), "WSAStartup failed"); + + if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2) { + WSACleanup(); + throw std::runtime_error("Invalid WinSock version"); + } + + started = true; + } + + ~WinSock() { + if (started) WSACleanup(); + } + + WinSock(const WinSock&) = delete; + WinSock& operator=(const WinSock&) = delete; + + WinSock(WinSock&& other) noexcept: + started(other.started) { + other.started = false; + } + + WinSock& operator=(WinSock&& other) noexcept { + if (&other == this) return *this; + if (started) WSACleanup(); + started = other.started; + other.started = false; + return *this; + } + + private: + bool started = false; + }; +#endif + + inline int getLastError() noexcept { +#ifdef _WIN32 + return WSAGetLastError(); +#else + return errno; +#endif + } + + constexpr int getAddressFamily(InternetProtocol internetProtocol) { + return (internetProtocol == InternetProtocol::V4) ? AF_INET : + (internetProtocol == InternetProtocol::V6) ? AF_INET6 : + throw RequestError("Unsupported protocol"); + } + +#ifdef _WIN32 + constexpr auto closeSocket = closesocket; +#else + constexpr auto closeSocket = close; +#endif + +#if defined(__APPLE__) || defined(_WIN32) + constexpr int noSignal = 0; +#else + constexpr int noSignal = MSG_NOSIGNAL; +#endif + + class Socket final { + public: +#ifdef _WIN32 + using Type = SOCKET; + static constexpr Type invalid = INVALID_SOCKET; +#else + using Type = int; + static constexpr Type invalid = -1; +#endif + + explicit Socket(InternetProtocol internetProtocol) : + endpoint(socket(getAddressFamily(internetProtocol), SOCK_STREAM, IPPROTO_TCP)) { + if (endpoint == invalid) + throw std::system_error(getLastError(), std::system_category(), "Failed to create socket"); + +#if defined(__APPLE__) + const int value = 1; + if (setsockopt(endpoint, SOL_SOCKET, SO_NOSIGPIPE, &value, sizeof(value)) == -1) + throw std::system_error(getLastError(), std::system_category(), "Failed to set socket option"); +#endif + } + + explicit Socket(Type s) noexcept: + endpoint(s) { } + + ~Socket() { + if (endpoint != invalid) closeSocket(endpoint); + } + + Socket(const Socket&) = delete; + Socket& operator=(const Socket&) = delete; + + Socket(Socket&& other) noexcept: + endpoint(other.endpoint) { + other.endpoint = invalid; + } + + Socket& operator=(Socket&& other) noexcept { + if (&other == this) return *this; + if (endpoint != invalid) closeSocket(endpoint); + endpoint = other.endpoint; + other.endpoint = invalid; + return *this; + } + + int connect(const struct sockaddr* address, socklen_t addressSize) noexcept { + return ::connect(endpoint, address, addressSize); + } + + int send(const void* buffer, size_t length, int flags) noexcept { + return static_cast(::send(endpoint, + reinterpret_cast(buffer), + length, flags)); + } + + int recv(void* buffer, size_t length, int flags) noexcept { + return static_cast(::recv(endpoint, + reinterpret_cast(buffer), + length, flags)); + } + + inline operator Type() const noexcept { return endpoint; } + + private: + Type endpoint = invalid; + }; + } + + inline std::string urlEncode(const std::string& str) { + constexpr char hexChars[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; + + std::string result; + + for (auto i = str.begin(); i != str.end(); ++i) { + const std::uint8_t cp = *i & 0xFF; + + if ((cp >= 0x30 && cp <= 0x39) || // 0-9 + (cp >= 0x41 && cp <= 0x5A) || // A-Z + (cp >= 0x61 && cp <= 0x7A) || // a-z + cp == 0x2D || cp == 0x2E || cp == 0x5F) // - . _ + result += static_cast(cp); + else if (cp <= 0x7F) // length = 1 + result += std::string("%") + hexChars[(*i & 0xF0) >> 4] + hexChars[*i & 0x0F]; + else if ((cp >> 5) == 0x06) // length = 2 + { + result += std::string("%") + hexChars[(*i & 0xF0) >> 4] + hexChars[*i & 0x0F]; + if (++i == str.end()) break; + result += std::string("%") + hexChars[(*i & 0xF0) >> 4] + hexChars[*i & 0x0F]; + } else if ((cp >> 4) == 0x0E) // length = 3 + { + result += std::string("%") + hexChars[(*i & 0xF0) >> 4] + hexChars[*i & 0x0F]; + if (++i == str.end()) break; + result += std::string("%") + hexChars[(*i & 0xF0) >> 4] + hexChars[*i & 0x0F]; + if (++i == str.end()) break; + result += std::string("%") + hexChars[(*i & 0xF0) >> 4] + hexChars[*i & 0x0F]; + } else if ((cp >> 3) == 0x1E) // length = 4 + { + result += std::string("%") + hexChars[(*i & 0xF0) >> 4] + hexChars[*i & 0x0F]; + if (++i == str.end()) break; + result += std::string("%") + hexChars[(*i & 0xF0) >> 4] + hexChars[*i & 0x0F]; + if (++i == str.end()) break; + result += std::string("%") + hexChars[(*i & 0xF0) >> 4] + hexChars[*i & 0x0F]; + if (++i == str.end()) break; + result += std::string("%") + hexChars[(*i & 0xF0) >> 4] + hexChars[*i & 0x0F]; + } + } + + return result; + } + + struct Response final { + enum Status { + Continue = 100, + SwitchingProtocol = 101, + Processing = 102, + EarlyHints = 103, + + Ok = 200, + Created = 201, + Accepted = 202, + NonAuthoritativeInformation = 203, + NoContent = 204, + ResetContent = 205, + PartialContent = 206, + MultiStatus = 207, + AlreadyReported = 208, + ImUsed = 226, + + MultipleChoice = 300, + MovedPermanently = 301, + Found = 302, + SeeOther = 303, + NotModified = 304, + UseProxy = 305, + TemporaryRedirect = 307, + PermanentRedirect = 308, + + BadRequest = 400, + Unauthorized = 401, + PaymentRequired = 402, + Forbidden = 403, + NotFound = 404, + MethodNotAllowed = 405, + NotAcceptable = 406, + ProxyAuthenticationRequired = 407, + RequestTimeout = 408, + Conflict = 409, + Gone = 410, + LengthRequired = 411, + PreconditionFailed = 412, + PayloadTooLarge = 413, + UriTooLong = 414, + UnsupportedMediaType = 415, + RangeNotSatisfiable = 416, + ExpectationFailed = 417, + ImaTeapot = 418, + MisdirectedRequest = 421, + UnprocessableEntity = 422, + Locked = 423, + FailedDependency = 424, + TooEarly = 425, + UpgradeRequired = 426, + PreconditionRequired = 428, + TooManyRequests = 429, + RequestHeaderFieldsTooLarge = 431, + UnavailableForLegalReasons = 451, + + InternalServerError = 500, + NotImplemented = 501, + BadGateway = 502, + ServiceUnavailable = 503, + GatewayTimeout = 504, + HttpVersionNotSupported = 505, + VariantAlsoNegotiates = 506, + InsufficientStorage = 507, + LoopDetected = 508, + NotExtended = 510, + NetworkAuthenticationRequired = 511 + }; + + int status = 0; + std::vector headers; + std::vector body; + }; + + class Request final { + public: + explicit Request(const std::string& url, + InternetProtocol protocol = InternetProtocol::V4) : + internetProtocol(protocol) { + const auto schemeEndPosition = url.find("://"); + + if (schemeEndPosition != std::string::npos) { + scheme = url.substr(0, schemeEndPosition); + path = url.substr(schemeEndPosition + 3); + } else { + scheme = "http"; + path = url; + } + + const auto fragmentPosition = path.find('#'); + + // remove the fragment part + if (fragmentPosition != std::string::npos) + path.resize(fragmentPosition); + + const auto pathPosition = path.find('/'); + + if (pathPosition == std::string::npos) { + domain = path; + path = "/"; + } else { + domain = path.substr(0, pathPosition); + path = path.substr(pathPosition); + } + + const auto portPosition = domain.find(':'); + + if (portPosition != std::string::npos) { + port = domain.substr(portPosition + 1); + domain.resize(portPosition); + } else + port = "80"; + } + + Response send(const std::string& method, + const std::map& parameters, + const std::vector& headers = { }) { + std::string body; + bool first = true; + + for (const auto& parameter : parameters) { + if (!first) body += "&"; + first = false; + + body += urlEncode(parameter.first) + "=" + urlEncode(parameter.second); + } + + return send(method, body, headers); + } + + Response send(const std::string& method = "GET", + const std::string& body = "", + const std::vector& headers = { }) { + return send(method, + std::vector(body.begin(), body.end()), + headers); + } + + Response send(const std::string& method, + const std::vector& body, + const std::vector& headers) { + Response response; + + if (scheme != "http") + throw RequestError("Only HTTP scheme is supported"); + + addrinfo hints = { }; + hints.ai_family = getAddressFamily(internetProtocol); + hints.ai_socktype = SOCK_STREAM; + + addrinfo* info; + if (getaddrinfo(domain.c_str(), port.c_str(), &hints, &info) != 0) + throw std::system_error(getLastError(), std::system_category(), "Failed to get address info of " + domain); + + std::unique_ptr addressInfo(info, freeaddrinfo); + + std::string headerData = method + " " + path + " HTTP/1.1\r\n"; + + for (const std::string& header : headers) + headerData += header + "\r\n"; + + headerData += "Host: " + domain + "\r\n"; + headerData += "Content-Length: " + std::to_string(body.size()) + "\r\n"; + + headerData += "\r\n"; + + std::vector requestData(headerData.begin(), headerData.end()); + requestData.insert(requestData.end(), body.begin(), body.end()); + + Socket socket(internetProtocol); + + // take the first address from the list + if (socket.connect(addressInfo->ai_addr, static_cast(addressInfo->ai_addrlen)) == -1) + throw std::system_error(getLastError(), std::system_category(), "Failed to connect to " + domain + ":" + port); + + auto remaining = requestData.size(); + auto sendData = requestData.data(); + + // send the request + while (remaining > 0) { + const auto size = socket.send(sendData, remaining, noSignal); + + if (size == -1) + throw std::system_error(getLastError(), std::system_category(), "Failed to send data to " + domain + ":" + port); + + remaining -= static_cast(size); + sendData += size; + } + + std::uint8_t tempBuffer[4096]; + constexpr std::uint8_t crlf[] = { '\r', '\n' }; + std::vector responseData; + bool firstLine = true; + bool parsedHeaders = false; + bool contentLengthReceived = false; + unsigned long contentLength = 0; + bool chunkedResponse = false; + std::size_t expectedChunkSize = 0; + bool removeCrlfAfterChunk = false; + + // read the response + for (;;) { + const auto size = socket.recv(tempBuffer, sizeof(tempBuffer), noSignal); + + if (size == -1) + throw std::system_error(getLastError(), std::system_category(), "Failed to read data from " + domain + ":" + port); + else if (size == 0) + break; // disconnected + + responseData.insert(responseData.end(), tempBuffer, tempBuffer + size); + + if (!parsedHeaders) { + for (;;) { + const auto i = std::search(responseData.begin(), responseData.end(), std::begin(crlf), std::end(crlf)); + + // didn't find a newline + if (i == responseData.end()) break; + + const std::string line(responseData.begin(), i); + responseData.erase(responseData.begin(), i + 2); + + // empty line indicates the end of the header section + if (line.empty()) { + parsedHeaders = true; + break; + } else if (firstLine) // first line + { + firstLine = false; + + std::string::size_type lastPos = 0; + const auto length = line.length(); + std::vector parts; + + // tokenize first line + while (lastPos < length + 1) { + auto pos = line.find(' ', lastPos); + if (pos == std::string::npos) pos = length; + + if (pos != lastPos) + parts.emplace_back(line.data() + lastPos, + static_cast::size_type>(pos) - lastPos); + + lastPos = pos + 1; + } + + if (parts.size() >= 2) + response.status = std::stoi(parts[1]); + } else // headers + { + response.headers.push_back(line); + + const auto pos = line.find(':'); + + if (pos != std::string::npos) { + std::string headerName = line.substr(0, pos); + std::string headerValue = line.substr(pos + 1); + + // ltrim + headerValue.erase(headerValue.begin(), + std::find_if(headerValue.begin(), headerValue.end(), + [](int c) {return !std::isspace(c);})); + + // rtrim + headerValue.erase(std::find_if(headerValue.rbegin(), headerValue.rend(), + [](int c) {return !std::isspace(c);}).base(), + headerValue.end()); + + if (headerName == "Content-Length") { + contentLength = std::stoul(headerValue); + contentLengthReceived = true; + response.body.reserve(contentLength); + } else if (headerName == "Transfer-Encoding") { + if (headerValue == "chunked") + chunkedResponse = true; + else + throw ResponseError("Unsupported transfer encoding: " + headerValue); + } + } + } + } + } + + if (parsedHeaders) { + // Content-Length must be ignored if Transfer-Encoding is received + if (chunkedResponse) { + bool dataReceived = false; + for (;;) { + if (expectedChunkSize > 0) { + const auto toWrite = std::min(expectedChunkSize, responseData.size()); + response.body.insert(response.body.end(), responseData.begin(), responseData.begin() + static_cast(toWrite)); + responseData.erase(responseData.begin(), responseData.begin() + static_cast(toWrite)); + expectedChunkSize -= toWrite; + + if (expectedChunkSize == 0) removeCrlfAfterChunk = true; + if (responseData.empty()) break; + } else { + if (removeCrlfAfterChunk) { + if (responseData.size() >= 2) { + removeCrlfAfterChunk = false; + responseData.erase(responseData.begin(), responseData.begin() + 2); + } else break; + } + + const auto i = std::search(responseData.begin(), responseData.end(), std::begin(crlf), std::end(crlf)); + + if (i == responseData.end()) break; + + const std::string line(responseData.begin(), i); + responseData.erase(responseData.begin(), i + 2); + + expectedChunkSize = std::stoul(line, nullptr, 16); + + if (expectedChunkSize == 0) { + dataReceived = true; + break; + } + } + } + + if (dataReceived) + break; + } else { + response.body.insert(response.body.end(), responseData.begin(), responseData.end()); + responseData.clear(); + + // got the whole content + if (contentLengthReceived && response.body.size() >= contentLength) + break; + } + } + } + + return response; + } + + private: +#ifdef _WIN32 + WinSock winSock; +#endif + InternetProtocol internetProtocol; + std::string scheme; + std::string domain; + std::string port; + std::string path; + }; +} + +#endif \ No newline at end of file diff --git a/HEZON_ITK/NetworkRequest.cpp b/HEZON_ITK/NetworkRequest.cpp new file mode 100644 index 0000000..d9db7d3 --- /dev/null +++ b/HEZON_ITK/NetworkRequest.cpp @@ -0,0 +1,223 @@ +// +// NetworkRequest.cpp +// +// Created by duzixi.com on 15/8/25. +// + +#include "NetworkRequest.h" + +using namespace std; +using boost::asio::ip::tcp; + +/// POST +string PostRequest(char* host, char* path, string form) { + long length = form.length(); + + // Asio: io_serviceȻ + boost::asio::io_service io_service; + + // ȡնб + tcp::resolver resolver(io_service); + tcp::resolver::query query(host, "http"); + tcp::resolver::iterator iter = resolver.resolve(query); + + // ÿһնˣֱɹsocket + tcp::socket socket(io_service); + boost::asio::connect(socket, iter); + + // ͷ + // ָ "Connection: close" ڻȡӦϿӣȷļȫݡ + boost::asio::streambuf request; + ostream request_stream(&request); + request_stream << "POST " << path << " HTTP/1.1\r\n"; + request_stream << "Host: " << host << "\r\n"; + request_stream << "Accept: */*\r\n"; + request_stream << "Content-Type:application/x-www-form-urlencoded\r\n"; + request_stream << "Content-Length: " << length << "\r\n"; + request_stream << "Connection: close\r\n\r\n"; // ע + request_stream << form; //POST ͵ݱڿ + + // + boost::asio::write(socket, request); + + // ȡӦ״̬. Ӧ𻺳 streambuf Զ + // ڹ컺ʱֵͨ + boost::asio::streambuf response; + boost::asio::read_until(socket, response, "\r\n"); + + // ӦǷOK. + istream response_stream(&response);// Ӧ + string http_version; + response_stream >> http_version; + unsigned int status_code; + response_stream >> status_code; + string status_message; + getline(response_stream, status_message); + if (!response_stream || http_version.substr(0, 5) != "HTTP/") { + printf("ЧӦ\n"); + } + if (status_code != 200) { + printf("Ӧ status code %d\n", status_code); + } + + // ȡӦͷкֹͣ + boost::asio::read_until(socket, response, "\r\n\r\n"); + + // ʾӦͷ + string header; + int len = 0; + while (getline(response_stream, header) && header != "\r") { + if (header.find("Content-Length: ") == 0) { + stringstream stream; + stream << header.substr(16); + stream >> len; + } + } + + long size = response.size(); + + if (size > 0) { + // .... do nothing + } + + // ѭȡֱļ + boost::system::error_code error; + while (boost::asio::read(socket, response, boost::asio::transfer_at_least(1), error)) { + // ȡӦ𳤶 + size = response.size(); + if (len != 0) { + cout << size << " Byte " << (size * 100) / len << "%\n"; + } + + } + if (error != boost::asio::error::eof) { + throw boost::system::system_error(error); + } + + cout << size << " Byte ." << endl; + + // streambufתΪstringͷ + istream is(&response); + is.unsetf(ios_base::skipws); + string sz; + sz.append(istream_iterator(is), istream_iterator()); + + // תַ + return sz; +} + +/// GET +string GetRequest(char* host, char* path) { + // Asio: io_serviceȻ + boost::asio::io_service io_service; + + // ȡնб + tcp::resolver resolver(io_service); + tcp::resolver::query query(host, "http"); + tcp::resolver::iterator iter = resolver.resolve(query); + + // ÿһնˣֱɹsocket + tcp::socket socket(io_service); + boost::asio::connect(socket, iter); + + // ͷ. + // ָ "Connection: close" ڻȡӦϿӣȷļȫݡ + boost::asio::streambuf request; + ostream request_stream(&request); + request_stream << "GET " << path << " HTTP/1.1\r\n"; + request_stream << "Host: " << host << "\r\n"; + request_stream << "Accept: */*\r\n"; + request_stream << "Connection: close\r\n\r\n"; + + // + boost::asio::write(socket, request); + + // ȡӦ״̬. Ӧ𻺳 streambuf Զ + // ڹ컺ʱֵͨ + boost::asio::streambuf response; + boost::asio::read_until(socket, response, "\r\n"); + + // ӦǷOK. + istream response_stream(&response); + string http_version; + response_stream >> http_version; + unsigned int status_code; + response_stream >> status_code; + string status_message; + getline(response_stream, status_message); + if (!response_stream || http_version.substr(0, 5) != "HTTP/") { + printf("ӦЧ\n"); + } + if (status_code != 200) { + printf("Ӧ status code %d\n", status_code); + } + + // ȡӦͷкֹͣ + boost::asio::read_until(socket, response, "\r\n\r\n"); + + // ʾӦͷ + + string header; + int len = 0; + while (getline(response_stream, header) && header != "\r") { + if (header.find("Content-Length: ") == 0) { + stringstream stream; + stream << header.substr(16); + stream >> len; + } + } + + long size = response.size(); + + if (size > 0) { + // ... do nothing ... + } + + boost::system::error_code error; // ȡ + + // ѭȡֱļ + while (boost::asio::read(socket, response, boost::asio::transfer_at_least(1), error)) { + // ȡӦ𳤶 + size = response.size(); + if (len != 0) { + cout << size << " Byte " << (size * 100) / len << "%" << endl; + } + } + + // ûжļβ׳쳣 + if (error != boost::asio::error::eof) { + throw boost::system::system_error(error); + } + + cout << size << " Byte ." << endl; + + // streambufתΪstringͣ + istream is(&response); + is.unsetf(ios_base::skipws); + string sz; + sz.append(istream_iterator(is), istream_iterator()); + + return sz; +} + +/// GET() +string GetRequest(string url) { + size_t index; + + // ȥurlеЭͷ + if (url.find("http://") != string::npos) { + url = url.substr(7); + } + printf("url:%s\n", url.c_str()); + + // ȡhostַ + index = url.find("/"); + char* host = new char[index]; + strcpy(host, url.substr(0, index).c_str()); + + // ȡurlPathַ + char* urlPath = new char[url.length() - index + 1]; + strcpy(urlPath, url.substr(index, url.length() - index).c_str()); + + return GetRequest(host, urlPath); +} \ No newline at end of file diff --git a/HEZON_ITK/NetworkRequest.h b/HEZON_ITK/NetworkRequest.h new file mode 100644 index 0000000..5805fb9 --- /dev/null +++ b/HEZON_ITK/NetworkRequest.h @@ -0,0 +1,15 @@ +// +// NetworkRequest.h +// +// Created by duzixi.com on 15/8/25. +// +#include + +using namespace std; + +/// GET +string GetRequest(char* host, char* path); +string GetRequest(string url); + +/// POST +string PostRequest(char* host, char* path, string form); \ No newline at end of file diff --git a/HEZON_ITK/ReadMe.txt b/HEZON_ITK/ReadMe.txt new file mode 100644 index 0000000..49df47a --- /dev/null +++ b/HEZON_ITK/ReadMe.txt @@ -0,0 +1,36 @@ +======================================================================== + 控制台应用程序:HEZON_ITK 项目概述 +======================================================================== + +应用程序向导已为您创建了此 HEZON_ITK 应用程序。 + +本文件概要介绍组成 HEZON_ITK 应用程序的每个文件的内容。 + + +HEZON_ITK.vcxproj + 这是使用应用程序向导生成的 VC++ 项目的主项目文件, + 其中包含生成该文件的 Visual C++ + 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。 + +HEZON_ITK.vcxproj.filters + 这是使用“应用程序向导”生成的 VC++ 项目筛选器文件。 + 它包含有关项目文件与筛选器之间的关联信息。 在 IDE + 中,通过这种关联,在特定节点下以分组形式显示具有相似扩展名的文件。 + 例如,“.cpp”文件与“源文件”筛选器关联。 + +HEZON_ITK.cpp + 这是主应用程序源文件。 + +///////////////////////////////////////////////////////////////////////////// +其他标准文件: + +StdAfx.h,StdAfx.cpp + 这些文件用于生成名为 HEZON_ITK.pch 的预编译头 (PCH) 文件和 + 名为 StdAfx.obj 的预编译类型文件。 + +///////////////////////////////////////////////////////////////////////////// +其他注释: + +应用程序向导使用“TODO:”注释来指示应添加或自定义的源代码部分。 + +///////////////////////////////////////////////////////////////////////////// diff --git a/HEZON_ITK/bs_bom_check.cpp b/HEZON_ITK/bs_bom_check.cpp new file mode 100644 index 0000000..9c8c0fc --- /dev/null +++ b/HEZON_ITK/bs_bom_check.cpp @@ -0,0 +1,88 @@ +#include "util.h" + +void judge(tag_t top,string &status,stringstream &ss) +{ + int line_cnt; + tag_t *lines; + char *val; + BOM_line_ask_child_lines(top, &line_cnt, &lines); + for (int j = 0; j < line_cnt; j++) + { + AOM_UIF_ask_value(lines[j], "jd2_last_release_status", &val); + printf("status:%s\n", val); + string temp = val; + if (temp.length()>0&&status.find(val) != -1) + { + AOM_ask_value_string(lines[j], "bl_rev_object_string", &val); + ss << val << ','; + } + judge(lines[j], status, ss); + + } +} + +int bs_bom_check(EPM_rule_message_t msg) +{ + int ifail = EPM_go, att_count, line_cnt; + tag_t rootTask, *attachments, win, top, *lines; + char *val; + EPM_ask_root_task(msg.task, &rootTask); + + EPM_ask_attachments(rootTask, EPM_target_attachment, &att_count, &attachments); + TC_argument_list_t * arguments = msg.arguments; + int arg_cnt = TC_number_of_arguments(arguments), status = 0; + vector types; + map paras; + stringstream ss; + for (auto i = 0; i < arg_cnt; i++) + { + char *temp_key, *temp_val; + ITK_ask_argument_named_value(TC_next_argument(arguments), &temp_key, &temp_val); + paras[temp_key] = temp_val; + + } + split(paras["type"].c_str(),",", &types); + printf("check status:%s\n", paras["status"].c_str()); + BOM_create_window(&win); + for (int i = 0; i < att_count; i++) + { + bool pass = false; + for (int j = 0; j < types.size(); j++) + { + if (isTypeOf(attachments[i], types[j].c_str())) + { + pass = true; + break; + } + } + if (!pass) + continue; + printf("begin check \n"); + char *hl; + AOM_ask_value_string(attachments[i], "jd2_ishl", &hl); + printf("hl:%s\n", hl); + if(tc_strcmp(hl,"")==0) + { + continue; + } + BOM_set_window_top_line(win, NULLTAG, attachments[i], NULLTAG, &top); + AOM_UIF_ask_value(top, "jd2_last_release_status", &val); + if (tc_strlen(val) && paras["status"].find(val) != -1) + { + AOM_ask_value_string(top, "bl_rev_object_string", &val); + ss << val << ','; + } + judge(top, paras["status"], ss); + + printf("end check \n"); + + } + BOM_close_window(win); + if (ss.str().length()) { + ss<< paras["prompt"]; + EMH_store_error_s1(EMH_severity_user_error, EMH_PROP_error_base, ss.str().c_str()); + ifail = EPM_nogo; + } + return ifail; +} + diff --git a/HEZON_ITK/bs_bom_save_check.cpp b/HEZON_ITK/bs_bom_save_check.cpp new file mode 100644 index 0000000..c02fa38 --- /dev/null +++ b/HEZON_ITK/bs_bom_save_check.cpp @@ -0,0 +1,86 @@ +#include "util.h" + +void save_judge(tag_t top, string &check, string &name, vector &type_vec, vector &quantity_type_vec, stringstream &ss, stringstream &status_ss) +{ + int line_cnt; + tag_t *lines; + BOM_line_ask_child_lines(top, &line_cnt, &lines); + char *val; + for (int i = 0; i < line_cnt; i++) + { + AOM_ask_value_string(lines[i], "bl_item_object_type", &val); + printf("type :%s\n", val); + if (find(type_vec.begin(), type_vec.end(), val) != type_vec.end()) + continue; + if (find(quantity_type_vec.begin(), quantity_type_vec.end(), val) != quantity_type_vec.end()) + { + char *test; + AOM_ask_value_string(lines[i], "JD2_SFHL", &test); + printf("JD2_SFHL:%s\n", test); + if(tc_strcmp(test,"1")==0) + AOM_ask_value_string(lines[i], "JD2_sl", &val); + else + AOM_ask_value_string(lines[i], "bl_quantity", &val); + if (tc_strlen(val) == 0) + { + AOM_ask_value_string(lines[i], "bl_rev_object_string", &val); + + ss << val << ","; + } + } + AOM_UIF_ask_value(lines[i], "jd2_last_release_status", &val); + string temp = val; + printf("length:%llu status:%s\n", temp.length(), val); + + if (temp.length() == 0 || check.find(temp) != -1) + { + AOM_ask_value_string(lines[i], "bl_rev_object_string", &val); + status_ss << val << ","; + } + save_judge(lines[i], check, name, type_vec, quantity_type_vec, ss,status_ss); + + } +} + +int bs_bom_save_check(METHOD_message_t *msg, va_list args) +{ + printf("bs_bom_save_check start11\n"); + + logical is_judge = false; + PREF_ask_logical_value("connor_bom_check", 0, &is_judge); + if (!is_judge) + return ITK_ok; + int ifail = ITK_ok, num; + + //ȡԶ + tag_t win = va_arg(args, tag_t), top; + char *check_val, **type_val, **quantity_type; + string name, check; + stringstream ss,status_ss; + int type_cnt, quantity_type_cnt; + PREF_ask_char_value("connor_bom_check_value", 0, &check_val); + PREF_ask_char_values("connor_bom_check_type", &type_cnt, &type_val); + PREF_ask_char_values("connor_bom_quantity_check_type", &quantity_type_cnt, &quantity_type); + + vector type_vec(type_val, type_val + type_cnt), quantity_type_vec(quantity_type, quantity_type + quantity_type_cnt); + + check = check_val; + BOM_ask_window_top_line(win, &top); + save_judge(top, check, name, type_vec, quantity_type_vec, ss, status_ss); + if (ss.str().length()) + { + ss << "Ϊգд\n"; + ifail = 1; + } + if (status_ss.str().length()) { + ss << status_ss.str() << "Ϊ״̬δܱBOM!\n"; + ifail = 1; + } + if (ss.str().length()) + EMH_store_error_s1(EMH_severity_user_error, EMH_PROP_error_base, ss.str().c_str()); + + printf("bs_bom_save_check end11\n"); + + return ifail; +} + diff --git a/HEZON_ITK/bs_bypass.cpp b/HEZON_ITK/bs_bypass.cpp new file mode 100644 index 0000000..3d79b3d --- /dev/null +++ b/HEZON_ITK/bs_bypass.cpp @@ -0,0 +1,44 @@ +/*============================================================================= + Copyright (c) 2003-2005 UGS Corporation + Unpublished - All Rights Reserved + + File :qtmc_by_pass.cpp + Module : user_exits + + + +============================================================================================================ +DATE Name Description of Change +30_OTC_2014 mengyawei creation +$HISTORY$ + +============================================================================================================*/ + +#include +#include "epm_handler_common.h" + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + extern "C" int POM_AM__set_application_bypass(logical bypass); + + int bs_bypass(void *retValType) + { + int ifail = ITK_ok; + + logical bypass=true; + USERARG_get_logical_argument(&bypass); + POM_AM__set_application_bypass( bypass ); + + return ifail; + } + +#ifdef __cplusplus +} +#endif \ No newline at end of file diff --git a/HEZON_ITK/bs_custom_main.cxx b/HEZON_ITK/bs_custom_main.cxx new file mode 100644 index 0000000..59bd8e6 --- /dev/null +++ b/HEZON_ITK/bs_custom_main.cxx @@ -0,0 +1,70 @@ +/** +* @defgroup common ú +* @defgroup workflow ̺ +* @defgroup bmf ҵչ +* @defgroup service +*/ + +/** +* @addtogroup common +* @{ +*/ + +/** +* @file +* @brief ע +* @date 2014/4/21 +* @author mengyawei +*/ + +#pragma warning (disable: 4819) + +/** +* @headerfile tcua ͷļ +*/ +#include +#include +#include +#include "epm_register_handler.h" +#include "epm_handler_common.h" +#include "jd_clear_field.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + + /** + * @fn extern "C" DLLAPI int liborigin_register_callbacks + * @return usually return ITK_ok + * @brief liborigin customization entry + */ + DLLAPI int bs_register_callbacks() + { + int ifail = ITK_ok; + ifail = CUSTOM_register_exit( + "bs", + "USERSERVICE_register_methods", + (CUSTOM_EXIT_ftn_t)USERSERVICE_custom_register_methods) ; + + + ifail = CUSTOM_register_exit( + "bs", + "USER_gs_shell_init_module", + (CUSTOM_EXIT_ftn_t)CUST_init_module); + + Register_revise_msg(); + return ifail; + } + +#ifdef __cplusplus +} +#endif + + + + +/** +* @} +*/ \ No newline at end of file diff --git a/HEZON_ITK/bs_file_transfer.cpp b/HEZON_ITK/bs_file_transfer.cpp new file mode 100644 index 0000000..9e1b8fb --- /dev/null +++ b/HEZON_ITK/bs_file_transfer.cpp @@ -0,0 +1,108 @@ +#include "epm_handler_common.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "tc/envelope.h" +#include +#include "ae/dataset.h" +#include +#include +#include +#include +#include +#include +#include +#include "ce/ce.h" +#include +#include +#include +#include +#include +#include "string" +#include "sstream" +#include +#include +#include +#include "ctime" +#include "tchar.h" + +using namespace std; +extern "C" int POM_AM__set_application_bypass(logical bypass); + + +int bs_file_transfer(EPM_action_message_t msg) +{ + int ifail = ITK_ok, att_count; + tag_t rootTask, *attachments; + char *obj_type; + + EPM_ask_root_task(msg.task, &rootTask); + + EPM_ask_attachments(rootTask, EPM_target_attachment, &att_count, &attachments); + TC_argument_list_t * arguments = msg.arguments; + int arg_cnt = TC_number_of_arguments(arguments), status = 0; + POM_AM__set_application_bypass(true); + map paras; + + for (auto i = 0; ifirst.c_str(), i->second.c_str()); + } + printf("\n"); + for(int i=0;i class_map; + + EPM_ask_attachments(rootTask, EPM_target_attachment, &att_count, &attachments); + TC_argument_list_t * arguments = msg.arguments; + int arg_cnt = TC_number_of_arguments(arguments), status = 0; + POM_AM__set_application_bypass(true); + map paras,rel_map; + map prop_map; + + vector rel_vec; + for (auto i = 0; i < arg_cnt; i++) + { + char *temp_key, *temp_val; + ITK_ask_argument_named_value(TC_next_argument(arguments), &temp_key, &temp_val); + paras[temp_key] = temp_val; + } + string d0 = "D00", d1 = "D0"; + for(int i=0;i<67;i++) + { + if(i>8) + { + + class_map[1000+i] = d1 + to_string(i + 1); + }else + { + class_map[1000 + i] = d0 + to_string(i + 1); + } + } + + PREF_ask_char_values("connor_sap", &pref_cnt, &pref_vals); + + split(pref_vals[4], ",", &rel_vec); + for(int i=0;i temp_vec; + split(rel_vec[i], "=", &temp_vec); + if(temp_vec.size()==2) + { + rel_map[temp_vec[0]] = temp_vec[1]; + } + } + vector rel_vec2; + split(pref_vals[5], ",", &rel_vec2); + + for (int i = 0; i temp_vec; + split(rel_vec2[i], "=", &temp_vec); + if (temp_vec.size() == 2) + { + prop_map[temp_vec[0]] = temp_vec[1]; + } + } + + GRM_find_relation_type("IMAN_master_form", &relation_type); + printf("create class\n"); + Testclass ^test = gcnew Testclass(); + printf("create success\n"); + String^ url = convert_to_cstring(pref_vals[0]); + String^ user = convert_to_cstring(pref_vals[2]); + String^ password = convert_to_cstring(pref_vals[3]); + // prop_map["MTART"] = "jd2_wllx"; + // prop_map["MATNR"] = "item_id"; + // prop_map["MAKTX"] = "jd2_wlms"; + // prop_map["MEINS"] = "jd2_dldw"; + // prop_map["MATKL"] = "jd2_wlz"; + // prop_map["PRDHA"] = "jd2_cpcc"; + // prop_map["EXTWG"] = "jd2_wbwlz"; + // prop_map["MSTAE"] = "release_status_list"; + // prop_map["VOLUM"] = "jd2_tj"; + // prop_map["VOLEH"] = "jd2_tjdw"; + // prop_map["BISMT"] = "jd2_jwlh"; + // prop_map["ZEINR"] = "jd2_th"; + // prop_map["BRGEW"] = "jd2_mz"; + // prop_map["NTGEW"] = "jd2_jz"; + // prop_map["GEWEI"] = "jd2_zldw"; + // prop_map["CLASS"] = "jd2_wllx"; + printf("start111\n"); + for (int i = 0; i < att_count; i++) + { + if (isTypeOf(attachments[i], "Form")) + { + int rel_cnt,*levels; + tag_t *rels,rev=NULLTAG,form; + char **relations; + form = attachments[i]; + WSOM_where_referenced2(form, 1, &rel_cnt, &levels, &rels, &relations); + for(int j=0;j ^dic = gcnew System::Collections::Generic::Dictionary(); + for (auto j = prop_map.begin(); j != prop_map.end(); j++) + { + char *val=""; + string temp_val; + if (j->second == "item_id") + { + AOM_ask_value_string(rev, j->second.c_str(), &val); + temp_val = val; + } + else if (j->second == "release_status_list") { + // int status_cnt; + // tag_t *rel_status; + // AOM_ask_value_tags(form, j->second.c_str(), &status_cnt, &rel_status); + // if (status_cnt) + // AOM_UIF_ask_value(rel_status[status_cnt - 1], "object_string", &val); + // temp_val = rel_map[val]; + temp_val = paras["status"]; + }else if(j->second=="jd2_dldw") + { + AOM_UIF_ask_value(form, j->second.c_str(), &val); + temp_val = val; + } + else + { + tag_t lov; + AOM_ask_lov(form, j->second.c_str(), &lov); + if (lov) + AOM_ask_value_string(form, j->second.c_str(), &val); + else + AOM_UIF_ask_value(form, j->second.c_str(), &val); + temp_val = val; + } + dic[convert_to_cstring(j->first.c_str())] = convert_to_cstring(temp_val.c_str()); + } + tag_t class_obj; + ICS_ask_classification_object(rev, &class_obj); + if (class_obj) + { + char ***vals; + int cnt, *ids,*val_count; + ICS_ico_ask_attributes(class_obj, &cnt, &ids, &val_count, &vals); + for(int j=0;jsend_material(url, user, password, dic)); + printf("result:%s\n", result.c_str()); + if(result.length()&&result[0]=='E') + { + char *val; + AOM_ask_value_string(rev, "item_id", &val); + stringstream err; + err << val << " ʹ:" << result; + POM_AM__set_application_bypass(false); + + EMH_store_error_s1(EMH_severity_error, EMH_ATTR_error_base, err.str().c_str()); + + return 1; + } + + } + } + + POM_AM__set_application_bypass(false); + + return 0; +} + + +void get_bom(System::Collections::Generic::List^> ^a_list,tag_t line,char *werks,char *stlan,string pid, tag_t relation_type,boolean is_hl,boolean is_judge) +{ + int line_cnt; + tag_t *lines; + BOM_line_ask_child_lines(line, &line_cnt, &lines); + char *id; + AOM_UIF_ask_value(line, "bl_item_item_id", &id); + if(a_list->Count==0) + { + pid = pid.length()>0?pid:id; + int index = pid.find('-'); + if (index != -1) + pid = pid.substr(index + 1); + } + for (int j = 0; j < line_cnt; j++) + { + System::Collections::Generic::Dictionary ^dic = gcnew System::Collections::Generic::Dictionary(); + dic["MATNR"] = convert_to_cstring(pid.length()>0?pid.c_str():id); + dic["WERKS"] = convert_to_cstring(werks); + dic["STLAN"] = convert_to_cstring(stlan); + dic["BMENG"] = "1"; + dic["STLST"] = "1"; + dic["POSTP"] = "L"; + char *val; + // AOM_UIF_ask_value(lines[j], "bl_sequence_no", &val); + // dic["POSNR"] = convert_to_cstring(val); + char *child_id; + AOM_UIF_ask_value(lines[j], "bl_child_id", &child_id); + dic["IDNRK"] = convert_to_cstring(child_id); + + // AOM_UIF_ask_value(lines[j], "bl_quantity", &val); + + AOM_UIF_ask_value(lines[j], "bl_uom", &val); + dic["MEINS"] = convert_to_cstring(val); + dic["STLAL"] = is_hl ? convert_to_cstring("02") : convert_to_cstring("01"); + char *val1, *val2,*hl,*sffs; + tag_t tag,*rels; + int rel_cnt; + + AOM_ask_value_tag(lines[j], "bl_line_object", &tag); + AOM_UIF_ask_value(tag, "jd2_ishl", &hl); + boolean child_is_hl = tc_strcmp(hl, "") ? false : true; + + GRM_list_secondary_objects_only(tag, relation_type, &rel_cnt, &rels); + AOM_ask_value_string(lines[j], "JD2_SFHL", &sffs); + printf("JD2_SFHL:%s\n", sffs); + if(tc_strcmp(sffs,"1")==0) + { + AOM_ask_value_string(lines[j], "JD2_sl", &val); + }else + { + AOM_ask_value_string(lines[j], "bl_quantity", &val); + } + + dic["MENGE"] = convert_to_cstring(val); + + if(is_judge){ + if (rel_cnt) + { + AOM_ask_value_string(rels[0], "jd2_cglx", &val1); + AOM_ask_value_string(rels[0], "jd2_tscg", &val2); + } + if (tc_strcmp(val1, "F") == 0 && tc_strcmp(val2, "50") == 0) + { + continue; + } + if (tc_strcmp(val1, "E") == 0 && tc_strcmp(val2, "50") == 0) + { + get_bom(a_list, lines[j], werks, stlan, id, relation_type, child_is_hl, is_judge); + continue; + } + if (tc_strcmp(val1, "F") == 0 && tc_strlen(val2) == 0) + { + a_list->Add(dic); + continue; + } + } + a_list->Add(dic); + + get_bom(a_list, lines[j], werks, stlan,"",relation_type, child_is_hl, is_judge); + } +} + +int bs_sap_bom(EPM_action_message_t msg) +{ + printf("start sap bom1\n"); + int ifail = ITK_ok, att_count; + tag_t rootTask, *attachments, relation_type, win; + char *obj_type; + int pref_cnt; + char **pref_vals; + EPM_ask_root_task(msg.task, &rootTask); + + EPM_ask_attachments(rootTask, EPM_target_attachment, &att_count, &attachments); + TC_argument_list_t * arguments = msg.arguments; + int arg_cnt = TC_number_of_arguments(arguments), status = 0; + POM_AM__set_application_bypass(true); + map paras; + + for (auto i = 0; i < arg_cnt; i++) + { + char *temp_key, *temp_val; + ITK_ask_argument_named_value(TC_next_argument(arguments), &temp_key, &temp_val); + paras[temp_key] = temp_val; + } + PREF_ask_char_values("connor_sap", &pref_cnt, &pref_vals); + GRM_find_relation_type("IMAN_master_form", &relation_type); + Testclass ^test = gcnew Testclass(); + String^ url = convert_to_cstring(pref_vals[1]); + String^ user = convert_to_cstring(pref_vals[2]); + String^ password = convert_to_cstring(pref_vals[3]); + + BOM_create_window(&win); + for (int i = 0; i < att_count; i++) + { + if (isTypeOf(attachments[i], "PSBOMViewRevision")) + { + printf("execute\n"); + int rel_cnt, line_cnt; + System::Collections::Generic::List^> ^a_list = gcnew System::Collections::Generic::List^>(); + tag_t top_line, *lines, rev, *rels; + char *id, *werks, *stlan,*hl; + BOM_set_window_top_line_bvr(win, attachments[i], &top_line); + AOM_ask_value_tag(top_line, "bl_line_object", &rev); + GRM_list_secondary_objects_only(rev, relation_type, &rel_cnt, &rels); + AOM_ask_value_string(rev, "item_id", &id); + AOM_ask_value_string(rels[0], "jd2_gc", &werks); + AOM_ask_value_string(rels[0], "jd2_BOMyt", &stlan); + AOM_UIF_ask_value(rev, "jd2_ishl", &hl); + boolean is_hl = tc_strcmp(hl,"")?false:true; + + if (tc_strlen(werks)==0||tc_strlen(stlan)==0) + continue; + boolean is_judege = id[0] == '9'&&id[1] == '9'; + get_bom(a_list, top_line, werks, stlan,"", relation_type,is_hl,is_judege); + string result = ConvertToString(test->send_bom(url, user, password, a_list)); + printf("result:%s\n", result.c_str()); + if(result.length()&&result[0]=='E') + { + BOM_close_window(win); + POM_AM__set_application_bypass(false); + EMH_store_error_s1(EMH_severity_error, EMH_ATTR_error_base, result.c_str()); + + return 1; + } + } + } + BOM_close_window(win); + POM_AM__set_application_bypass(false); + EMH_clear_errors(); + + return 0; +} + diff --git a/HEZON_ITK/bs_sign_cad.cpp b/HEZON_ITK/bs_sign_cad.cpp new file mode 100644 index 0000000..afc7fe1 --- /dev/null +++ b/HEZON_ITK/bs_sign_cad.cpp @@ -0,0 +1,95 @@ +#pragma once +#include "util.h" +static void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file, + const char *new_file_path, char *ref_name) +{ + IMF_file_data_p_t file_data; + int index = 0; + ITKCALL(IMF_get_file_access(old_file, 0, &file_data)); + + tag_t new_file_tag = NULLTAG; + AOM_lock(old_file); + + ITKCALL(IMF_replace_file_and_get_new_tag(old_file, new_file_path, + TRUE, &new_file_tag)); + + AOM_lock(dataset_tag); + + ITKCALL(AE_replace_dataset_named_ref2(dataset_tag, old_file, ref_name, + AE_PART_OF, new_file_tag)); + ITKCALL(AE_save_myself(dataset_tag)); + AOM_unlock(dataset_tag); + ITKCALL(IMF_release_file_access(&file_data)); + // ITKCALL2(AOM_lock_for_delete(old_file)); + // ITKCALL2(AOM_delete(old_file)); +} + +int bs_sign_cad(EPM_action_message_t msg) +{ + int ifail = ITK_ok, att_count,tag_cnt,form_cnt; + tag_t rootTask, *attachments, *tags,ref,*forms; + TC_argument_list_t * arguments = msg.arguments; + char *name,*val; + int arg_cnt = TC_number_of_arguments(arguments), status = 0; + POM_AM__set_application_bypass(true); + map paras; + string tempdir = getenv("temp"); + for (auto i = 0; i prop_vec; + map prop_map; + split(paras["prop"], ",", &prop_vec); + for(int i=0;i temp_vec; + split(prop_vec[i], "=", &temp_vec); + if (temp_vec.size() == 2) + prop_map[temp_vec[0]] = temp_vec[1]; + } + EPM_ask_root_task(msg.task, &rootTask); + Testclass ^test = gcnew Testclass(); + EPM_ask_attachments(rootTask, EPM_target_attachment, &att_count, &attachments); + AE_reference_type_t ae_ref; + POM_AM__set_application_bypass(true); + for(int i=0;i ^dic = gcnew System::Collections::Generic::Dictionary(); + for(auto k=prop_map.begin();k!=prop_map.end();k++) + { + AOM_UIF_ask_value(forms[0], k->second.c_str(), &val); + dic[convert_to_cstring(k->first.c_str())] = convert_to_cstring(val); + } + string result= ConvertToString(test->signCad(convert_to_cstring(path.str().c_str()), convert_to_cstring(paras["title"].c_str()), dic)); + if(result.length()) + { + replace_dataset_named_reference(tags[j], ref, result.c_str(), "JD2_dwg"); + } + } + } + } + } + POM_AM__set_application_bypass(false); + + return 0; +} + diff --git a/HEZON_ITK/bs_signoff.cxx b/HEZON_ITK/bs_signoff.cxx new file mode 100644 index 0000000..62ae69a --- /dev/null +++ b/HEZON_ITK/bs_signoff.cxx @@ -0,0 +1,77 @@ +#include "epm_handler_common.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "tc/envelope.h" +#include +#include "ae/dataset.h" +#include +#include +#include +#include +#include +#include +#include +#include "ce/ce.h" +#include +#include +#include +#include +#include +#include "string" +#include "sstream" +#include +#include +#include +#include "ctime" +#include "tchar.h" + +using namespace std; +extern "C" int POM_AM__set_application_bypass(logical bypass); + + +int bs_signoff(EPM_action_message_t msg) +{ + int ifail = ITK_ok, att_count; + tag_t rootTask, *attachments, user_tag; + char *action_string, *user_name, *task_name; + map map; + time_t t = time(NULL); + struct tm* local = localtime(&t); + + EPM_ask_name2(msg.task, &task_name); + EPM_action_t action = msg.action; + EPM_ask_action_string2(action, &action_string); + + POM_get_user(&user_name, &user_tag); + + EPM_ask_root_task(msg.task, &rootTask); + + EPM_ask_attachments(rootTask,EPM_target_attachment, &att_count, &attachments); + + return 0; +} + diff --git a/HEZON_ITK/bs_test_release_check.cpp b/HEZON_ITK/bs_test_release_check.cpp new file mode 100644 index 0000000..c567126 --- /dev/null +++ b/HEZON_ITK/bs_test_release_check.cpp @@ -0,0 +1,93 @@ +#include "util.h" + +void judge_tag(tag_t tag,int index,vector &vec,stringstream &name) +{ + if(index>=vec.size()-1) + { + char *val,*type; + AOM_ask_value_string(tag, "object_type", &type); + printf("vec type:%s last type:%s\n",vec[index].c_str(), type); + if (vec[index] != type) + return; + int rel_cnt; + tag_t *rels; + AOM_ask_value_tags(tag, "release_status_list", &rel_cnt, &rels); + if (rel_cnt == 0) + { + AOM_ask_value_string(tag, "object_string", &val); + name << val << ","; + } + return; + } + if(vec[index]=="Latest") + { + tag_t rev; + ITEM_ask_latest_rev(tag, &rev); + if(rev) + judge_tag(rev, index + 1, vec, name); + return; + } + int tag_cnt; + tag_t *tags; + AOM_ask_value_tags(tag, vec[index].c_str(), &tag_cnt, &tags); + for(auto i=0;i paras; + map> judge_map; + POM_AM__set_application_bypass(true); + for (auto i = 0; i temp; + split(temp_val, ".", &temp); + if(temp.size()) + judge_map[temp[0]] = temp; + } + + + for (int i = 0; i wl_types, judge_types,judge_vec; + + string name; + map paras,judge_map; + for (auto i = 0; i temp; + split(judge_vec[i], "=", &temp); + if(temp.size()==2) + { + judge_map[temp[0]] = temp[1]; + } + } + + for (int i = 0; ifirst.c_str(), &val); + if(j->second!=val) + { + pass = true; + break; + } + } + if(!pass) + { + continue; + } + AOM_ask_value_tags(attachments[i], paras["relation"].c_str(), &tag_cnt, &tags); + printf("relation :%s\n, length:%d\n", paras["relation"].c_str(), tag_cnt); + pass = false; + for(int j=0;j +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +//#include +//#include +//#include +//#include + +#include +//#include +#include +#include +//#include +//#include +#include "error_handling.h" +#include "common_itk_util.h" + +#ifdef WIN32 +#include +#include +#else +#include +#endif + + +#define ARGS_LENGTH 200 +#define ARGS_NAME_DEBUG "-debug" +#define DEBUG "-debug=" +#define MAX_PRINTLINE_LENGTH 2000 +#define MAX_PATH_LENGTH 2000 +#define MAX_ARGUMENT_LENGTH 400 +#define MAX_PARAMNAME_LENGTH 50 +#define MAX_FILE_EXT_LENGTH 10 +#define TRUE_FLAG 1 +#define FALSE_FLAG 0 +#define DETAILLOG 1 + + +FILE* logFile = NULL; + +void set_bypass(logical bypass) +{ + AM__set_application_bypass(bypass); +} +/*=============================================================================* + * FUNCTION: current_time + * PURPOSE : get the current datetime + * INPUT: + * date_t* date_tag // current date time tag + * + * RETURN: + * void + *============================================================================*/ +void current_time( date_t * date_tag ) +{ + time_t ltime; + struct tm *today ; + + // Set time zone from TZ environment variable. If TZ is not set, + // the operating system is queried to obtain the default value + // for the variable. + // + //_tzset(); + + // Get UNIX-style time and display as number and string. + time( <ime ); + + today = localtime( <ime ); + date_tag->year = today->tm_year + 1900 ; + date_tag->month = today->tm_mon ; + date_tag->day = today->tm_mday ; + date_tag->hour = today->tm_hour ; + date_tag->minute = today->tm_min ; + date_tag->second = today->tm_sec ; +} +/*=============================================================================* + * FUNCTION: CreateLogFile + * PURPOSE : create log file + * INPUT: + * char* FunctionName // the funtion which need to create log file + * FILE** logFile // out: the log file pointer + * + * RETURN: + * void + *============================================================================*/ +void CreateLogFile(char* FunctionName, char **fullname) +{ + int i=0, ifail = ITK_ok; + //date_t status_now; + //char* date_string = NULL; + char date_string[MAX_PATH_LENGTH]; + char logFileDir[MAX_PATH_LENGTH]; + char logFileName[MAX_PATH_LENGTH]; + + char* session_uid = NULL; + tag_t session_tag = NULLTAG; + time_t now; + struct tm *p; + + time(&now); + + logFile = NULL; + //current_time(&status_now); + p=localtime(&now); + + memset(date_string, 0, sizeof(date_string)); + sprintf(date_string,"%4d%02d%02d%02d%02d%02d",1900+p->tm_year,p->tm_mon+1 ,p->tm_mday ,p->tm_hour,p->tm_min ,p->tm_sec ); + //if( DATE_date_to_string( status_now, "%Y%m%d%H%M%S", &date_string) != ITK_ok ) + //ifail = ITK_date_to_string (status_now, &date_string ); + //if (ifail) + //{ + // printf("!*ERROR*!: Failed to get current date time\n"); + // goto CLEANUP; + //} + + memset(logFileDir, 0, sizeof(logFileDir)); + memset(logFileName, 0, sizeof(logFileName)); + //get log dir + sprintf(logFileDir, "%s", getenv("TEMP")); + printf("\n log file dir: %s\n", logFileDir); + //try to change dir to TC_USER_LOG_DIR + if(chdir(logFileDir)!=ITK_ok) + { + //not set TC_USER_LOG_DIR + //log in to default TC_LOG + memset(logFileDir, 0, sizeof(logFileDir)); + sprintf(logFileDir, "%s", getenv("TC_LOG")); + printf("\n TC_USER_LOG_DIR invalide, log file dir: %s\n", logFileDir); + if(chdir(logFileDir)!=ITK_ok) + { + //still can not change to log dir + printf("!*ERROR*!: Failed to change dir to TC_USER_LOG_DIR\n"); + goto CLEANUP; + } + } + + //get session_uid to make sure the log file name unique + POM_ask_session(&session_tag); + ITK__convert_tag_to_uid(session_tag, &session_uid); + + + //get logFileName + sprintf(logFileName, "%s_%s_%s.log", FunctionName, session_uid, date_string); + printf("log file name: %s\n", logFileName); + + *fullname = (char *)MEM_alloc(sizeof(char)*512); + sprintf(*fullname,"%s\\%s",logFileDir,logFileName); + + //for(i = 0; _access((char *)logFileName, 4) == 0; i++) + /*{ + memset(logFileName, 0, sizeof(logFileName)); + sprintf(logFileName, "%s_%s_%s_%d.log", FunctionName, session_uid, date_string, i); + } + printf("final log file name: %s\n", logFileName);*/ + + //create log file + logFile = fopen(logFileName, "w"); + +CLEANUP: + //DOFREE(date_string); + DOFREE(session_uid); +} + + +/*=============================================================================* + * FUNCTION: WriteLog + * PURPOSE : write log, if debug log File not null, write log message to log File + * INPUT: + * const char* format // debug message string + * + * RETURN: + * void + *============================================================================*/ +void WriteLog(const char* format, ...) +{ + va_list arg; + char tmp[MAX_PRINTLINE_LENGTH]; + + if(logFile) + { + //get the message + memset(tmp, 0, sizeof(tmp)); + va_start(arg, format); + vsprintf(tmp, format, arg); + va_end(arg); + + //----------print to command window for trace--------// + printf("%s\n", tmp); + + //print message to log file + fprintf(logFile, "%s\n", tmp); + fflush(logFile); + } + else + { + printf("*!Error!*: Log File Not Exist\n"); + } +} + +void CloseLog(void) +{ + if(logFile) + { + fclose(logFile); + logFile = NULL; + } +} + +//void getTypeinfo(char *type) +//{ +// int ulen = 0,i=0,tempcount=0,asd=0; +// +// char temp[128]=""; +// ulen = strlen(type); +// asd = ulen-1; +// for(i=0;i < ulen;i++) +// { +// if(type[i] == ';') +// { +// temp[tempcount] = '\0'; +// strcpy(excludetypes[typecount].type,temp); +// strcpy(temp,""); +// tempcount = 0; +// typecount = typecount + 1; +// } +// else +// { +// +// temp[tempcount] = type[i]; +// tempcount = tempcount + 1; +// if(i==asd) +// { +// temp[tempcount] = '\0'; +// strcpy(excludetypes[typecount].type,temp); +// typecount = typecount + 1; +// } +// +// } +// +// } +//} \ No newline at end of file diff --git a/HEZON_ITK/common_itk_util.h b/HEZON_ITK/common_itk_util.h new file mode 100644 index 0000000..f1e4cab --- /dev/null +++ b/HEZON_ITK/common_itk_util.h @@ -0,0 +1,31 @@ +/** +* @file common_itk_util.h +* @brief itk warpper utility function +* @author James +* @history +* =================================================================================== +* Date Name Description of Change +* 09-July-2008 James +*/ + +#ifndef COMMON_ITK_UTIL +#define COMMON_ITK_UTIL + +#ifdef __cplusplus +extern "C" { +#endif + +void CreateLogFile(char* FunctionName, char **fullname); +void WriteLog(const char* format, ...); +void CloseLog(void); +void set_bypass(logical bypass); +//int FindDatasetReferenceExt( tag_t datasettype, const char *datasettype_ref, char ext[10] ); +//int CompareDate( date_t date1, date_t date2 ); +//int GetRandomTempFile( char tempFile[256] ); +//logical IsItemRevisionType( char object_type[WSO_name_size_c + 1] ); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/HEZON_ITK/declib.dll b/HEZON_ITK/declib.dll new file mode 100644 index 0000000..1697021 Binary files /dev/null and b/HEZON_ITK/declib.dll differ diff --git a/HEZON_ITK/epm_handler_common.h b/HEZON_ITK/epm_handler_common.h new file mode 100644 index 0000000..977449f --- /dev/null +++ b/HEZON_ITK/epm_handler_common.h @@ -0,0 +1,69 @@ +/** +* @addtogroup handler +* @{ +*/ + +/** +* @file epm_handler_common.h +* @brief handler functions declation +* @date 2011/4/12 +* @author Ray +* @history +* =================================================================================== +* Date Name Description +* 12-Apr-2011 Ray created +*/ + + +#ifndef EPM_HANDLER_COMMON +#define EPM_HANDLER_COMMON + +#include +#include + + + +#ifdef __cplusplus +extern "C" { +#endif + + + using namespace std; + + +#define TC_specification "IMAN_specification" +//#define NX_3W_DATASET_TYPE "UGMASTER" +//#define NX_2W_DATASET_TYPE "UGPART" +//#define DATASET_REF_TYPE "UGPART" + +int bs_file_transfer(EPM_action_message_t msg); +int bs_sap_material(EPM_action_message_t msg); +int bs_sap_bom(EPM_action_message_t msg); +int bs_bom_check(EPM_rule_message_t msg); +int bs_wl_check(EPM_rule_message_t msg); +int bs_bom_save_check(METHOD_message_t *msg, va_list args); +int bs_sign_cad(EPM_action_message_t msg); +int jd_signoff(EPM_action_message_t msg); +int bs_test_release_check(EPM_action_message_t msg); +int bs_bypass(void *retValType); +int jd_schedule_joint(EPM_action_message_t msg); +int jd_batch_process(EPM_action_message_t msg); +int jd_add_attachments(EPM_action_message_t msg); + + ////��������Ϣǩ��汾������ȥ + //int qtmc_sign_ir(EPM_action_message_t msg); + + + + + //user service end +#ifdef __cplusplus +} +#endif + +#endif + + +/** +* @} +*/ \ No newline at end of file diff --git a/HEZON_ITK/epm_register_handler.cxx b/HEZON_ITK/epm_register_handler.cxx new file mode 100644 index 0000000..de89c37 --- /dev/null +++ b/HEZON_ITK/epm_register_handler.cxx @@ -0,0 +1,217 @@ +/*=================================================================================================== + Copyright(c) 2011 Siemens PLM Software Corp. All rights reserved. + Unpublished - All rights reserved +==================================================================================================== +File description: + + Filename : epm_register_handler.c + + This file registers functions which are called when Teamcenter is being initialized + +==================================================================================================== +Date Name Description of Change +2011-8-21 Ray wei creation + +$HISTORY$ +==================================================================================================*/ + +#pragma warning (disable: 4819) + +/** +* @headerfile tcua ͷ�ļ� +*/ +#include +#include +#include + +/** +* @headerfile standard c & cpp header files +*/ +#include +#include +#include +#include +#include + + +/** +* @headerfile user's header files +*/ +#include "epm_register_handler.h" +#include "epm_handler_common.h" + + + +// Method and Workflow Handler +extern DLLAPI int CUST_init_module(int *decision, va_list args) +{ + int ifail = ITK_ok, n = 0; + char date_buf[80], *expire_date; + time_t now; + struct tm *p; + + *decision = ALL_CUSTOMIZATIONS; + + printf("register start\n"); + ifail = EPM_register_action_handler("bs_file_transfer", "bs_file_transfer", + (EPM_action_handler_t)bs_file_transfer); + if (ifail) + { + printf("register bs_file_transfer failed\n"); + } + else + { + printf("register bs_file_transfer successfully\n"); + + } + ifail = EPM_register_action_handler("bs_sap_material", "bs_sap_material", + (EPM_action_handler_t)bs_sap_material); + if (ifail) + { + printf("register bs_sap_material failed\n"); + } + else + { + printf("register bs_sap_material successfully\n"); + + } + ifail = EPM_register_action_handler("bs_sap_bom", "bs_sap_bom", + (EPM_action_handler_t)bs_sap_bom); + if (ifail) + { + printf("register bs_sap_bom failed\n"); + } + else + { + printf("register bs_sap_bom successfully\n"); + + } + ifail = EPM_register_rule_handler("bs_bom_check", "bs_bom_check", (EPM_rule_handler_t)bs_bom_check); + if (ifail) + { + printf("register bs_bom_check failed\n"); + } + else + { + printf("register bs_bom_check successfully\n"); + + } + ifail = EPM_register_rule_handler("bs_wl_check", "bs_wl_check", (EPM_rule_handler_t)bs_wl_check); + if (ifail) + { + printf("register bs_wl_check failed\n"); + } + else + { + printf("register bs_wl_check successfully\n"); + + } + ifail = EPM_register_action_handler("bs_sign_cad", "bs_sign_cad", + (EPM_action_handler_t)bs_sign_cad); + if (ifail) + { + printf("register bs_sign_cad failed\n"); + } + else + { + printf("register bs_sign_cad successfully\n"); + + } + ifail = EPM_register_action_handler("bs_test_release_check", "bs_test_release_check", + (EPM_action_handler_t)bs_test_release_check); + if (ifail) + { + printf("register bs_test_release_check failed\n"); + } + else + { + printf("register bs_test_release_check successfully\n"); + + } + + ifail = EPM_register_action_handler("jd_signoff", "jd_signoff", + (EPM_action_handler_t)jd_signoff); + if (ifail) { + printf("register jd_signoff failed\n"); + } + else { + printf("register jd_signoff successfully\n"); + + } + ifail = EPM_register_action_handler("jd_schedule_joint", "jd_schedule_joint", + (EPM_action_handler_t)jd_schedule_joint); + if (ifail == ITK_ok) { + fprintf(stdout, "Registering action handler jd_schedule_joint completed!\n"); + } else { + fprintf(stdout, "Registering action handler jd_schedule_joint failed %d!\n", ifail); + } + ifail = EPM_register_action_handler("jd_batch_process", "jd_batch_process", + (EPM_action_handler_t)jd_batch_process); + if (ifail) { + printf("register jd_batch_process failed\n"); + } else { + printf("register jd_batch_process successfully\n"); + + } + ifail = EPM_register_action_handler("jd_add_attachments", "jd_add_attachments", + (EPM_action_handler_t)jd_add_attachments); + if (ifail) { + printf("register jd_add_attachments failed\n"); + } else { + printf("register jd_add_attachments successfully\n"); + + } + //if(ifail == ITK_ok) + //{ + // fprintf(stdout,"Registering action handler qtmc-sign-ir completed!\n"); + //} + //else + //{ + // fprintf(stdout , "Registering action handler qtmc-sign-ir failed %d!\n",ifail); + //} + + + return ifail; +} +// +////register service method +extern DLLAPI int USERSERVICE_custom_register_methods() +{ + int status = 0; + + METHOD_id_t mth_tag; + METHOD_find_method("BOMWindow", "BOMWindow_save", &mth_tag); + printf("register service\n"); + if (mth_tag.id) + { + printf("register bomwindow_save\n"); + status = METHOD_add_action(mth_tag, METHOD_pre_action_type, (METHOD_function_t)bs_bom_save_check, NULL); + if (status == ITK_ok) + { + printf("register bomwindow_save success\n"); + + } + else + { + printf("register bomwindow_save failed\n"); + + } + + int numberOfArguments = 1, + returnValueType = USERARG_STRING_TYPE, + *argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int)); + argumentList[0] = USERARG_LOGICAL_TYPE;; + USER_function_t functionPtr; + functionPtr = bs_bypass; + status = USERSERVICE_register_method("bs_bypass", functionPtr, numberOfArguments, argumentList, returnValueType); + if (status == ITK_ok) { + printf("register bs_bypass success\n"); + } else { + printf("register bs_bypass failed\n"); + + } + } + + return 0; +} + diff --git a/HEZON_ITK/epm_register_handler.h b/HEZON_ITK/epm_register_handler.h new file mode 100644 index 0000000..bf79702 --- /dev/null +++ b/HEZON_ITK/epm_register_handler.h @@ -0,0 +1,36 @@ + +/*================================================================================= +* @file epm_register_handler.h +* @brief itk user exits function declation, to register custom handlers +* @date 2009/2/13 +* @author Ray Li +* @history +* =================================================================================== +* Date Name Description +* 13-Feb-2009 Ray created +*===================================================================================*/ + + +#ifndef EPM_REGISTER_HANDLER_CUSTOM +#define EPM_REGISTER_HANDLER_CUSTOM + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +extern DLLAPI int CUST_init_module(int *, va_list); +extern DLLAPI int USERSERVICE_custom_register_methods(); + + +#ifdef __cplusplus +} +#endif + +#endif + + +/** +* @} +*/ \ No newline at end of file diff --git a/HEZON_ITK/hezon_by_pass.cxx b/HEZON_ITK/hezon_by_pass.cxx new file mode 100644 index 0000000..36ac06f --- /dev/null +++ b/HEZON_ITK/hezon_by_pass.cxx @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2003-2005 UGS Corporation + Unpublished - All Rights Reserved + + File :qtmc_by_pass.cpp + Module : user_exits + + + +============================================================================================================ +DATE Name Description of Change +30_OTC_2014 mengyawei creation +$HISTORY$ + +============================================================================================================*/ + +#include +#include "epm_handler_common.h" + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + extern "C" int POM_AM__set_application_bypass(logical bypass); + + int qtmc_by_pass(void *retValType) + { + int ifail = ITK_ok; + + logical bypass = FALSE; + + USERARG_get_logical_argument( &bypass ); + + POM_AM__set_application_bypass( bypass ); + + return ifail; + } + +#ifdef __cplusplus +} +#endif \ No newline at end of file diff --git a/HEZON_ITK/jd_add_attachments.cpp b/HEZON_ITK/jd_add_attachments.cpp new file mode 100644 index 0000000..fa5fd38 --- /dev/null +++ b/HEZON_ITK/jd_add_attachments.cpp @@ -0,0 +1,119 @@ + +#include "epm_handler_common.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "tc/envelope.h" +#include +#include "ae/dataset.h" +#include +#include +#include +#include +#include +#include +#include +#include "ce/ce.h" +#include +#include +#include +#include +#include +#include "string" +#include "sstream" +#include +#include +#include +#include
+#include "ctime" +#include "tchar.h" +#include +#include +#include + +using namespace std; +extern "C" int POM_AM__set_application_bypass(logical bypass); + +int jd_add_attachments(EPM_action_message_t msg) { + POM_AM__set_application_bypass(true); + tag_t root_task, *attachments; + int att_cnt; + EPM_ask_root_task(msg.task, &root_task); + EPM_ask_attachments(root_task, EPM_target_attachment, &att_cnt, &attachments); + TC_argument_list_t *arguments = msg.arguments; + int arg_cnt = TC_number_of_arguments(arguments); + map paras; + for (auto i = 0; i < arg_cnt; i++) { + char *temp_key, *temp_val; + ITK_ask_argument_named_value(TC_next_argument(arguments), &temp_key, &temp_val); + paras[temp_key] = temp_val; + } + const char *relation = paras["realtion"].c_str(); + const char *item = paras["item"].c_str(); + printf("relation:%s\n", relation); + printf("item:%s\n", item); + + vector csjh_rev; + vector csjh_type; + for (int i = 0;i < att_cnt;i++) { + char *att_type; + AOM_ask_value_string(attachments[i], "object_type", &att_type); + if (tc_strcmp(att_type, "ItemRevision") == 0) { + tag_t *csjh; + int csjh_cnt; + AOM_ask_value_tags(attachments[i], relation, &csjh_cnt, &csjh); + for (int ii = 0;ii < csjh_cnt;ii++) { + char *item_type; + AOM_ask_value_string(csjh[ii], "object_type", &item_type); + if (tc_strcmp(item_type, item) == 0) { + tag_t *csjh_revs; + int rev_cnt; + date_t date = NULLDATE; + AOM_ask_value_tags(csjh[i], "revision_list", &rev_cnt, &csjh_revs); + AOM_ask_value_date(csjh_revs[rev_cnt - 1], "date_released", &date); + if (DATE_IS_NULL(date)) { + char *name; + AOM_ask_value_string(csjh_revs[rev_cnt - 1], "object_string", &name); + printf("%s add success\n", name); + csjh_rev.push_back(csjh_revs[rev_cnt - 1]); + csjh_type.push_back(EPM_target_attachment); + } + MEM_free(csjh_revs); + } + } + MEM_free(csjh); + } + } + + if (csjh_rev.size() > 0) { + tag_t *atts = &csjh_rev[0]; + int *types = &csjh_type[0]; + EPM_add_attachments(root_task, csjh_rev.size(), atts, types); + } + + POM_AM__set_application_bypass(false); + return 0; +} \ No newline at end of file diff --git a/HEZON_ITK/jd_batch_process.cpp b/HEZON_ITK/jd_batch_process.cpp new file mode 100644 index 0000000..ed30741 --- /dev/null +++ b/HEZON_ITK/jd_batch_process.cpp @@ -0,0 +1,209 @@ +#include "HTTPRequest.hpp" +#include "epm_handler_common.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "tc/envelope.h" +#include +#include "ae/dataset.h" +#include +#include +#include +#include +#include +#include +#include +#include "ce/ce.h" +#include +#include +#include +#include +#include +#include "string" +#include "sstream" +#include +#include +#include +#include +#include "ctime" +#include "tchar.h" +#include +#include +#include + +using namespace std; + +DWORD WINAPI sendRequest(void *uid) { + try { + char *pref_values; + PREF_ask_char_value("jd2_server_ip", 0, &pref_values); + if (strlen(pref_values) != 0) { + stringstream ss; + ss << "http://"; + ss << pref_values; + ss << ":8880/api/deleteJob?uid="; + ss << (char *)uid; + printf("request url====>%s\n", ss.str().c_str()); + http::Request request(ss.str().c_str()); + const http::Response response = request.send("GET"); + std::cout << std::string(response.body.begin(), response.body.end()) << '\n'; // print the result + } else { + printf("jd2_server_ip error\n"); + } + } catch (const std::exception& e) { + std::cerr << "Request failed, error: " << e.what() << '\n'; + } + return 0; +} + +int jd_batch_process(EPM_action_message_t msg) { + + int ifail = EPM_go, att_count, tag_cnt, rel_cnt, type = EPM_reference_attachment; + tag_t rootTask, *attachments, win, top, *tags, tag, *rels, job, process_template, new_process; + char *val; + EPM_ask_root_task(msg.task, &rootTask); + EPM_ask_job(msg.task, &job); + EPM_ask_attachments(rootTask, EPM_target_attachment, &att_count, &attachments); + if (att_count < 2) + return 0; + printf("att_count:%d\n", att_count); + AOM_ask_value_tag(job, "process_template", &process_template); + vector process_vec; + + + for (int i = 0; i < att_count; i++) { + + char *object_string, *object_type; + AOM_ask_value_string(attachments[i], "object_type", &object_type); + AOM_ask_value_string(attachments[i], "object_string", &object_string); + printf("object_type:%s object_string:%s\n", object_type, object_string); + tag_t new_process; + ITKCALL(EPM_create_process(object_string, "", process_template, 1, &attachments[i], &type, &new_process)); + process_vec.push_back(new_process); + } + int sub_cnt; + tag_t *tasks; + EPM_ask_sub_tasks(rootTask, &sub_cnt, &tasks); + map> task_map; + for (int i = 0;i < sub_cnt;i++) { + char *task_name, *task_type; + AOM_ask_value_string(tasks[i], "object_name", &task_name); + AOM_ask_value_string(tasks[i], "object_type", &task_type); + vector tags; + if (tc_strcmp("EPMDoTask", task_type) == 0) { + tag_t assignee; + + AOM_ask_value_tag(tasks[i], "fnd0Assignee", &assignee); + tags.push_back(assignee); + } else { + tag_t *signoffs; + int signoff_cnt; + AOM_ask_value_tags(tasks[i], "valid_signoffs", &signoff_cnt, &signoffs); + printf("name:%s valid cnt:%d\n", task_name, signoff_cnt); + for (int j = 0;j < signoff_cnt;j++) { + tag_t member; + AOM_ask_value_tag(signoffs[j], "group_member", &member); + tags.push_back(member); + } + } + task_map[task_name] = tags; + } + + for (auto i = 0;i < process_vec.size();i++) { + + ITKCALL(AOM_refresh(process_vec[i], false)); + + tag_t root; + EPM_ask_root_task(process_vec[i], &root); + + + EPM_ask_sub_tasks(root, &sub_cnt, &tasks); + for (auto j = 0;j < sub_cnt;j++) { + char *task_name, *task_type; + AOM_ask_value_string(tasks[j], "object_name", &task_name); + if (task_map[task_name].size() == 0) + continue; + AOM_ask_value_string(tasks[j], "object_type", &task_type); + if (tc_strcmp("EPMDoTask", task_type) == 0) { + EPM_assign_responsible_party(tasks[j], task_map[task_name][0]); + } else { + + tag_t sub_task; + int *types = (int*)MEM_alloc(task_map[task_name].size()); + + EPM_ask_sub_task(tasks[j], "select-signoff-team", &sub_task); + if (sub_task) { + for (int k = 0;k < task_map[task_name].size();k++) { + int temp_cnt; + tag_t *temp; + EPM_create_adhoc_signoff(sub_task, task_map[task_name][k], &temp_cnt, &temp); + + } + EPM_set_adhoc_signoff_selection_done(sub_task, true); + + if (j == 0) { + EPM_trigger_action(tasks[0], EPM_complete_action, ""); + } + } + } + } + } + + printf("ʼתΪĿ\n"); + int ref_cnt; + tag_t *refs; + tag_t root_task1; + for (int i = 0;i < att_count;i++) { + EPM_ask_root_task(process_vec[i], &root_task1); + EPM_ask_attachments(root_task1, EPM_reference_attachment, &ref_cnt, &refs); + char *name1; + AOM_ask_value_string(attachments[i], "object_string", &name1); + for (int ii = 0;ii < ref_cnt; ii++) { + char *name2; + AOM_ask_value_string(refs[ii], "object_string", &name2); + if (tc_strcmp(name1, name2) == 0) { + printf("object_string======>%s\n", name1); + tag_t *new_atts = (tag_t *)MEM_alloc(sizeof(tag_t)); + new_atts[0] = attachments[i]; + int types[1]; + types[0] = EPM_target_attachment; + int types1[1]; + types1[0] = EPM_reference_attachment; + ITKCALL(EPM_add_attachments(root_task1, 1, new_atts, types)); + EPM_remove_attachments_from_att_type(root_task1, 1, new_atts, types1); + break; + } + } + } + + EMH_clear_errors(); + char *uid; + ITK__convert_tag_to_uid(job, &uid); + printf("start delete job_uid======>%s\n", uid); + HANDLE thread = CreateThread(NULL, 0, sendRequest, uid, 0, NULL); + CloseHandle(thread); + return 0; +} \ No newline at end of file diff --git a/HEZON_ITK/jd_clear_field.cpp b/HEZON_ITK/jd_clear_field.cpp new file mode 100644 index 0000000..8d21103 --- /dev/null +++ b/HEZON_ITK/jd_clear_field.cpp @@ -0,0 +1,568 @@ +#include "jd_clear_field.h" +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "sstream" +#include "atlstr.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "tc/envelope.h" +#include +#include "ae/dataset.h" +#include +#include +#include +#include +#include +#include +#include +#include "ce/ce.h" +#include +#include +#include +#include +#include +#include "string" +#include "sstream" +#include +#include +#include +#include +#include "ctime" +#include "tchar.h" +#include "jni.h" + +#ifdef WIN32 +#include +#include +#else +#include +#include +#endif +#include +#include +#define MAX_PATH_LEN 256 + +#define GUID_LEN 64 + +#ifdef WIN32 +#define ACCESS(fileName,accessMode) _access(fileName,accessMode) +#define MKDIR(path) _mkdir(path) +#else +#define ACCESS(fileName,accessMode) access(fileName,accessMode) +#define MKDIR(path) mkdir(path,S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) +#endif + +#define LOCALJARPATH "D:\\Siemens\\Teamcenter12\\bin\\tc_extra_jar\\" +#define REMOTEJARPATH "D:\\app\\Siemens\\Teamcenter12\\bin\\tc_extra_jar\\" + +//#include +using namespace std; +#ifdef __cplusplus +extern "C" int POM_AM__set_application_bypass(logical bypass); +extern "C" { +#endif + + int32_t createDirectory(const std::string &directoryPath) { + uint32_t dirPathLen = directoryPath.length(); + if (dirPathLen > MAX_PATH_LEN) { + return -1; + } + char tmpDirPath[MAX_PATH_LEN] = { 0 }; + for (uint32_t i = 0; i < dirPathLen; ++i) { + tmpDirPath[i] = directoryPath[i]; + if (tmpDirPath[i] == '\\' || tmpDirPath[i] == '/') { + if (ACCESS(tmpDirPath, 0) != 0) { + int32_t ret = MKDIR(tmpDirPath); + if (ret != 0) { + return ret; + } + } + } + } + return 0; + } + + static void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file, + const char *new_file_path, char *ref_name) { + IMF_file_data_p_t file_data; + int index = 0; + char *name; + + IMF_get_file_access(old_file, 0, &file_data); + + tag_t new_file_tag = NULLTAG; + AOM_lock(old_file); + + IMF_ask_original_file_name2(old_file, &name); + + IMF_replace_file_and_get_new_tag(old_file, new_file_path, + FALSE, &new_file_tag); + + AOM_lock(dataset_tag); + + AE_replace_dataset_named_ref2(dataset_tag, old_file, ref_name, + AE_PART_OF, new_file_tag); + AE_save_myself(dataset_tag); + + IMF_set_original_file_name2(new_file_tag, name); + AOM_unlock(dataset_tag); + IMF_release_file_access(&file_data); + } + + bool isTypeOf(tag_t objtag, const char * type_name) { + tag_t type = NULLTAG; + TCTYPE_ask_object_type(objtag, &type); + tag_t item_type = NULLTAG; + TCTYPE_find_type(type_name, "", &item_type); + bool is_type = false; + if (item_type != NULLTAG) { + logical isok = FALSE; + TCTYPE_is_type_of(type, item_type, &isok); + if (isok) { + is_type = true; + } + } + return is_type; + } + + string GBKToUTF8(const char* strGBK) { + int len = MultiByteToWideChar(CP_ACP, 0, strGBK, -1, NULL, 0); + wchar_t* wstr = new wchar_t[len + 1]; + memset(wstr, 0, len + 1); + MultiByteToWideChar(CP_ACP, 0, strGBK, -1, wstr, len); + len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL); + char* str = new char[len + 1]; + memset(str, 0, len + 1); + WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL); + string strTemp = str; + if (wstr) delete[] wstr; + if (str) delete[] str; + return strTemp; + } + + + /* + 映射 + -path 路径 + -name 用户名 + */ + static int sign(JNIEnv* env, jclass class_Test, const char* path, char* name, char* sign_location, char* sign_str) { + printf("signin\n"); + jmethodID methodId_main = env->GetStaticMethodID(class_Test, "sign", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I"); + if (methodId_main == NULL) { + printf("error, check jar location\n"); + return 0; + } + string path1 = GBKToUTF8(path); + string name1 = GBKToUTF8(name); + string sign_location1 = GBKToUTF8(sign_location); + string sign_str1 = GBKToUTF8(sign_str); + jstring jpath = env->NewStringUTF(path1.c_str()); + jstring jname = env->NewStringUTF(name1.c_str()); + jstring jsign_location = env->NewStringUTF(sign_location1.c_str()); + jstring jsign_str = env->NewStringUTF(sign_str1.c_str()); + printf("path:%s\nname:%s\nsign_location:%s\nsign_str:%s\n", path1.c_str(), name1.c_str(), sign_location1.c_str(), sign_str1.c_str()); + jint result = 0; + result = env->CallStaticIntMethod(class_Test, methodId_main, jpath, jname, jsign_location, jsign_str); + int res = result; + printf("result:%d\n", res); + printf("signout\n"); + return res; + } + + void add_path(JNIEnv* env, const std::string& path) { + const std::string urlPath = "file:/" + path; + jclass classLoaderCls = env->FindClass("java/lang/ClassLoader"); + printf("111\n"); + jmethodID getSystemClassLoaderMethod = env->GetStaticMethodID(classLoaderCls, "getSystemClassLoader", "()Ljava/lang/ClassLoader;"); + jobject classLoaderInstance = env->CallStaticObjectMethod(classLoaderCls, getSystemClassLoaderMethod); + jclass urlClassLoaderCls = env->FindClass("java/net/URLClassLoader"); + jmethodID addUrlMethod = env->GetMethodID(urlClassLoaderCls, "addURL", "(Ljava/net/URL;)V"); + jclass urlCls = env->FindClass("java/net/URL"); + jmethodID urlConstructor = env->GetMethodID(urlCls, "", "(Ljava/lang/String;)V"); + jobject urlInstance = env->NewObject(urlCls, urlConstructor, env->NewStringUTF(urlPath.c_str())); + env->CallVoidMethod(classLoaderInstance, addUrlMethod, urlInstance); + std::cout << "Added " << urlPath << " to the classpath." << std::endl; + } + + int JD_clear(METHOD_message_t* msg, va_list args, tag_t new_rev) { + printf("升版执行\n"); + //获取数据集 + const char *sign_location1, *sign_str; + char *temp_path, *attach_type,*prop,**pref_values1; + int n_attachs, pref_count1; + tag_t ref_obj, excelx_tag, excel_tag, wordx_tag, word_tag, type_tag, word_ref, excel_ref, *dataset; + stringstream sign_date; + ITEM_attached_object_t *rev_attachments; + AE_reference_type_t ae_ref; + TCTYPE_find_type("MSExcelX", "Dataset", &excelx_tag); + TCTYPE_find_type("MSExcel", "Dataset", &excel_tag); + TCTYPE_find_type("MSWord", "Dataset", &word_tag); + TCTYPE_find_type("MSWordX", "Dataset", &wordx_tag); + temp_path = getenv("temp"); + + printf("temp_path:%s\n", temp_path); + + //创建tc_export目录 + stringstream dir; + dir << temp_path; + dir << "\\tc_export\\"; + createDirectory(dir.str()); + + printf("dir:%s\n", dir.str().c_str()); + + //获取guid + char buffer[GUID_LEN] = { 0 }; + GUID guid; + + if (CoCreateGuid(&guid)) { + fprintf(stderr, "create guid error\n"); + return -1; + } + _snprintf(buffer, sizeof(buffer), + "%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X", + guid.Data1, guid.Data2, guid.Data3, + guid.Data4[0], guid.Data4[1], guid.Data4[2], + guid.Data4[3], guid.Data4[4], guid.Data4[5], + guid.Data4[6], guid.Data4[7]); + printf("guid: %s\n", buffer); + + POM_AM__set_application_bypass(true); + + //申请虚拟机 + wstringstream wss; + wss << getenv("JRE_HOME") << "\\bin\\server\\jvm.dll"; + + printf("wxs:%s\n", wss.str().c_str()); + + JavaVMInitArgs vmArgs; + const int OPTION_COUNT = 1; + vmArgs.nOptions = OPTION_COUNT; + JavaVMOption options[OPTION_COUNT] = { 0 }; + options[0].optionString = "-Xmx1024m"; + vmArgs.options = options; + vmArgs.version = JNI_VERSION_1_8; + vmArgs.ignoreUnrecognized = JNI_TRUE; + printf("before load dll\n"); + HMODULE hModule = LoadLibrary(wss.str().c_str()); + if (hModule == NULL) { + printf("error load dll"); + return -1; + } + printf("after load dll\n"); + typedef jint(JNICALL *CreateJavaVMFuncPtr)(JavaVM **pvm, void **penv, void *args); + CreateJavaVMFuncPtr CreateJavaVM = (CreateJavaVMFuncPtr)GetProcAddress(hModule, "JNI_CreateJavaVM"); + typedef jint(JNICALL * GetCreatedJavaVMs)(JavaVM**, jsize, jsize*); + + GetCreatedJavaVMs jni_GetCreatedJavaVMs; + jni_GetCreatedJavaVMs = (GetCreatedJavaVMs)GetProcAddress(GetModuleHandle( + TEXT("jvm.dll")), "JNI_GetCreatedJavaVMs"); + JavaVM *jvm = nullptr, *jvms; + JNIEnv *env = nullptr; + jsize size = 0; + jni_GetCreatedJavaVMs(&jvms, 0, &size); + printf("before load jvm\n"); + if (size) { + JavaVM** buffer = new JavaVM*[size]; + jni_GetCreatedJavaVMs(buffer, size, &size); + buffer[0]->GetEnv((void**)&env, JNI_VERSION_1_8); + jint result = buffer[0]->AttachCurrentThread((void**)&env, NULL); + } else { + jint res = (*CreateJavaVM)(&jvm, (void**)&env, &vmArgs); + if (res < 0) { + printf("error load jvm"); + return -1; + } + } + + printf("after load jvm\n"); + + + stringstream s; + if (ACCESS(LOCALJARPATH, 0) != 0) { + s << REMOTEJARPATH; + s << "sign2fileRunnable.jar"; + add_path(env, s.str().c_str()); + } else { + s << LOCALJARPATH; + s << "sign2fileRunnable.jar"; + add_path(env, s.str().c_str()); + } + + printf("add path\n"); + jclass class_Test; + int file_type = -1; + + int ifail = ITK_ok, objects_count; + + tag_t *objects; + + + ITKCALL(AOM_ask_value_tags(new_rev, "IMAN_master_form_rev", &objects_count, &objects)); + + PREF_ask_char_values("jd2_signoff_list", &pref_count1, &pref_values1); + stringstream temps; + for (int i = 0;i < pref_count1;i++) { + temps << pref_values1[i]; + temps << ","; + } + //表单签名 + for (auto iii = 0; iii < objects_count; iii++) { + AOM_lock(objects[iii]); + for (int i = 0;i < pref_count1;i++) { + sign_date.str(""); + sign_date << pref_values1[i]; + sign_date << "rq"; + AOM_ask_value_string(objects[iii], pref_values1[i], &prop); + if (tc_strlen(prop) != 0) { + AOM_set_value_string(objects[iii], pref_values1[i], ""); + AOM_set_value_string(objects[iii], sign_date.str().c_str(), ""); + } + } + printf("sign clear\n"); + ITKCALL(AOM_save(objects[iii])); + AOM_unlock(objects[iii]); + } + MEM_free(objects); + + printf("startSign\n"); + ITKCALL(AOM_ask_value_tags(new_rev, "IMAN_specification", &n_attachs, &dataset)); + for (int i = 0;i < n_attachs;i++) { + stringstream ss; + ss << dir.str().c_str(); + printf(ss.str().c_str()); + ITKCALL(TCTYPE_ask_object_type(dataset[i], &type_tag)); + if (type_tag == wordx_tag || type_tag == word_tag) { + ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "word", &ae_ref, &word_ref)); + char *file_name; + ITKCALL(AOM_UIF_ask_value(word_ref, "file_name", &file_name)); + ss << buffer; + ss << "_"; + ss << file_name; + printf("path:%s\n", ss.str().c_str()); + ITKCALL(AE_export_named_ref(dataset[i], "word", ss.str().c_str())); + file_type = 0; + } else if (type_tag == excel_tag || type_tag == excelx_tag) { + ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "excel", &ae_ref, &excel_ref)); + char *file_name; + ITKCALL(AOM_UIF_ask_value(excel_ref, "file_name", &file_name)); + ss << buffer; + ss << "_"; + ss << file_name; + printf("path:%s\n", ss.str().c_str()); + ITKCALL(AE_export_named_ref(dataset[i], "excel", ss.str().c_str())); + file_type = 1; + } + + printf("file_type:%d\n", file_type); + if (file_type == 0) { + class_Test = env->FindClass("sign2file/SignToWord"); + int res = sign(env, class_Test, ss.str().c_str(), "", "clear", (char*)temps.str().c_str()); + if (res) { + replace_dataset_named_reference(dataset[i], word_ref, ss.str().c_str(), "word"); + } + } else if (file_type == 1) { + class_Test = env->FindClass("sign2file/SignToExcel"); + int res = sign(env, class_Test, ss.str().c_str(), "", "clear", (char*)temps.str().c_str()); + if (res) { + replace_dataset_named_reference(dataset[i], excel_ref, ss.str().c_str(), "excel"); + } + } + file_type = -1; + } + MEM_free(dataset); + AOM_ask_value_tags(new_rev, "TC_Attaches", &n_attachs, &dataset); + for (int i = 0;i < n_attachs;i++) { + stringstream ss; + ss << dir.str().c_str(); + ITKCALL(TCTYPE_ask_object_type(dataset[i], &type_tag)); + if (type_tag == wordx_tag || type_tag == word_tag) { + ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "word", &ae_ref, &word_ref)); + char *file_name; + ITKCALL(AOM_UIF_ask_value(word_ref, "file_name", &file_name)); + ss << buffer; + ss << "_"; + ss << file_name; + printf("path:%s\n", ss.str().c_str()); + ITKCALL(AE_export_named_ref(dataset[i], "word", ss.str().c_str())); + file_type = 0; + } else if (type_tag == excel_tag || type_tag == excelx_tag) { + ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "excel", &ae_ref, &excel_ref)); + char *file_name; + ITKCALL(AOM_UIF_ask_value(excel_ref, "file_name", &file_name)); + ss << buffer; + ss << "_"; + ss << file_name; + printf("path:%s\n", ss.str().c_str()); + ITKCALL(AE_export_named_ref(dataset[i], "excel", ss.str().c_str())); + file_type = 1; + } + + printf("file_type:%d\n", file_type); + if (file_type == 0) { + class_Test = env->FindClass("sign2file/SignToWord"); + int res = sign(env, class_Test, ss.str().c_str(), "", "clear", (char*)temps.str().c_str()); + if (res) { + replace_dataset_named_reference(dataset[i], word_ref, ss.str().c_str(), "word"); + } + } else if (file_type == 1) { + class_Test = env->FindClass("sign2file/SignToExcel"); + int res = sign(env, class_Test, ss.str().c_str(), "", "clear", (char*)temps.str().c_str()); + if (res) { + replace_dataset_named_reference(dataset[i], excel_ref, ss.str().c_str(), "excel"); + } + } + file_type = -1; + } + MEM_free(dataset); + printf("endSign\n"); + + FreeLibrary(hModule); + POM_AM__set_application_bypass(false); + return ITK_ok; + } + + int JD_Revise_clear(METHOD_message_t* msg, va_list args) { + + tag_t new_rev = va_arg(args, tag_t); + char *operation = va_arg(args, char*), **pref_values, *type; + int ifail = ITK_ok, pref_count; + AOM_ask_value_string(new_rev, "object_type", &type); + printf("operation======>%s\n", operation); + if (strcmp(operation, "Revise") == 0 || strcmp(operation, "SaveAs") == 0) { + if (isTypeOf(new_rev, "ItemRevision")) { + //获取首选项 + PREF_ask_char_values("jd_revise_clear_revisions",&pref_count,&pref_values); + for (int i = 0;i < pref_count;i++) { + if (strcmp(pref_values[i],type)==0) { + JD_clear(msg, args, new_rev); + break; + } + } + } + + } + + return ifail; + } + + extern int Register_revise_msg(void) { + int status = ITK_ok; + char *err_string, *err_function; + int err_line = -1; + printf("JD_Revise_clear函数开始注册\n"); + + METHOD_id_t mth_tag; + ITKCALL(status = METHOD_find_method("ItemRevision", ITEM_deep_copy_msg, &mth_tag)); + if (mth_tag.id != 0) { + ITKCALL(METHOD_add_action(mth_tag, METHOD_post_action_type, JD_Revise_clear, NULL)); + printf("JD_Revise_clear注册成功\n"); + } + return status; + } + +#ifdef __cplusplus +} +#endif + + + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +/** +* @headerfile standard c & cpp header files +*/ +#include +#include +#include +#include +#include +#include +#include +#include +using namespace std; + +/** +* @headerfile user's header files +*/ + + + diff --git a/HEZON_ITK/jd_clear_field.h b/HEZON_ITK/jd_clear_field.h new file mode 100644 index 0000000..b25d12b --- /dev/null +++ b/HEZON_ITK/jd_clear_field.h @@ -0,0 +1,32 @@ + +#ifndef W2_CLEAR_FORM_PROPVALUE +#define W2_CLEAR_FORM_PROPVALUE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#ifdef __cplusplus +extern "C" { +#endif + extern USER_EXT_DLL_API int JD_Revise_clear( METHOD_message_t* msg, va_list args ); + extern int Register_revise_msg(void); + +#ifdef __cplusplus +} +#endif +#include +#endif \ No newline at end of file diff --git a/HEZON_ITK/jd_schedule_joint.cpp b/HEZON_ITK/jd_schedule_joint.cpp new file mode 100644 index 0000000..dfc267d --- /dev/null +++ b/HEZON_ITK/jd_schedule_joint.cpp @@ -0,0 +1,158 @@ +#include "epm_handler_common.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "tc/envelope.h" +#include +#include "ae/dataset.h" +#include +#include +#include +#include +#include +#include +#include +#include "ce/ce.h" +#include +#include +#include +#include +#include +#include "string" +#include "sstream" +#include +#include +#include +#include +#include "ctime" +#include "tchar.h" + +using namespace std; +extern "C" int POM_AM__set_application_bypass(logical bypass); +/** +* ʱʾʱ +*/ +int jd_schedule_joint(EPM_action_message_t msg) { + + printf("===================================\n"); + printf("ʱ ʼ\n"); + printf("===================================\n"); + printf("Ȩ\n"); + POM_AM__set_application_bypass(true); + int ifail = ITK_ok; + tag_t tast_tag = NULL_TAG, job; + tast_tag = msg.task; + + if (tast_tag != NULL_TAG) { + char * task_name = NULL; + int count = 0; + tag_t * schdule_task_nodes = NULL; + + printf("ʼȡSCHDULE \n"); + AOM_ask_value_tags(tast_tag, "project_task_attachments", &count, &schdule_task_nodes); + printf("ȡSCHDULE count =[%d] \n", count); + //printf("task_name:%s\n",task_name); + printf("task_name-------------\n"); + if (count >0) { + + char * schdule_task_node_type = NULL; + AOM_ask_value_string(schdule_task_nodes[0], "object_type", &schdule_task_node_type); + char * scheduleTaskName = NULL; + //char finish_date_str[300] = ""; + printf("object_type:%s\n", schdule_task_node_type); + if (strcmp(schdule_task_node_type, "ScheduleTask") == 0) { + tag_t schdule = NULL_TAG; + // date_t finish_date ; + AOM_ask_value_tag(schdule_task_nodes[0], "schedule_tag", &schdule); + AOM_ask_value_string(schdule_task_nodes[0], "object_name", &scheduleTaskName); + printf("scheduleTaskName:%s\n", scheduleTaskName); + if (schdule != NULL_TAG) { + + char * job_name = NULL; + EPM_ask_job(tast_tag, &job); + AOM_ask_value_string(job, "object_name", &job_name); + stringstream ss; + tag_t* project_list; + int project_cnt; + char* project_name = NULL; + char* project_id = NULL; + AOM_ask_value_tags(schdule,"project_list",&project_cnt,&project_list); + if (project_list!=NULL) { + AOM_ask_value_string(project_list[0], "project_id", &project_id); + AOM_ask_value_string(project_list[0], "object_name", &project_name); + ss << job_name; + ss << "-"; + ss << project_id; + ss << "-"; + ss << project_name; + printf("new job name %s\n", ss.str().c_str()); + + AOM_lock(job); + AOM_set_value_string(job, "object_name", ss.str().c_str()); + //printf("str:%s\n", finish_date_str); + printf("\n"); + AOM_save(job); + AOM_unlock(job); + } + + if (job_name != NULL) { + MEM_free(job_name); + job_name = NULL; + } + if (project_id != NULL) { + MEM_free(project_id); + project_id = NULL; + } + if (project_name != NULL) { + MEM_free(project_name); + project_name = NULL; + } + } + } + if (schdule_task_node_type != NULL) { + MEM_free(schdule_task_node_type); + schdule_task_node_type = NULL; + } + } + if (task_name != NULL) { + MEM_free(task_name); + task_name = NULL; + } + if (schdule_task_nodes != NULL) { + MEM_free(schdule_task_nodes); + schdule_task_nodes = NULL; + } + + } + printf("سȨ\n"); + POM_AM__set_application_bypass(false); + printf("===================================\n"); + printf("ʱ \n"); + printf("===================================\n"); + + return ifail; + +} diff --git a/HEZON_ITK/jd_signoff.cpp b/HEZON_ITK/jd_signoff.cpp new file mode 100644 index 0000000..9b5e670 --- /dev/null +++ b/HEZON_ITK/jd_signoff.cpp @@ -0,0 +1,581 @@ +#include "epm_handler_common.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "tc/envelope.h" +#include +#include "ae/dataset.h" +#include +#include +#include +#include +#include +#include +#include +#include "ce/ce.h" +#include +#include +#include +#include +#include +#include "string" +#include "sstream" +#include +#include +#include +#include +#include "ctime" +#include "tchar.h" +#include "jni.h" + +#ifdef WIN32 +#include +#include +#else +#include +#include +#endif +#include +#include +#define MAX_PATH_LEN 256 + +#define GUID_LEN 64 + +#ifdef WIN32 +#define ACCESS(fileName,accessMode) _access(fileName,accessMode) +#define MKDIR(path) _mkdir(path) +#else +#define ACCESS(fileName,accessMode) access(fileName,accessMode) +#define MKDIR(path) mkdir(path,S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) +#endif + +#define LOCALJARPATH "D:\\Siemens\\Teamcenter12\\bin\\tc_extra_jar\\" +#define REMOTEJARPATH "D:\\app\\Siemens\\Teamcenter12\\bin\\tc_extra_jar\\" + +using namespace std; +extern "C" int POM_AM__set_application_bypass(logical bypass); + +int32_t createDirectory(const std::string &directoryPath) { + uint32_t dirPathLen = directoryPath.length(); + if (dirPathLen > MAX_PATH_LEN) { + return -1; + } + char tmpDirPath[MAX_PATH_LEN] = { 0 }; + for (uint32_t i = 0; i < dirPathLen; ++i) { + tmpDirPath[i] = directoryPath[i]; + if (tmpDirPath[i] == '\\' || tmpDirPath[i] == '/') { + if (ACCESS(tmpDirPath, 0) != 0) { + int32_t ret = MKDIR(tmpDirPath); + if (ret != 0) { + return ret; + } + } + } + } + return 0; +} + + +static void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file, + const char *new_file_path, char *ref_name) { + IMF_file_data_p_t file_data; + int index = 0; + char *name; + + IMF_get_file_access(old_file, 0, &file_data); + + tag_t new_file_tag = NULLTAG; + AOM_lock(old_file); + + IMF_ask_original_file_name2(old_file, &name); + printf("old name:%s\n",name); + + IMF_replace_file_and_get_new_tag(old_file, new_file_path, + FALSE, &new_file_tag); + + AOM_lock(dataset_tag); + + AE_replace_dataset_named_ref2(dataset_tag, old_file, ref_name, + AE_PART_OF, new_file_tag); + AE_save_myself(dataset_tag); + + IMF_set_original_file_name2(new_file_tag, name); + AOM_unlock(dataset_tag); + IMF_release_file_access(&file_data); +} + +bool isTypeOf(tag_t objtag, const char * type_name) { + tag_t type = NULLTAG; + TCTYPE_ask_object_type(objtag, &type); + tag_t item_type = NULLTAG; + TCTYPE_find_type(type_name, "", &item_type); + bool is_type = false; + if (item_type != NULLTAG) { + logical isok = FALSE; + TCTYPE_is_type_of(type, item_type, &isok); + if (isok) { + is_type = true; + } + } + return is_type; +} + +string GBKToUTF8(const char* strGBK) { + int len = MultiByteToWideChar(CP_ACP, 0, strGBK, -1, NULL, 0); + wchar_t* wstr = new wchar_t[len + 1]; + memset(wstr, 0, len + 1); + MultiByteToWideChar(CP_ACP, 0, strGBK, -1, wstr, len); + len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL); + char* str = new char[len + 1]; + memset(str, 0, len + 1); + WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL); + string strTemp = str; + if (wstr) delete[] wstr; + if (str) delete[] str; + return strTemp; +} + +/* +映射 +-path 路径 +-name 用户名 +*/ +static int sign(JNIEnv* env, jclass class_Test, const char* path, char* name, char* sign_location, char* sign_str) { + stringstream ss; + printf("signin\n"); + jmethodID methodId_main = env->GetStaticMethodID(class_Test, "sign", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I"); + if (methodId_main == NULL) { + printf("error, check jar location\n"); + ss << "找不到sign2fileRunnable.jar 确认路径为:"; + ss << REMOTEJARPATH; + EMH_store_error_s1(EMH_severity_error, EMH_ATTR_error_base, ss.str().c_str()); + return 0; + } + string path1 = GBKToUTF8(path); + string name1 = GBKToUTF8(name); + string sign_location1 = GBKToUTF8(sign_location); + string sign_str1 = GBKToUTF8(sign_str); + jstring jpath = env->NewStringUTF(path1.c_str()); + jstring jname = env->NewStringUTF(name1.c_str()); + jstring jsign_location = env->NewStringUTF(sign_location1.c_str()); + jstring jsign_str = env->NewStringUTF(sign_str1.c_str()); + printf("path:%s\nname:%s\nsign_location:%s\nsign_str:%s\n", path1.c_str(), name1.c_str(), sign_location1.c_str(), sign_str1.c_str()); + jint result = 0; + result = env->CallStaticIntMethod(class_Test, methodId_main, jpath, jname, jsign_location, jsign_str); + int res = result; + printf("result:%d\n", res); + printf("signout\n"); + return res; +} + +void add_path(JNIEnv* env, const std::string& path) { + const std::string urlPath = "file:/" + path; + jclass classLoaderCls = env->FindClass("java/lang/ClassLoader"); + printf("111\n"); + jmethodID getSystemClassLoaderMethod = env->GetStaticMethodID(classLoaderCls, "getSystemClassLoader", "()Ljava/lang/ClassLoader;"); + jobject classLoaderInstance = env->CallStaticObjectMethod(classLoaderCls, getSystemClassLoaderMethod); + jclass urlClassLoaderCls = env->FindClass("java/net/URLClassLoader"); + jmethodID addUrlMethod = env->GetMethodID(urlClassLoaderCls, "addURL", "(Ljava/net/URL;)V"); + jclass urlCls = env->FindClass("java/net/URL"); + jmethodID urlConstructor = env->GetMethodID(urlCls, "", "(Ljava/lang/String;)V"); + jobject urlInstance = env->NewObject(urlCls, urlConstructor, env->NewStringUTF(urlPath.c_str())); + env->CallVoidMethod(classLoaderInstance, addUrlMethod, urlInstance); + std::cout << "Added " << urlPath << " to the classpath." << std::endl; +} + +bool find(int prop_cnt, char** props, char* prop) { + for (int i = 0;i < prop_cnt;i++) { + if (tc_strcmp(props[i], prop) == 0) { + return true; + } + } + return false; +} + +//吉德表单签名 +int jd_signoff(EPM_action_message_t msg) { + + const char *sign_location, *sign_str; + + int ifail = ITK_ok, att_count, objects_count, pref_count, prop_cnt; + tag_t rootTask, *attachments, user_tag, *objects; + char *user_name, **pref_values, **prop_names; + logical verdict; + bool flag; + stringstream sign_date, errorMsg; + //获取时间 + time_t t; + time(&t); + tm* time = localtime(&t); + stringstream date; + date << time->tm_year + 1900 << "."; + date << time->tm_mon + 1 << "."; + date << time->tm_mday; + + //获取guid + //获取guid + char buffer[GUID_LEN] = { 0 }; + GUID guid; + + if (CoCreateGuid(&guid)) { + fprintf(stderr, "create guid error\n"); + return NULL; + } + _snprintf(buffer, sizeof(buffer), + "%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X", + guid.Data1, guid.Data2, guid.Data3, + guid.Data4[0], guid.Data4[1], guid.Data4[2], + guid.Data4[3], guid.Data4[4], guid.Data4[5], + guid.Data4[6], guid.Data4[7]); + printf("guid: %s\n", buffer); + + + //获取数据集 + char *temp_path, *attach_type; + int n_attachs; + tag_t ref_obj, excelx_tag, excel_tag, wordx_tag, word_tag, type_tag, word_ref, excel_ref, *dataset; + ITEM_attached_object_t *rev_attachments; + AE_reference_type_t ae_ref; + TCTYPE_find_type("MSExcelX", "Dataset", &excelx_tag); + TCTYPE_find_type("MSExcel", "Dataset", &excel_tag); + TCTYPE_find_type("MSWord", "Dataset", &word_tag); + TCTYPE_find_type("MSWordX", "Dataset", &wordx_tag); + temp_path = getenv("temp"); + + POM_AM__set_application_bypass(true); + + + //获取当前用户 + POM_get_user(&user_name, &user_tag); + + //获取选中的目标对象 + TC_argument_list_t * arguments = msg.arguments; + int arg_cnt = TC_number_of_arguments(arguments), status = 0; + + EPM_ask_root_task(msg.task, &rootTask); + EPM_ask_attachments(rootTask, EPM_target_attachment, &att_count, &attachments); + + //获取流程中配置的handler属性 + map paras; + for (auto i = 0; i < arg_cnt; i++) { + char *temp_key, *temp_val; + ITK_ask_argument_named_value(TC_next_argument(arguments), &temp_key, &temp_val); + paras[temp_key] = temp_val; + } + sign_location = paras["sign_location"].c_str(); + printf("sign_location:%s\n", sign_location); + + sign_date << sign_location; + sign_date << "rq"; + + //读取首选项 + PREF_ask_char_values("jd2_signoff_list", &pref_count, &pref_values); + flag = false; + stringstream temps; + for (int i = 0;i < pref_count;i++) { + printf("signoff:%s\n", pref_values[i]); + temps << pref_values[i]; + temps << ","; + if (strcmp(pref_values[i], sign_location) == 0) { + flag = true; + } + } + if (strcmp("clear", sign_location) == 0) { + flag = true; + } + if (!flag) { + errorMsg << "流程参数\""; + errorMsg << sign_location; + errorMsg << "\"不存在于首选项中,检查首选项\"jd2_signoff_list\"!"; + EMH_store_error_s1(EMH_severity_error, EMH_ATTR_error_base, errorMsg.str().c_str()); + return -1; + } + + //创建tc_export目录 + stringstream dir; + dir << temp_path; + dir << "\\tc_export\\"; + createDirectory(dir.str()); + + LPVOID lpMsgBuf; + FormatMessage( + FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + GetLastError(), + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language + (LPTSTR)&lpMsgBuf, + 0, + NULL + ); + + + //申请虚拟机 + //wstringstream wss; + //wss << getenv("JRE_HOME") << "\\bin\\server\\jvm.dll"; + + //JavaVMInitArgs vmArgs; + //vmArgs.version = JNI_VERSION_1_8; + //const int OPTION_COUNT = 2; + //vmArgs.nOptions = OPTION_COUNT; + //JavaVMOption options[OPTION_COUNT] = { 0 }; + //options[0].optionString = "-Djava.class.path=D:\\Siemens\\Teamcenter11\\bin\\tc_extra_jar\\sign2fileRunnable.jar"; + //options[1].optionString = "-Xmx1024m"; + //vmArgs.options = options; + //vmArgs.ignoreUnrecognized = JNI_TRUE; + //printf("before load dll\n"); + //HMODULE hModule = LoadLibrary(wss.str().c_str()); + //if (hModule == NULL) { + // printf("error load dll"); + // return -1; + //} + //printf("after load dll\n"); + //typedef jint(JNICALL *CreateJavaVMFuncPtr)(JavaVM **pvm, void **penv, void *args); + //CreateJavaVMFuncPtr CreateJavaVM = (CreateJavaVMFuncPtr)GetProcAddress(hModule, "JNI_CreateJavaVM"); + //JavaVM *jvm = nullptr; + //JNIEnv *env = nullptr; + //jint res = (*CreateJavaVM)(&jvm, (void**)&env, &vmArgs); + //if (res < 0) { + // printf("error load jvm"); + // return -1; + //} + //printf("after load jvm\n"); + + wstringstream wss; + wss << getenv("JRE_HOME") << "\\bin\\server\\jvm.dll"; + + JavaVMInitArgs vmArgs; + const int OPTION_COUNT = 1; + vmArgs.nOptions = OPTION_COUNT; + JavaVMOption options[OPTION_COUNT] = { 0 }; + options[0].optionString = "-Xmx1024m"; + vmArgs.options = options; + vmArgs.version = JNI_VERSION_1_8; + vmArgs.ignoreUnrecognized = JNI_TRUE; + printf("before load dll\n"); + HMODULE hModule = LoadLibrary(wss.str().c_str()); + if (hModule == NULL) { + printf("error load dll"); + return -1; + } + printf("after load dll\n"); + typedef jint(JNICALL *CreateJavaVMFuncPtr)(JavaVM **pvm, void **penv, void *args); + CreateJavaVMFuncPtr CreateJavaVM = (CreateJavaVMFuncPtr)GetProcAddress(hModule, "JNI_CreateJavaVM"); + typedef jint(JNICALL * GetCreatedJavaVMs)(JavaVM**, jsize, jsize*); + + GetCreatedJavaVMs jni_GetCreatedJavaVMs; + jni_GetCreatedJavaVMs = (GetCreatedJavaVMs)GetProcAddress(GetModuleHandle( + TEXT("jvm.dll")), "JNI_GetCreatedJavaVMs"); + JavaVM *jvm = nullptr, *jvms; + JNIEnv *env = nullptr; + jsize size = 0; + jni_GetCreatedJavaVMs(&jvms, 0, &size); + printf("before load jvm\n"); + if (size) { + JavaVM** buffer = new JavaVM*[size]; + jni_GetCreatedJavaVMs(buffer, size, &size); + buffer[0]->GetEnv((void**)&env, JNI_VERSION_1_8); + jint result = buffer[0]->AttachCurrentThread((void**)&env, NULL); + } else { + jint res = (*CreateJavaVM)(&jvm, (void**)&env, &vmArgs); + if (res < 0) { + printf("error load jvm"); + return -1; + } + } + + printf("after load jvm\n"); + + stringstream s; + if (ACCESS(LOCALJARPATH, 0) != 0) { + s << REMOTEJARPATH; + s << "sign2fileRunnable.jar"; + add_path(env, s.str().c_str()); + } else { + s << LOCALJARPATH; + s << "sign2fileRunnable.jar"; + add_path(env, s.str().c_str()); + } + + printf("add path\n"); + jclass class_Test; + int file_type = -1; + + printf("user_name:%s\n", user_name); + printf("date:%s\n", date.str().c_str()); + + for (auto ii = 0; ii < att_count; ii++) { + if (isTypeOf(attachments[ii], "ItemRevision")) { + ITKCALL(AOM_ask_value_tags(attachments[ii], "IMAN_master_form_rev", &objects_count, &objects)); + //表单签名 + map props; + for (auto iii = 0; iii < objects_count; iii++) { + ITKCALL(AOM_ask_prop_names(objects[iii], &prop_cnt, &prop_names)); + AOM_lock(objects[iii]); + if (strcmp("clear", sign_location) == 0) { + for (int i = 0;i < pref_count;i++) { + sign_date.str(""); + sign_date << pref_values[i]; + sign_date << "rq"; + if (find(prop_cnt, prop_names, pref_values[i])) { + ITKCALL(AOM_set_value_string(objects[iii], pref_values[i], "")); + } else { + printf("属性\"%s\"不存在", pref_values[i]); + } + if (find(prop_cnt, prop_names, (char*)sign_date.str().c_str())) { + ITKCALL(AOM_set_value_string(objects[iii], sign_date.str().c_str(), "")); + } else { + printf("属性\"%s\"不存在", sign_date.str().c_str()); + } + } + printf("sign clear\n"); + } else { + if (find(prop_cnt, prop_names, (char*)sign_location)) { + ITKCALL(AOM_set_value_string(objects[iii], sign_location, user_name)); + } else { + printf("属性\"%s\"不存在", sign_location); + } + if (find(prop_cnt, prop_names, (char*)sign_date.str().c_str())) { + ITKCALL(AOM_set_value_string(objects[iii], sign_date.str().c_str(), date.str().c_str())); + } else { + printf("属性\"%s\"不存在", sign_date.str().c_str()); + } + printf("%s,%s signoff\n", sign_location, sign_date.str().c_str()); + } + + ITKCALL(AOM_save(objects[iii])); + AOM_unlock(objects[iii]); + } + MEM_free(objects); + + printf("startSign\n"); + ITKCALL(AOM_ask_value_tags(attachments[ii], "IMAN_specification", &n_attachs, &dataset)); + for (int i = 0;i < n_attachs;i++) { + stringstream ss; + ss << dir.str().c_str(); + printf(ss.str().c_str()); + ITKCALL(TCTYPE_ask_object_type(dataset[i], &type_tag)); + if (type_tag == wordx_tag || type_tag == word_tag) { + ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "word", &ae_ref, &word_ref)); + char *file_name; + ITKCALL(AOM_UIF_ask_value(word_ref, "file_name", &file_name)); + ss << buffer; + ss << "_"; + ss << file_name; + printf("path:%s\n", ss.str().c_str()); + ITKCALL(AE_export_named_ref(dataset[i], "word", ss.str().c_str())); + file_type = 0; + } else if (type_tag == excel_tag || type_tag == excelx_tag) { + ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "excel", &ae_ref, &excel_ref)); + char *file_name; + ITKCALL(AOM_UIF_ask_value(excel_ref, "file_name", &file_name)); + ss << buffer; + ss << "_"; + ss << file_name; + printf("path:%s\n", ss.str().c_str()); + ITKCALL(AE_export_named_ref(dataset[i], "excel", ss.str().c_str())); + file_type = 1; + } + + printf("file_type:%d\n", file_type); + if (file_type == 0) { + class_Test = env->FindClass("sign2file/SignToWord"); + int res = sign(env, class_Test, ss.str().c_str(), user_name, (char*)sign_location, (char*)temps.str().c_str()); + if (res) { + replace_dataset_named_reference(dataset[i], word_ref, ss.str().c_str(), "word"); + } else { + return -1; + } + } else if (file_type == 1) { + class_Test = env->FindClass("sign2file/SignToExcel"); + int res = sign(env, class_Test, ss.str().c_str(), user_name, (char*)sign_location, (char*)temps.str().c_str()); + if (res) { + replace_dataset_named_reference(dataset[i], excel_ref, ss.str().c_str(), "excel"); + } else { + return -1; + } + } + file_type = -1; + } + MEM_free(dataset); + AOM_ask_value_tags(attachments[ii], "TC_Attaches", &n_attachs, &dataset); + for (int i = 0;i < n_attachs;i++) { + stringstream ss; + ss << dir.str().c_str(); + ITKCALL(TCTYPE_ask_object_type(dataset[i], &type_tag)); + if (type_tag == wordx_tag || type_tag == word_tag) { + ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "word", &ae_ref, &word_ref)); + char *file_name; + ITKCALL(AOM_UIF_ask_value(word_ref, "file_name", &file_name)); + ss << buffer; + ss << "_"; + ss << file_name; + printf("path:%s\n", ss.str().c_str()); + ITKCALL(AE_export_named_ref(dataset[i], "word", ss.str().c_str())); + file_type = 0; + } else if (type_tag == excel_tag || type_tag == excelx_tag) { + ITKCALL(AE_ask_dataset_named_ref2(dataset[i], "excel", &ae_ref, &excel_ref)); + char *file_name; + ITKCALL(AOM_UIF_ask_value(excel_ref, "file_name", &file_name)); + ss << buffer; + ss << "_"; + ss << file_name; + printf("path:%s\n", ss.str().c_str()); + ITKCALL(AE_export_named_ref(dataset[i], "excel", ss.str().c_str())); + file_type = 1; + } + + printf("file_type:%d\n", file_type); + if (file_type == 0) { + class_Test = env->FindClass("sign2file/SignToWord"); + int res = sign(env, class_Test, ss.str().c_str(), user_name, (char*)sign_location, (char*)temps.str().c_str()); + if (res) { + replace_dataset_named_reference(dataset[i], word_ref, ss.str().c_str(), "word"); + } else { + return -1; + } + } else if (file_type == 1) { + class_Test = env->FindClass("sign2file/SignToExcel"); + int res = sign(env, class_Test, ss.str().c_str(), user_name, (char*)sign_location, (char*)temps.str().c_str()); + if (res) { + replace_dataset_named_reference(dataset[i], excel_ref, ss.str().c_str(), "excel"); + } else { + return -1; + } + } + file_type = -1; + } + MEM_free(dataset); + printf("endSign\n"); + } + } + + FreeLibrary(hModule); + POM_AM__set_application_bypass(false); + + return 0; +} diff --git a/HEZON_ITK/libqtmc_custom_main.cpp b/HEZON_ITK/libqtmc_custom_main.cpp new file mode 100644 index 0000000..a7ba755 --- /dev/null +++ b/HEZON_ITK/libqtmc_custom_main.cpp @@ -0,0 +1,71 @@ +/** +* @defgroup common ú +* @defgroup workflow ̺ +* @defgroup bmf ҵչ +* @defgroup service +*/ + +/** +* @addtogroup common +* @{ +*/ + +/** +* @file +* @brief ע +* @date 2014/4/21 +* @author mengyawei +*/ + +#pragma warning (disable: 4819) + +/** +* @headerfile tcua ͷļ +*/ +#include +#include +#include +#include "error_handling.h" +#include "epm_register_handler.h" +#include "epm_handler_common.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + + /** + * @fn extern "C" DLLAPI int liborigin_register_callbacks + * @return usually return ITK_ok + * @brief liborigin customization entry + */ + DLLAPI int libqtmc_register_callbacks() + { + int ifail = ITK_ok; + + CALL( ifail = CUSTOM_register_exit( + "libqtmc", + "USERSERVICE_register_methods", + (CUSTOM_EXIT_ftn_t)USERSERVICE_custom_register_methods) ); + fprintf( stdout, "\n libqtmc registering USERSERVICE_register_methods completed!\n" ); + + CALL( ifail = CUSTOM_register_exit( + "libqtmc", + "USER_gs_shell_init_module", + (CUSTOM_EXIT_ftn_t)CUST_init_module)); + fprintf( stdout, "\n libqtmc registering USER_gs_shell_init_module completed!\n" ); + + return ifail; + } + +#ifdef __cplusplus +} +#endif + + + + +/** +* @} +*/ \ No newline at end of file diff --git a/HEZON_ITK/packages.config b/HEZON_ITK/packages.config new file mode 100644 index 0000000..cff6b06 --- /dev/null +++ b/HEZON_ITK/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/HEZON_ITK/stdafx.cpp b/HEZON_ITK/stdafx.cpp new file mode 100644 index 0000000..8e8922b --- /dev/null +++ b/HEZON_ITK/stdafx.cpp @@ -0,0 +1,8 @@ +// stdafx.cpp : ֻ׼ļԴļ +// HEZON_ITK.pch ΪԤͷ +// stdafx.obj ԤϢ + +#include "stdafx.h" + +// TODO: STDAFX.H +// κĸͷļڴļ diff --git a/HEZON_ITK/stdafx.h b/HEZON_ITK/stdafx.h new file mode 100644 index 0000000..9d41f0f --- /dev/null +++ b/HEZON_ITK/stdafx.h @@ -0,0 +1,15 @@ +// stdafx.h : ׼ϵͳļİļ +// Ǿʹõĵ +// ضĿİļ +// + +#pragma once + +#include "targetver.h" + +#include +#include + + + +// TODO: ڴ˴óҪͷļ diff --git a/HEZON_ITK/string_helper.cpp b/HEZON_ITK/string_helper.cpp new file mode 100644 index 0000000..5a7322f --- /dev/null +++ b/HEZON_ITK/string_helper.cpp @@ -0,0 +1,146 @@ +/** +* @file string_helper.cpp +* @brief string utility functions' implemention +* @author James +* @history +* =================================================================================== +* Date Name Description of Change +* 09-July-2008 James +* 14-Jau-2009 James modify Split functions, add trim blank characters +*/ +#pragma warning(disable:4996) +// +//#include +//#include +//#include +#include "string_helper.h" + +string TrimString( string strArg ) +{ + size_t index1 = 0; + index1 = strArg.find_first_not_of( ' '); + if( index1 != string::npos ) + strArg.erase( strArg.begin(), strArg.begin()+index1 ); + index1 = strArg.find_last_not_of( ' '); + if( index1 != string::npos ) + strArg.erase( strArg.begin() + index1 + 1 ); + return strArg; +} + +void Split( string strArg, char spliter, vector &ans ) +{ + ans.clear(); + size_t index0 = 0; + string one_arg; + if ( strArg.find_first_not_of(' ') == string.npos ) + strArg = ""; + while( strArg.size()>0 ) + { + index0 = strArg.find_first_of( spliter ); + if( index0 != string::npos ) + { + one_arg = strArg.substr( 0,index0 ); + strArg = strArg.substr( index0 + 1 ); + ans.push_back( one_arg ); + } + else + { + ans.push_back( strArg ); + break; + } + } +} + +void Split( string strArg, string spliter, vector &ans ) +{ + + ans.clear(); + + size_t index0; + string one_arg; + + if ( strArg.find_first_not_of(" ") == string::npos ) + strArg = ""; + + + while( strArg.size()>0 ) + { + + index0 = strArg.find(spliter); + + if( index0 != string::npos ) + { + + one_arg = strArg.substr( 0, index0 ); + strArg = strArg.substr( index0 + spliter.size() ); + + ans.push_back( one_arg ); + } + else + { + + ans.push_back( strArg ); + break; + } + } +} + + +void RemoveLiner( string &in, string &out ) +{ + char buf[BUFSIZ] = ""; + for( int i=0; i<(int)in.size(); i++ ) + { + if( in[i] == '\n') + continue; + else + sprintf( buf,"%s%c", buf, in[i] ); + } + out.assign(buf); +} + +////Converting a WChar string to a Ansi string +//std::string WChar2Ansi(LPCWSTR pwszSrc) +//{ +// int nLen = WideCharToMultiByte(CP_ACP, 0, pwszSrc, -1, NULL, 0, NULL, NULL); +// +// if (nLen<= 0) return std::string(""); +// +// char* pszDst = new char[nLen]; +// if (NULL == pszDst) return std::string(""); +// +// WideCharToMultiByte(CP_ACP, 0, pwszSrc, -1, pszDst, nLen, NULL, NULL); +// pszDst[nLen -1] = 0; +// +// std::string strTemp(pszDst); +// delete [] pszDst; +// +// return strTemp; +//} +// +//string ws2s(wstring& inputws){ return WChar2Ansi(inputws.c_str()); } +// +////Converting a Ansi string to WChar string +//std::wstring Ansi2WChar(LPCSTR pszSrc, int nLen) +//{ +// int nSize = MultiByteToWideChar(CP_ACP, 0, (LPCSTR)pszSrc, nLen, 0, 0); +// if(nSize <= 0) return NULL; +// +// WCHAR *pwszDst = new WCHAR[nSize+1]; +// if( NULL == pwszDst) return NULL; +// +// MultiByteToWideChar(CP_ACP, 0,(LPCSTR)pszSrc, nLen, pwszDst, nSize); +// pwszDst[nSize] = 0; +// +// if( pwszDst[0] == 0xFEFF) // skip Oxfeff +// for(int i = 0; i < nSize; i ++) +// pwszDst[i] = pwszDst[i+1]; +// +// wstring wcharString(pwszDst); +// delete pwszDst; +// +// return wcharString; +//} +// +//std::wstring s2ws(const string& s){ return Ansi2WChar(s.c_str(),s.size());} + diff --git a/HEZON_ITK/string_helper.h b/HEZON_ITK/string_helper.h new file mode 100644 index 0000000..b4f7532 --- /dev/null +++ b/HEZON_ITK/string_helper.h @@ -0,0 +1,25 @@ +/** +* @file string_helper.h +* @brief string utilities to help dealing with string +* @author James +* @history +* =================================================================================== +* Date Name Description of Change +* 09-July-2008 James +*/ + +#ifndef STRING_HELPER +#define STRING_HELPER + +#include +#include +using namespace std; + +string TrimString( string strArg ); +void Split( string strArg, char spliter, vector &ans ); +void Split( string strArg, string spliter, vector &ans ); +void RemoveLiner( string &in, string &out ); +//string ws2s(wstring& inputws); +//wstring s2ws(const string& s); + +#endif \ No newline at end of file diff --git a/HEZON_ITK/targetver.h b/HEZON_ITK/targetver.h new file mode 100644 index 0000000..7a7d2c8 --- /dev/null +++ b/HEZON_ITK/targetver.h @@ -0,0 +1,8 @@ +#pragma once + +// SDKDDKVer.h õ߰汾 Windows ƽ̨ + +// ҪΪǰ Windows ƽ̨Ӧó WinSDKVer.h +// WIN32_WINNT ΪҪֵ֧ƽ̨Ȼٰ SDKDDKVer.h + +#include diff --git a/HEZON_ITK/util.cpp b/HEZON_ITK/util.cpp new file mode 100644 index 0000000..4cdfe09 --- /dev/null +++ b/HEZON_ITK/util.cpp @@ -0,0 +1,61 @@ +#include "util.h" + + +string ConvertToString(System::String^ str) +{ + char* p = (char*)(void*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(str); + return p; +} +System::String ^ convert_to_cstring(const char *p) +{ + return System::Runtime::InteropServices::Marshal::PtrToStringAnsi((System::IntPtr)(char *)p); +} +bool isTypeOf(tag_t objtag, const char * type_name) { + tag_t type = NULLTAG; + TCTYPE_ask_object_type(objtag, &type); + tag_t item_type = NULLTAG; + TCTYPE_find_type(type_name, "", &item_type); + bool is_type = false; + if (item_type != NULLTAG) { + logical isok = FALSE; + TCTYPE_is_type_of(type, item_type, &isok); + if (isok) { + is_type = true; + } + } + return is_type; +} +void split(std::string s, const char* delim, std::vector* ret) +{ + size_t last = 0; + size_t index = s.find(delim, last); + int size = strlen(delim); + while (index != std::string::npos) { + ret->push_back(s.substr(last, index - last)); + last = index + size; + index = s.find(delim, last); + } + if (index - last > 0) { + ret->push_back(s.substr(last, index - last)); + } +} + +const char* newGUID() +{ + static char buf[64] = { 0 }; + GUID guid; + if (S_OK == ::CoCreateGuid(&guid)) + { + _snprintf(buf, sizeof(buf) + , "%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X" + , guid.Data1 + , guid.Data2 + , guid.Data3 + , guid.Data4[0], guid.Data4[1] + , guid.Data4[2], guid.Data4[3], guid.Data4[4], guid.Data4[5] + , guid.Data4[6], guid.Data4[7] + ); + } + return (const char*)buf; + +} \ No newline at end of file diff --git a/HEZON_ITK/util.h b/HEZON_ITK/util.h new file mode 100644 index 0000000..f85530c --- /dev/null +++ b/HEZON_ITK/util.h @@ -0,0 +1,68 @@ +#pragma once +#include "epm_handler_common.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "tc/envelope.h" +#include +#include "ae/dataset.h" +#include +#include +#include +#include +#include +#include +#include +#include "ce/ce.h" +#include +#include +#include +#include +#include +#include "string" +#include "sstream" +#include +#include +#include +#include "ctime" +#include "tchar.h" +#include "ics/ics.h" +#include "ics/ics2.h" +#using "./declib.dll" + +using namespace std; +using namespace Testdll; +using namespace System; +extern "C" int POM_AM__set_application_bypass(logical bypass); + + + +string ConvertToString(System::String^ str); +System::String ^ convert_to_cstring(const char *p); +bool isTypeOf(tag_t objtag, const char * type_name); +void split(std::string s, const char* delim, std::vector* ret); + +const char* newGUID(); \ No newline at end of file diff --git a/HEZON_ITK/x64/Release/.NETFramework,Version=v4.0.AssemblyAttributes.asm b/HEZON_ITK/x64/Release/.NETFramework,Version=v4.0.AssemblyAttributes.asm new file mode 100644 index 0000000..783245d --- /dev/null +++ b/HEZON_ITK/x64/Release/.NETFramework,Version=v4.0.AssemblyAttributes.asm @@ -0,0 +1,4 @@ +; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.24210.0 + +; Generated by VC++ for Common Language Runtime +.file "C:\Users\lyf\AppData\Local\Temp\.NETFramework,Version=v4.0.AssemblyAttributes.cpp" diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.Build.CppClean.log b/HEZON_ITK/x64/Release/HEZON_ITK.Build.CppClean.log new file mode 100644 index 0000000..2251ea6 --- /dev/null +++ b/HEZON_ITK/x64/Release/HEZON_ITK.Build.CppClean.log @@ -0,0 +1,34 @@ +e:\work\vs_workspace\jditk\hezon_itk\x64\release\vc140.pdb +e:\work\vs_workspace\jditk\hezon_itk\x64\release\util.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\jd_signoff.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\jd_schedule_joint.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\jd_complate_first_task.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\jd_clear_field.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\jd_batch_process.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\jd_add_attachments.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\bs_custom_main.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\epm_register_handler.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\bs_wl_check.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\bs_test_release_check.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\bs_sign_cad.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\bs_signoff.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\bs_sap.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\bs_file_transfer.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\bs_bypass.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\bs_bom_save_check.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\bs_bom_check.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\.netframework,version=v4.0.assemblyattributes.obj +e:\work\vs_workspace\jditk\hezon_itk\x64\release\.netframework,version=v4.0.assemblyattributes.asm +e:\work\vs_workspace\jditk\x64\release\bs.dll +e:\work\vs_workspace\jditk\x64\release\hezon_itk.pdb +e:\work\vs_workspace\jditk\hezon_itk\x64\release\hezon_itk.tlog\metagen.write.1.tlog +e:\work\vs_workspace\jditk\hezon_itk\x64\release\hezon_itk.vcxprojresolveassemblyreference.cache +e:\work\vs_workspace\jditk\hezon_itk\x64\release\hezon_itk.tlog\cl.command.1.tlog +e:\work\vs_workspace\jditk\hezon_itk\x64\release\hezon_itk.tlog\cl.read.1.tlog +e:\work\vs_workspace\jditk\hezon_itk\x64\release\hezon_itk.tlog\cl.write.1.tlog +e:\work\vs_workspace\jditk\hezon_itk\x64\release\hezon_itk.tlog\link.command.1.tlog +e:\work\vs_workspace\jditk\hezon_itk\x64\release\hezon_itk.tlog\link.read.1.tlog +e:\work\vs_workspace\jditk\hezon_itk\x64\release\hezon_itk.tlog\link.write.1.tlog +e:\work\vs_workspace\jditk\hezon_itk\x64\release\hezon_itk.tlog\metagen.read.1.tlog +e:\work\vs_workspace\jditk\hezon_itk\x64\release\hezon_itk.tlog\declib.dll.metagen +e:\work\vs_workspace\jditk\hezon_itk\x64\release\hezon_itk.tlog\tzres.dll.bi diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.lastbuildstate b/HEZON_ITK/x64/Release/HEZON_ITK.lastbuildstate new file mode 100644 index 0000000..ac54383 --- /dev/null +++ b/HEZON_ITK/x64/Release/HEZON_ITK.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v110:false +Release|x64|C:\Users\Administrator\Documents\c++\HEZON_ITK\| diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.log b/HEZON_ITK/x64/Release/HEZON_ITK.log new file mode 100644 index 0000000..e3016c7 --- /dev/null +++ b/HEZON_ITK/x64/Release/HEZON_ITK.log @@ -0,0 +1,202 @@ + bs_bom_check.cpp +e:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +bs_bom_check.cpp(27): warning C4101: “lines”: 未引用的局部变量 +bs_bom_check.cpp(26): warning C4101: “line_cnt”: 未引用的局部变量 + bs_bom_save_check.cpp +e:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +bs_bom_save_check.cpp(47): warning C4101: “num”: 未引用的局部变量 + bs_bypass.cpp +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +e:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + bs_file_transfer.cpp +e:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + bs_sap.cpp +e:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +bs_sap.cpp(8): warning C4101: “obj_type”: 未引用的局部变量 +bs_sap.cpp(260): warning C4101: “obj_type”: 未引用的局部变量 +bs_sap.cpp(292): warning C4101: “lines”: 未引用的局部变量 +bs_sap.cpp(290): warning C4101: “line_cnt”: 未引用的局部变量 + bs_signoff.cxx +e:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +bs_signoff.cxx(63): warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\time.h(505): note: 参见“localtime”的声明 + bs_sign_cad.cpp +e:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +bs_sign_cad.cpp(36): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明 + bs_test_release_check.cpp +e:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +bs_test_release_check.cpp(44): warning C4101: “rels”: 未引用的局部变量 +bs_test_release_check.cpp(45): warning C4101: “val”: 未引用的局部变量 +bs_test_release_check.cpp(44): warning C4101: “win”: 未引用的局部变量 +bs_test_release_check.cpp(44): warning C4101: “top”: 未引用的局部变量 +bs_test_release_check.cpp(44): warning C4101: “tags”: 未引用的局部变量 +bs_test_release_check.cpp(44): warning C4101: “tag”: 未引用的局部变量 +bs_test_release_check.cpp(43): warning C4101: “tag_cnt”: 未引用的局部变量 +bs_test_release_check.cpp(43): warning C4101: “rel_cnt”: 未引用的局部变量 + bs_wl_check.cpp +e:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + epm_register_handler.cxx +epm_register_handler.cxx(50): warning C4101: “now”: 未引用的局部变量 +epm_register_handler.cxx(49): warning C4101: “expire_date”: 未引用的局部变量 +epm_register_handler.cxx(49): warning C4101: “date_buf”: 未引用的局部变量 +epm_register_handler.cxx(51): warning C4101: “p”: 未引用的局部变量 + bs_custom_main.cxx + jd_add_attachments.cpp +e:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +jd_add_attachments.cpp(114): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 + jd_batch_process.cpp +e:\work\vs_workspace\jditk\hezon_itk\HTTPRequest.hpp(193): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 +e:\work\vs_workspace\jditk\hezon_itk\HTTPRequest.hpp(199): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 +e:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +jd_batch_process.cpp(155): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 +jd_batch_process.cpp(85): warning C4101: “rels”: 未引用的局部变量 +jd_batch_process.cpp(85): warning C4101: “new_process”: 未引用的局部变量 +jd_batch_process.cpp(86): warning C4101: “val”: 未引用的局部变量 +jd_batch_process.cpp(85): warning C4101: “win”: 未引用的局部变量 +jd_batch_process.cpp(85): warning C4101: “top”: 未引用的局部变量 +jd_batch_process.cpp(85): warning C4101: “tags”: 未引用的局部变量 +jd_batch_process.cpp(85): warning C4101: “tag”: 未引用的局部变量 +jd_batch_process.cpp(84): warning C4101: “tag_cnt”: 未引用的局部变量 +jd_batch_process.cpp(84): warning C4101: “rel_cnt”: 未引用的局部变量 + jd_clear_field.cpp +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +jd_clear_field.cpp(119): warning C4267: “初始化”: 从“size_t”转换到“uint32_t”,可能丢失数据 +jd_clear_field.cpp(181): warning C4190: “GBKToUTF8”有指定的 C 链接,但返回了与 C 不兼容的 UDT“std::basic_string,std::allocator>” + C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xstring(2633): note: 参见“std::basic_string,std::allocator>”的声明 +jd_clear_field.cpp(255): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明 +jd_clear_field.cpp(275): warning C4996: '_snprintf': This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdio.h(1952): note: 参见“_snprintf”的声明 +jd_clear_field.cpp(287): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明 +jd_clear_field.cpp(289): warning C4477: “printf”: 格式字符串“%s”需要类型“char *”的参数,但可变参数 1 拥有了类型“const wchar_t *” + jd_clear_field.cpp(289): note: 请考虑在格式字符串中使用“%ls” + jd_clear_field.cpp(289): note: 请考虑在格式字符串中使用“%lls” + jd_clear_field.cpp(289): note: 请考虑在格式字符串中使用“%Ls” + jd_clear_field.cpp(289): note: 请考虑在格式字符串中使用“%ws” +jd_clear_field.cpp(244): warning C4101: “sign_location1”: 未引用的局部变量 +jd_clear_field.cpp(249): warning C4101: “rev_attachments”: 未引用的局部变量 +jd_clear_field.cpp(247): warning C4101: “ref_obj”: 未引用的局部变量 +jd_clear_field.cpp(245): warning C4101: “attach_type”: 未引用的局部变量 +jd_clear_field.cpp(244): warning C4101: “sign_str”: 未引用的局部变量 +jd_clear_field.cpp(504): warning C4101: “err_function”: 未引用的局部变量 +jd_clear_field.cpp(504): warning C4101: “err_string”: 未引用的局部变量 + jd_schedule_joint.cpp +e:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + jd_signoff.cpp +e:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +jd_signoff.cpp(82): warning C4267: “初始化”: 从“size_t”转换到“uint32_t”,可能丢失数据 +jd_signoff.cpp(232): warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\time.h(505): note: 参见“localtime”的声明 +jd_signoff.cpp(247): warning C4996: '_snprintf': This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdio.h(1952): note: 参见“_snprintf”的声明 +jd_signoff.cpp(266): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明 +jd_signoff.cpp(369): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明 +jd_signoff.cpp(226): warning C4101: “verdict”: 未引用的局部变量 +jd_signoff.cpp(260): warning C4101: “rev_attachments”: 未引用的局部变量 +jd_signoff.cpp(259): warning C4101: “ref_obj”: 未引用的局部变量 +jd_signoff.cpp(257): warning C4101: “attach_type”: 未引用的局部变量 +jd_signoff.cpp(221): warning C4101: “sign_str”: 未引用的局部变量 + util.cpp +e:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +E:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 +util.cpp(32): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据 +util.cpp(49): warning C4996: '_snprintf': This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdio.h(1952): note: 参见“_snprintf”的声明 + 正在生成代码... +c:\java\jdk1.8.0_231\include\jni.h(1442): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数: + /clr 下不支持 varargs +c:\java\jdk1.8.0_231\include\jni.h(1445): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(1447): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(1352): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数: + /clr 下不支持 varargs +c:\java\jdk1.8.0_231\include\jni.h(1355): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(1357): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(868): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数: + /clr 下不支持 varargs +c:\java\jdk1.8.0_231\include\jni.h(871): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(873): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(1051): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数: + /clr 下不支持 varargs +c:\java\jdk1.8.0_231\include\jni.h(1053): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(1055): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +e:\work\vs_workspace\jditk\hezon_itk\jd_clear_field.cpp(480): warning C4793: “JD_Revise_clear”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +e:\work\vs_workspace\jditk\hezon_itk\jd_clear_field.cpp(481): warning C4793: “JD_Revise_clear”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(1442): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数: + /clr 下不支持 varargs +c:\java\jdk1.8.0_231\include\jni.h(1445): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(1447): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(1352): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数: + /clr 下不支持 varargs +c:\java\jdk1.8.0_231\include\jni.h(1355): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(1357): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(868): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数: + /clr 下不支持 varargs +c:\java\jdk1.8.0_231\include\jni.h(871): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(873): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(1051): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数: + /clr 下不支持 varargs +c:\java\jdk1.8.0_231\include\jni.h(1053): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +c:\java\jdk1.8.0_231\include\jni.h(1055): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 +e:\work\vs_workspace\jditk\hezon_itk\bs_bom_save_check.cpp(50): warning C4793: “bs_bom_save_check”: 编译为本机的函数: + 托管代码中发现一个不受支持的内部函数 + .NETFramework,Version=v4.0.AssemblyAttributes.cpp +C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1189,5): warning MSB8012: TargetPath(E:\work\vs_workspace\jditk\x64\Release\HEZON_ITK.dll) does not match the Linker's OutputFile property value (E:\work\vs_workspace\jditk\x64\Release\bs.dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile). +C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1191,5): warning MSB8012: TargetName(HEZON_ITK) does not match the Linker's OutputFile property value (bs). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile). +util.obj : warning LNK4006: "bool __cdecl isTypeOf(unsigned int,char const *)" (?isTypeOf@@$$FYA_NIPEBD@Z) 已在 jd_signoff.obj 中定义;已忽略第二个定义 +util.obj : warning LNK4006: "bool __cdecl isTypeOf(unsigned int,char const *)" (?isTypeOf@@YA_NIPEBD@Z) 已在 jd_signoff.obj 中定义;已忽略第二个定义 +MSVCRT.lib(default_local_stdio_options.obj) : warning LNK4006: __local_stdio_printf_options 已在 libassy_jt.lib(libassy_jt.dll) 中定义;已忽略第二个定义 + 正在创建库 E:\work\vs_workspace\jditk\x64\Release\\bs.lib 和对象 E:\work\vs_workspace\jditk\x64\Release\\bs.exp +jd_signoff.obj : warning LNK4248: 无法解析 typeref 标记(01000016)(为“_jmethodID”);映像可能无法运行 +jd_clear_field.obj : warning LNK4248: 无法解析 typeref 标记(01000017)(为“_jmethodID”);映像可能无法运行 +E:\work\vs_workspace\jditk\x64\Release\\bs.dll : warning LNK4088: 因 /FORCE 选项生成了映像;映像可能不能运行 + HEZON_ITK.vcxproj -> E:\work\vs_workspace\jditk\x64\Release\HEZON_ITK.dll + HEZON_ITK.vcxproj -> E:\work\vs_workspace\jditk\x64\Release\HEZON_ITK.pdb (Full PDB) diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.command.1.tlog b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.command.1.tlog new file mode 100644 index 0000000..9f3de78 Binary files /dev/null and b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.command.1.tlog differ diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.read.1.tlog b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.read.1.tlog new file mode 100644 index 0000000..b2bee6d Binary files /dev/null and b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.read.1.tlog differ diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.write.1.tlog b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.write.1.tlog new file mode 100644 index 0000000..699eb93 Binary files /dev/null and b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/CL.write.1.tlog differ diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/DECLIB.DLL.metagen b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/DECLIB.DLL.metagen new file mode 100644 index 0000000..d6183aa --- /dev/null +++ b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/DECLIB.DLL.metagen @@ -0,0 +1,583 @@ +ImageRuntimeVersion: v4.0.30319 +Assembly declib, Version=1.0.*, Culture=固定语言(固定国家/地区): + hash=SHA1, flags=PublicKey +Assembly mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089: + hash=None, flags=None +Assembly System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089: + hash=None, flags=None +Assembly System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a: + hash=None, flags=None +Assembly System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089: + hash=None, flags=None +Assembly System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089: + hash=None, flags=None +Assembly Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a: + hash=None, flags=None +Class SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_ReqService: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit + :System.Web.Services.Protocols.SoapHttpClientProtocol + Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName + Void .ctor(System.String): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName + Events: + SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_ReqCompletedEventHandler SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_ReqCompleted: + Methods: + add_SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_ReqCompleted(SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_ReqCompletedEventHandler): PrivateScope, Public, HideBySig, SpecialName + remove_SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_ReqCompleted(SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_ReqCompletedEventHandler): PrivateScope, Public, HideBySig, SpecialName + SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_Req(ZMMS003[]&, ZMMT004[]&): PrivateScope, Public, HideBySig + BeginSI_PLM001_PLM2ERP_SOAP2Proxy_Syn_Req(ZMMS003[], ZMMT004[], AsyncCallback, Object): PrivateScope, Public, HideBySig + EndSI_PLM001_PLM2ERP_SOAP2Proxy_Syn_Req(IAsyncResult, ZMMS003[]&(Out), ZMMT004[]&(Out)): PrivateScope, Public, HideBySig + SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_ReqAsync(ZMMS003[], ZMMT004[]): PrivateScope, Public, HideBySig + SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_ReqAsync(ZMMS003[], ZMMT004[], Object): PrivateScope, Public, HideBySig + CancelAsync(Object): PrivateScope, Public, HideBySig +Class ZMMS003: AutoLayout, AnsiClass, Class, Public, Serializable, BeforeFieldInit + Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName + Void .ctor(System.Collections.Generic.Dictionary`2[System.String,System.String]): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName + Properties: + System.String MBRSH 'get set' : + System.String MTART 'get set' : + System.String MATNR 'get set' : + System.String MAKTX 'get set' : + System.String MEINS 'get set' : + System.String MATKL 'get set' : + System.String SPART 'get set' : + System.String PRDHA 'get set' : + System.String EXTWG 'get set' : + System.String MSTAE 'get set' : + System.Decimal VOLUM 'get set' : + Boolean VOLUMSpecified 'get set' : + System.String VOLEH 'get set' : + System.String BISMT 'get set' : + System.String FERTH 'get set' : + System.String WRKST 'get set' : + System.String GROES 'get set' : + System.String ZEINR 'get set' : + System.Decimal BRGEW 'get set' : + Boolean BRGEWSpecified 'get set' : + System.Decimal NTGEW 'get set' : + Boolean NTGEWSpecified 'get set' : + System.String GEWEI 'get set' : + System.String KLART 'get set' : + System.String CLASS 'get set' : + System.String D001 'get set' : + System.String D002 'get set' : + System.String D003 'get set' : + System.String D004 'get set' : + System.String D005 'get set' : + System.String D006 'get set' : + System.String D007 'get set' : + System.String D008 'get set' : + System.String D009 'get set' : + System.String D010 'get set' : + System.String D011 'get set' : + System.String D012 'get set' : + System.String D013 'get set' : + System.String D014 'get set' : + System.String D015 'get set' : + System.String D016 'get set' : + System.String D017 'get set' : + System.String D018 'get set' : + System.String D019 'get set' : + System.String D020 'get set' : + System.String D021 'get set' : + System.String D022 'get set' : + System.String D023 'get set' : + System.String D024 'get set' : + System.String D025 'get set' : + System.String D026 'get set' : + System.String D027 'get set' : + System.String D028 'get set' : + System.String D029 'get set' : + System.String D030 'get set' : + System.String D031 'get set' : + System.String D032 'get set' : + System.String D033 'get set' : + System.String D034 'get set' : + System.String D035 'get set' : + System.String D036 'get set' : + System.String D037 'get set' : + System.String D038 'get set' : + System.String D039 'get set' : + System.String D040 'get set' : + System.String D041 'get set' : + System.String D042 'get set' : + System.String D043 'get set' : + System.String D044 'get set' : + System.String D045 'get set' : + System.String D046 'get set' : + System.String D047 'get set' : + System.String D048 'get set' : + System.String D049 'get set' : + System.String D050 'get set' : + System.String D051 'get set' : + System.String D052 'get set' : + System.String D053 'get set' : + System.String D054 'get set' : + System.String D055 'get set' : + System.String D056 'get set' : + System.String D057 'get set' : + System.String D058 'get set' : + System.String D059 'get set' : + System.String D060 'get set' : + System.String D061 'get set' : + System.String D062 'get set' : + System.String D063 'get set' : + System.String D064 'get set' : + System.String D065 'get set' : + System.String D066 'get set' : + System.String D067 'get set' : + System.String D068 'get set' : + System.String D069 'get set' : + System.String D070 'get set' : + System.String D071 'get set' : + System.String D072 'get set' : + System.String STATUS 'get set' : + Methods: + get_D060(): PrivateScope, Public, HideBySig, SpecialName + set_D060(String): PrivateScope, Public, HideBySig, SpecialName + get_D061(): PrivateScope, Public, HideBySig, SpecialName + set_D061(String): PrivateScope, Public, HideBySig, SpecialName + get_D062(): PrivateScope, Public, HideBySig, SpecialName + set_D062(String): PrivateScope, Public, HideBySig, SpecialName + get_D063(): PrivateScope, Public, HideBySig, SpecialName + set_D063(String): PrivateScope, Public, HideBySig, SpecialName + get_D064(): PrivateScope, Public, HideBySig, SpecialName + set_D064(String): PrivateScope, Public, HideBySig, SpecialName + get_D065(): PrivateScope, Public, HideBySig, SpecialName + set_D065(String): PrivateScope, Public, HideBySig, SpecialName + get_D066(): PrivateScope, Public, HideBySig, SpecialName + set_D066(String): PrivateScope, Public, HideBySig, SpecialName + get_D067(): PrivateScope, Public, HideBySig, SpecialName + set_D067(String): PrivateScope, Public, HideBySig, SpecialName + get_D068(): PrivateScope, Public, HideBySig, SpecialName + set_D068(String): PrivateScope, Public, HideBySig, SpecialName + get_D069(): PrivateScope, Public, HideBySig, SpecialName + set_D069(String): PrivateScope, Public, HideBySig, SpecialName + get_D070(): PrivateScope, Public, HideBySig, SpecialName + set_D070(String): PrivateScope, Public, HideBySig, SpecialName + get_D071(): PrivateScope, Public, HideBySig, SpecialName + set_D071(String): PrivateScope, Public, HideBySig, SpecialName + get_D072(): PrivateScope, Public, HideBySig, SpecialName + set_D072(String): PrivateScope, Public, HideBySig, SpecialName + get_STATUS(): PrivateScope, Public, HideBySig, SpecialName + set_STATUS(String): PrivateScope, Public, HideBySig, SpecialName + set_D017(String): PrivateScope, Public, HideBySig, SpecialName + get_D018(): PrivateScope, Public, HideBySig, SpecialName + set_D018(String): PrivateScope, Public, HideBySig, SpecialName + get_D019(): PrivateScope, Public, HideBySig, SpecialName + set_D019(String): PrivateScope, Public, HideBySig, SpecialName + get_D020(): PrivateScope, Public, HideBySig, SpecialName + set_D020(String): PrivateScope, Public, HideBySig, SpecialName + get_D021(): PrivateScope, Public, HideBySig, SpecialName + set_D021(String): PrivateScope, Public, HideBySig, SpecialName + get_D022(): PrivateScope, Public, HideBySig, SpecialName + set_D022(String): PrivateScope, Public, HideBySig, SpecialName + get_D023(): PrivateScope, Public, HideBySig, SpecialName + set_D023(String): PrivateScope, Public, HideBySig, SpecialName + get_D024(): PrivateScope, Public, HideBySig, SpecialName + set_D024(String): PrivateScope, Public, HideBySig, SpecialName + get_D025(): PrivateScope, Public, HideBySig, SpecialName + set_D025(String): PrivateScope, Public, HideBySig, SpecialName + get_D026(): PrivateScope, Public, HideBySig, SpecialName + set_D026(String): PrivateScope, Public, HideBySig, SpecialName + get_D027(): PrivateScope, Public, HideBySig, SpecialName + set_D027(String): PrivateScope, Public, HideBySig, SpecialName + get_D028(): PrivateScope, Public, HideBySig, SpecialName + set_D028(String): PrivateScope, Public, HideBySig, SpecialName + get_D029(): PrivateScope, Public, HideBySig, SpecialName + set_D029(String): PrivateScope, Public, HideBySig, SpecialName + get_D030(): PrivateScope, Public, HideBySig, SpecialName + set_D030(String): PrivateScope, Public, HideBySig, SpecialName + get_D031(): PrivateScope, Public, HideBySig, SpecialName + set_D031(String): PrivateScope, Public, HideBySig, SpecialName + get_D032(): PrivateScope, Public, HideBySig, SpecialName + set_D032(String): PrivateScope, Public, HideBySig, SpecialName + get_D033(): PrivateScope, Public, HideBySig, SpecialName + set_D033(String): PrivateScope, Public, HideBySig, SpecialName + get_D034(): PrivateScope, Public, HideBySig, SpecialName + set_D034(String): PrivateScope, Public, HideBySig, SpecialName + get_D035(): PrivateScope, Public, HideBySig, SpecialName + set_D035(String): PrivateScope, Public, HideBySig, SpecialName + get_D036(): PrivateScope, Public, HideBySig, SpecialName + set_D036(String): PrivateScope, Public, HideBySig, SpecialName + get_D037(): PrivateScope, Public, HideBySig, SpecialName + set_D037(String): PrivateScope, Public, HideBySig, SpecialName + get_D038(): PrivateScope, Public, HideBySig, SpecialName + set_D038(String): PrivateScope, Public, HideBySig, SpecialName + get_D039(): PrivateScope, Public, HideBySig, SpecialName + set_D039(String): PrivateScope, Public, HideBySig, SpecialName + get_D040(): PrivateScope, Public, HideBySig, SpecialName + set_D040(String): PrivateScope, Public, HideBySig, SpecialName + get_D041(): PrivateScope, Public, HideBySig, SpecialName + set_D041(String): PrivateScope, Public, HideBySig, SpecialName + get_D042(): PrivateScope, Public, HideBySig, SpecialName + set_D042(String): PrivateScope, Public, HideBySig, SpecialName + get_D043(): PrivateScope, Public, HideBySig, SpecialName + set_D043(String): PrivateScope, Public, HideBySig, SpecialName + get_D044(): PrivateScope, Public, HideBySig, SpecialName + set_D044(String): PrivateScope, Public, HideBySig, SpecialName + get_D045(): PrivateScope, Public, HideBySig, SpecialName + set_D045(String): PrivateScope, Public, HideBySig, SpecialName + get_D046(): PrivateScope, Public, HideBySig, SpecialName + set_D046(String): PrivateScope, Public, HideBySig, SpecialName + get_D047(): PrivateScope, Public, HideBySig, SpecialName + set_D047(String): PrivateScope, Public, HideBySig, SpecialName + get_D048(): PrivateScope, Public, HideBySig, SpecialName + set_D048(String): PrivateScope, Public, HideBySig, SpecialName + get_D049(): PrivateScope, Public, HideBySig, SpecialName + set_D049(String): PrivateScope, Public, HideBySig, SpecialName + get_D050(): PrivateScope, Public, HideBySig, SpecialName + set_D050(String): PrivateScope, Public, HideBySig, SpecialName + get_D051(): PrivateScope, Public, HideBySig, SpecialName + set_D051(String): PrivateScope, Public, HideBySig, SpecialName + get_D052(): PrivateScope, Public, HideBySig, SpecialName + set_D052(String): PrivateScope, Public, HideBySig, SpecialName + get_D053(): PrivateScope, Public, HideBySig, SpecialName + set_D053(String): PrivateScope, Public, HideBySig, SpecialName + get_D054(): PrivateScope, Public, HideBySig, SpecialName + set_D054(String): PrivateScope, Public, HideBySig, SpecialName + get_D055(): PrivateScope, Public, HideBySig, SpecialName + set_D055(String): PrivateScope, Public, HideBySig, SpecialName + get_D056(): PrivateScope, Public, HideBySig, SpecialName + set_D056(String): PrivateScope, Public, HideBySig, SpecialName + get_D057(): PrivateScope, Public, HideBySig, SpecialName + set_D057(String): PrivateScope, Public, HideBySig, SpecialName + get_D058(): PrivateScope, Public, HideBySig, SpecialName + set_D058(String): PrivateScope, Public, HideBySig, SpecialName + get_D059(): PrivateScope, Public, HideBySig, SpecialName + set_D059(String): PrivateScope, Public, HideBySig, SpecialName + get_MBRSH(): PrivateScope, Public, HideBySig, SpecialName + set_MBRSH(String): PrivateScope, Public, HideBySig, SpecialName + get_MTART(): PrivateScope, Public, HideBySig, SpecialName + set_MTART(String): PrivateScope, Public, HideBySig, SpecialName + get_MATNR(): PrivateScope, Public, HideBySig, SpecialName + set_MATNR(String): PrivateScope, Public, HideBySig, SpecialName + get_MAKTX(): PrivateScope, Public, HideBySig, SpecialName + set_MAKTX(String): PrivateScope, Public, HideBySig, SpecialName + get_MEINS(): PrivateScope, Public, HideBySig, SpecialName + set_MEINS(String): PrivateScope, Public, HideBySig, SpecialName + get_MATKL(): PrivateScope, Public, HideBySig, SpecialName + set_MATKL(String): PrivateScope, Public, HideBySig, SpecialName + get_SPART(): PrivateScope, Public, HideBySig, SpecialName + set_SPART(String): PrivateScope, Public, HideBySig, SpecialName + get_PRDHA(): PrivateScope, Public, HideBySig, SpecialName + set_PRDHA(String): PrivateScope, Public, HideBySig, SpecialName + get_EXTWG(): PrivateScope, Public, HideBySig, SpecialName + set_EXTWG(String): PrivateScope, Public, HideBySig, SpecialName + get_MSTAE(): PrivateScope, Public, HideBySig, SpecialName + set_MSTAE(String): PrivateScope, Public, HideBySig, SpecialName + get_VOLUM(): PrivateScope, Public, HideBySig, SpecialName + set_VOLUM(Decimal): PrivateScope, Public, HideBySig, SpecialName + get_VOLUMSpecified(): PrivateScope, Public, HideBySig, SpecialName + set_VOLUMSpecified(Boolean): PrivateScope, Public, HideBySig, SpecialName + get_VOLEH(): PrivateScope, Public, HideBySig, SpecialName + set_VOLEH(String): PrivateScope, Public, HideBySig, SpecialName + get_BISMT(): PrivateScope, Public, HideBySig, SpecialName + set_BISMT(String): PrivateScope, Public, HideBySig, SpecialName + get_FERTH(): PrivateScope, Public, HideBySig, SpecialName + set_FERTH(String): PrivateScope, Public, HideBySig, SpecialName + get_WRKST(): PrivateScope, Public, HideBySig, SpecialName + set_WRKST(String): PrivateScope, Public, HideBySig, SpecialName + get_GROES(): PrivateScope, Public, HideBySig, SpecialName + set_GROES(String): PrivateScope, Public, HideBySig, SpecialName + get_ZEINR(): PrivateScope, Public, HideBySig, SpecialName + set_ZEINR(String): PrivateScope, Public, HideBySig, SpecialName + get_BRGEW(): PrivateScope, Public, HideBySig, SpecialName + set_BRGEW(Decimal): PrivateScope, Public, HideBySig, SpecialName + get_BRGEWSpecified(): PrivateScope, Public, HideBySig, SpecialName + set_BRGEWSpecified(Boolean): PrivateScope, Public, HideBySig, SpecialName + get_NTGEW(): PrivateScope, Public, HideBySig, SpecialName + set_NTGEW(Decimal): PrivateScope, Public, HideBySig, SpecialName + get_NTGEWSpecified(): PrivateScope, Public, HideBySig, SpecialName + set_NTGEWSpecified(Boolean): PrivateScope, Public, HideBySig, SpecialName + get_GEWEI(): PrivateScope, Public, HideBySig, SpecialName + set_GEWEI(String): PrivateScope, Public, HideBySig, SpecialName + get_KLART(): PrivateScope, Public, HideBySig, SpecialName + set_KLART(String): PrivateScope, Public, HideBySig, SpecialName + get_CLASS(): PrivateScope, Public, HideBySig, SpecialName + set_CLASS(String): PrivateScope, Public, HideBySig, SpecialName + get_D001(): PrivateScope, Public, HideBySig, SpecialName + set_D001(String): PrivateScope, Public, HideBySig, SpecialName + get_D002(): PrivateScope, Public, HideBySig, SpecialName + set_D002(String): PrivateScope, Public, HideBySig, SpecialName + get_D003(): PrivateScope, Public, HideBySig, SpecialName + set_D003(String): PrivateScope, Public, HideBySig, SpecialName + get_D004(): PrivateScope, Public, HideBySig, SpecialName + set_D004(String): PrivateScope, Public, HideBySig, SpecialName + get_D005(): PrivateScope, Public, HideBySig, SpecialName + set_D005(String): PrivateScope, Public, HideBySig, SpecialName + get_D006(): PrivateScope, Public, HideBySig, SpecialName + set_D006(String): PrivateScope, Public, HideBySig, SpecialName + get_D007(): PrivateScope, Public, HideBySig, SpecialName + set_D007(String): PrivateScope, Public, HideBySig, SpecialName + get_D008(): PrivateScope, Public, HideBySig, SpecialName + set_D008(String): PrivateScope, Public, HideBySig, SpecialName + get_D009(): PrivateScope, Public, HideBySig, SpecialName + set_D009(String): PrivateScope, Public, HideBySig, SpecialName + get_D010(): PrivateScope, Public, HideBySig, SpecialName + set_D010(String): PrivateScope, Public, HideBySig, SpecialName + get_D011(): PrivateScope, Public, HideBySig, SpecialName + set_D011(String): PrivateScope, Public, HideBySig, SpecialName + get_D012(): PrivateScope, Public, HideBySig, SpecialName + set_D012(String): PrivateScope, Public, HideBySig, SpecialName + get_D013(): PrivateScope, Public, HideBySig, SpecialName + set_D013(String): PrivateScope, Public, HideBySig, SpecialName + get_D014(): PrivateScope, Public, HideBySig, SpecialName + set_D014(String): PrivateScope, Public, HideBySig, SpecialName + get_D015(): PrivateScope, Public, HideBySig, SpecialName + set_D015(String): PrivateScope, Public, HideBySig, SpecialName + get_D016(): PrivateScope, Public, HideBySig, SpecialName + set_D016(String): PrivateScope, Public, HideBySig, SpecialName + get_D017(): PrivateScope, Public, HideBySig, SpecialName +Class ZMMT004: AutoLayout, AnsiClass, Class, Public, Serializable, BeforeFieldInit + Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName + Properties: + System.String MANDT 'get set' : + System.String MATNR 'get set' : + System.String ZSTATUS 'get set' : + System.String MESSAGE 'get set' : + Methods: + get_MANDT(): PrivateScope, Public, HideBySig, SpecialName + set_MANDT(String): PrivateScope, Public, HideBySig, SpecialName + get_MATNR(): PrivateScope, Public, HideBySig, SpecialName + set_MATNR(String): PrivateScope, Public, HideBySig, SpecialName + get_ZSTATUS(): PrivateScope, Public, HideBySig, SpecialName + set_ZSTATUS(String): PrivateScope, Public, HideBySig, SpecialName + get_MESSAGE(): PrivateScope, Public, HideBySig, SpecialName + set_MESSAGE(String): PrivateScope, Public, HideBySig, SpecialName +Class SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_ReqCompletedEventHandler: AutoLayout, AnsiClass, Class, Public, Sealed + :System.MulticastDelegate + Void .ctor(System.Object, IntPtr): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName + Methods: + Invoke(Object, SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_ReqCompletedEventArgs): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask + BeginInvoke(Object, SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_ReqCompletedEventArgs, AsyncCallback, Object): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask + EndInvoke(IAsyncResult): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask +Class SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_ReqCompletedEventArgs: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit + :System.ComponentModel.AsyncCompletedEventArgs + Properties: + ZMMS003[] IT_DATA 'get ' : + ZMMT004[] IT_RETURN 'get ' : + Methods: + get_IT_DATA(): PrivateScope, Public, HideBySig, SpecialName + get_IT_RETURN(): PrivateScope, Public, HideBySig, SpecialName +Class SI_PLM002_PLM2ERP_SOAP2Proxy_Syn_ReqService: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit + :System.Web.Services.Protocols.SoapHttpClientProtocol + Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName + Void .ctor(System.String): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName + Events: + SI_PLM002_PLM2ERP_SOAP2Proxy_Syn_ReqCompletedEventHandler SI_PLM002_PLM2ERP_SOAP2Proxy_Syn_ReqCompleted: + Methods: + add_SI_PLM002_PLM2ERP_SOAP2Proxy_Syn_ReqCompleted(SI_PLM002_PLM2ERP_SOAP2Proxy_Syn_ReqCompletedEventHandler): PrivateScope, Public, HideBySig, SpecialName + remove_SI_PLM002_PLM2ERP_SOAP2Proxy_Syn_ReqCompleted(SI_PLM002_PLM2ERP_SOAP2Proxy_Syn_ReqCompletedEventHandler): PrivateScope, Public, HideBySig, SpecialName + SI_PLM002_PLM2ERP_SOAP2Proxy_Syn_Req(ZPPS001[]&, ZPPT001[]&): PrivateScope, Public, HideBySig + BeginSI_PLM002_PLM2ERP_SOAP2Proxy_Syn_Req(ZPPS001[], ZPPT001[], AsyncCallback, Object): PrivateScope, Public, HideBySig + EndSI_PLM002_PLM2ERP_SOAP2Proxy_Syn_Req(IAsyncResult, ZPPS001[]&(Out), ZPPT001[]&(Out)): PrivateScope, Public, HideBySig + SI_PLM002_PLM2ERP_SOAP2Proxy_Syn_ReqAsync(ZPPS001[], ZPPT001[]): PrivateScope, Public, HideBySig + SI_PLM002_PLM2ERP_SOAP2Proxy_Syn_ReqAsync(ZPPS001[], ZPPT001[], Object): PrivateScope, Public, HideBySig + CancelAsync(Object): PrivateScope, Public, HideBySig +Class ZPPS001: AutoLayout, AnsiClass, Class, Public, Serializable, BeforeFieldInit + Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName + Void .ctor(System.Collections.Generic.Dictionary`2[System.String,System.String]): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName + Properties: + System.String MATNR 'get set' : + System.String WERKS 'get set' : + System.String STLAN 'get set' : + System.Decimal BMENG 'get set' : + Boolean BMENGSpecified 'get set' : + System.String STLST 'get set' : + System.String POSNR 'get set' : + System.String POSTP 'get set' : + System.String IDNRK 'get set' : + System.Decimal MENGE 'get set' : + Boolean MENGESpecified 'get set' : + System.String MEINS 'get set' : + System.Decimal AUSCH 'get set' : + Boolean AUSCHSpecified 'get set' : + Methods: + get_MATNR(): PrivateScope, Public, HideBySig, SpecialName + set_MATNR(String): PrivateScope, Public, HideBySig, SpecialName + get_WERKS(): PrivateScope, Public, HideBySig, SpecialName + set_WERKS(String): PrivateScope, Public, HideBySig, SpecialName + get_STLAN(): PrivateScope, Public, HideBySig, SpecialName + set_STLAN(String): PrivateScope, Public, HideBySig, SpecialName + get_BMENG(): PrivateScope, Public, HideBySig, SpecialName + set_BMENG(Decimal): PrivateScope, Public, HideBySig, SpecialName + get_BMENGSpecified(): PrivateScope, Public, HideBySig, SpecialName + set_BMENGSpecified(Boolean): PrivateScope, Public, HideBySig, SpecialName + get_STLST(): PrivateScope, Public, HideBySig, SpecialName + set_STLST(String): PrivateScope, Public, HideBySig, SpecialName + get_POSNR(): PrivateScope, Public, HideBySig, SpecialName + set_POSNR(String): PrivateScope, Public, HideBySig, SpecialName + get_POSTP(): PrivateScope, Public, HideBySig, SpecialName + set_POSTP(String): PrivateScope, Public, HideBySig, SpecialName + get_IDNRK(): PrivateScope, Public, HideBySig, SpecialName + set_IDNRK(String): PrivateScope, Public, HideBySig, SpecialName + get_MENGE(): PrivateScope, Public, HideBySig, SpecialName + set_MENGE(Decimal): PrivateScope, Public, HideBySig, SpecialName + get_MENGESpecified(): PrivateScope, Public, HideBySig, SpecialName + set_MENGESpecified(Boolean): PrivateScope, Public, HideBySig, SpecialName + get_MEINS(): PrivateScope, Public, HideBySig, SpecialName + set_MEINS(String): PrivateScope, Public, HideBySig, SpecialName + get_AUSCH(): PrivateScope, Public, HideBySig, SpecialName + set_AUSCH(Decimal): PrivateScope, Public, HideBySig, SpecialName + get_AUSCHSpecified(): PrivateScope, Public, HideBySig, SpecialName + set_AUSCHSpecified(Boolean): PrivateScope, Public, HideBySig, SpecialName +Class ZPPT001: AutoLayout, AnsiClass, Class, Public, Serializable, BeforeFieldInit + Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName + Properties: + System.String MANDT 'get set' : + System.String MATNR 'get set' : + System.String TYPE 'get set' : + System.String ID 'get set' : + System.String NUMBER1 'get set' : + System.String MESSAGE 'get set' : + Methods: + get_MANDT(): PrivateScope, Public, HideBySig, SpecialName + set_MANDT(String): PrivateScope, Public, HideBySig, SpecialName + get_MATNR(): PrivateScope, Public, HideBySig, SpecialName + set_MATNR(String): PrivateScope, Public, HideBySig, SpecialName + get_TYPE(): PrivateScope, Public, HideBySig, SpecialName + set_TYPE(String): PrivateScope, Public, HideBySig, SpecialName + get_ID(): PrivateScope, Public, HideBySig, SpecialName + set_ID(String): PrivateScope, Public, HideBySig, SpecialName + get_NUMBER1(): PrivateScope, Public, HideBySig, SpecialName + set_NUMBER1(String): PrivateScope, Public, HideBySig, SpecialName + get_MESSAGE(): PrivateScope, Public, HideBySig, SpecialName + set_MESSAGE(String): PrivateScope, Public, HideBySig, SpecialName +Class SI_PLM002_PLM2ERP_SOAP2Proxy_Syn_ReqCompletedEventHandler: AutoLayout, AnsiClass, Class, Public, Sealed + :System.MulticastDelegate + Void .ctor(System.Object, IntPtr): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName + Methods: + Invoke(Object, SI_PLM002_PLM2ERP_SOAP2Proxy_Syn_ReqCompletedEventArgs): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask + BeginInvoke(Object, SI_PLM002_PLM2ERP_SOAP2Proxy_Syn_ReqCompletedEventArgs, AsyncCallback, Object): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask + EndInvoke(IAsyncResult): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask +Class SI_PLM002_PLM2ERP_SOAP2Proxy_Syn_ReqCompletedEventArgs: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit + :System.ComponentModel.AsyncCompletedEventArgs + Properties: + ZPPS001[] IT_DATA 'get ' : + ZPPT001[] IT_RETURN 'get ' : + Methods: + get_IT_DATA(): PrivateScope, Public, HideBySig, SpecialName + get_IT_RETURN(): PrivateScope, Public, HideBySig, SpecialName +Class Testdll.Testclass: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit + Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName + Methods: + test(): PrivateScope, Public, Static, HideBySig + GetToken(String, String): PrivateScope, Public, HideBySig + Send(String, String, String): PrivateScope, Public, HideBySig + send_material(String, String, String, Dictionary`2): PrivateScope, Public, HideBySig + send_bom(String, String, String, List`1): PrivateScope, Public, HideBySig + signCad(String, String, Dictionary`2, String&(Out)): PrivateScope, Public, Static, HideBySig + signCad(String, String, Dictionary`2): PrivateScope, Public, Static, HideBySig + Encrypt(String, String): PrivateScope, Public, HideBySig + Decrypt(String, String): PrivateScope, Public, HideBySig +Interface Autodesk.AutoCAD.Interop.AcadApplication: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Interfaces: + Autodesk.AutoCAD.Interop.IAcadApplication + Autodesk.AutoCAD.Interop._DAcadApplicationEvents_Event +Interface Autodesk.AutoCAD.Interop.AcadDocument: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Interfaces: + Autodesk.AutoCAD.Interop.IAcadDocument + Autodesk.AutoCAD.Interop.Common.IAcadDatabase + Autodesk.AutoCAD.Interop._DAcadDocumentEvents_Event +Interface Autodesk.AutoCAD.Interop.AcadDocuments: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Interfaces: + Autodesk.AutoCAD.Interop.IAcadDocuments + System.Collections.IEnumerable +Interface Autodesk.AutoCAD.Interop.IAcadApplication: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Properties: + Boolean Visible 'get set' : + Autodesk.AutoCAD.Interop.AcadDocuments Documents 'get ' : + Methods: + get_Visible(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName + set_Visible(Boolean(In)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName + Quit(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract + get_Documents(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName +Interface Autodesk.AutoCAD.Interop.IAcadDocument: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Interfaces: + Autodesk.AutoCAD.Interop.Common.IAcadDatabase + Properties: + Autodesk.AutoCAD.Interop.Common.AcadModelSpace ModelSpace 'get ' : + Methods: + get_ModelSpace(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName + SaveAs(String(In, HasFieldMarshal), Object(In, Optional, HasFieldMarshal), Object(In, Optional, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract + Close(Object(In, Optional, HasFieldMarshal), Object(In, Optional, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract +Interface Autodesk.AutoCAD.Interop.IAcadDocuments: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Interfaces: + System.Collections.IEnumerable + Methods: + Item(Object(In, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract + Open(String(In, HasFieldMarshal), Object(In, Optional, HasFieldMarshal), Object(In, Optional, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract +Interface Autodesk.AutoCAD.Interop._DAcadApplicationEvents: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import +Interface Autodesk.AutoCAD.Interop._DAcadApplicationEvents_Event: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import +Interface Autodesk.AutoCAD.Interop._DAcadDocumentEvents: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import +Interface Autodesk.AutoCAD.Interop._DAcadDocumentEvents_Event: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import +Interface Autodesk.AutoCAD.Interop.Common.AcadAttributeReference: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Interfaces: + Autodesk.AutoCAD.Interop.Common.IAcadAttributeReference + Autodesk.AutoCAD.Interop.Common.IAcadEntity + Autodesk.AutoCAD.Interop.Common.IAcadObject + Autodesk.AutoCAD.Interop.Common.IAcadObjectEvents_Event +Interface Autodesk.AutoCAD.Interop.Common.AcadBlockReference: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Interfaces: + Autodesk.AutoCAD.Interop.Common.IAcadBlockReference + Autodesk.AutoCAD.Interop.Common.IAcadEntity + Autodesk.AutoCAD.Interop.Common.IAcadObject + Autodesk.AutoCAD.Interop.Common.IAcadObjectEvents_Event +Interface Autodesk.AutoCAD.Interop.Common.AcadEntity: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Interfaces: + Autodesk.AutoCAD.Interop.Common.IAcadEntity + Autodesk.AutoCAD.Interop.Common.IAcadObject + Autodesk.AutoCAD.Interop.Common.IAcadObjectEvents_Event +Interface Autodesk.AutoCAD.Interop.Common.AcadModelSpace: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Interfaces: + Autodesk.AutoCAD.Interop.Common.IAcadModelSpace + Autodesk.AutoCAD.Interop.Common.IAcadBlock + Autodesk.AutoCAD.Interop.Common.IAcadObject + System.Collections.IEnumerable + Autodesk.AutoCAD.Interop.Common.IAcadObjectEvents_Event +Interface Autodesk.AutoCAD.Interop.Common.IAcadAttributeReference: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Interfaces: + Autodesk.AutoCAD.Interop.Common.IAcadEntity + Autodesk.AutoCAD.Interop.Common.IAcadObject + Properties: + System.String TagString 'get set' : + System.String TextString 'get set' : + Methods: + get_TagString(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName + set_TagString(String(In, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName + get_TextString(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName + set_TextString(String(In, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName +Interface Autodesk.AutoCAD.Interop.Common.IAcadBlock: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Interfaces: + Autodesk.AutoCAD.Interop.Common.IAcadObject + System.Collections.IEnumerable + Methods: + Item(Object(In, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract +Interface Autodesk.AutoCAD.Interop.Common.IAcadBlockReference: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Interfaces: + Autodesk.AutoCAD.Interop.Common.IAcadEntity + Autodesk.AutoCAD.Interop.Common.IAcadObject + Properties: + System.String Name 'get set' : + Methods: + get_Name(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName + set_Name(String(In, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName + GetAttributes(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract +Interface Autodesk.AutoCAD.Interop.Common.IAcadDatabase: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import +Interface Autodesk.AutoCAD.Interop.Common.IAcadEntity: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Interfaces: + Autodesk.AutoCAD.Interop.Common.IAcadObject + Properties: + System.String EntityName 'get ' : + Methods: + get_EntityName(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName +Interface Autodesk.AutoCAD.Interop.Common.IAcadModelSpace: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import + Interfaces: + Autodesk.AutoCAD.Interop.Common.IAcadBlock + Autodesk.AutoCAD.Interop.Common.IAcadObject + System.Collections.IEnumerable + Methods: + Item(Object(In, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract + GetEnumerator(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract +Interface Autodesk.AutoCAD.Interop.Common.IAcadObject: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import +Interface Autodesk.AutoCAD.Interop.Common.IAcadObjectEvents: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import +Interface Autodesk.AutoCAD.Interop.Common.IAcadObjectEvents_Event: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/HEZON_ITK.lastbuildstate b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/HEZON_ITK.lastbuildstate new file mode 100644 index 0000000..7097f65 --- /dev/null +++ b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/HEZON_ITK.lastbuildstate @@ -0,0 +1,2 @@ +#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=true:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1 +Release|x64|E:\work\vs_workspace\jditk\| diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/TZRES.DLL.bi b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/TZRES.DLL.bi new file mode 100644 index 0000000..e69de29 diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.command.1.tlog b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.command.1.tlog new file mode 100644 index 0000000..c1b2d9d Binary files /dev/null and b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.command.1.tlog differ diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.read.1.tlog b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.read.1.tlog new file mode 100644 index 0000000..10e759e Binary files /dev/null and b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.read.1.tlog differ diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.write.1.tlog b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.write.1.tlog new file mode 100644 index 0000000..7b79860 Binary files /dev/null and b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/link.write.1.tlog differ diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/metagen.read.1.tlog b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/metagen.read.1.tlog new file mode 100644 index 0000000..7b08896 Binary files /dev/null and b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/metagen.read.1.tlog differ diff --git a/HEZON_ITK/x64/Release/HEZON_ITK.tlog/metagen.write.1.tlog b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/metagen.write.1.tlog new file mode 100644 index 0000000..69870a7 Binary files /dev/null and b/HEZON_ITK/x64/Release/HEZON_ITK.tlog/metagen.write.1.tlog differ diff --git a/HEZON_ITK/x64/Release/vc140.pdb b/HEZON_ITK/x64/Release/vc140.pdb new file mode 100644 index 0000000..e5a9ace Binary files /dev/null and b/HEZON_ITK/x64/Release/vc140.pdb differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..1b0bc75 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# itk + +itk \ No newline at end of file diff --git a/x64/Release/HEZON_ITK.exp b/x64/Release/HEZON_ITK.exp new file mode 100644 index 0000000..d8602e3 Binary files /dev/null and b/x64/Release/HEZON_ITK.exp differ diff --git a/x64/Release/HEZON_ITK.pdb b/x64/Release/HEZON_ITK.pdb new file mode 100644 index 0000000..44480a7 Binary files /dev/null and b/x64/Release/HEZON_ITK.pdb differ diff --git a/x64/Release/bs.dll.metagen b/x64/Release/bs.dll.metagen new file mode 100644 index 0000000..e252896 --- /dev/null +++ b/x64/Release/bs.dll.metagen @@ -0,0 +1,7 @@ +ImageRuntimeVersion: v4.0.30319 +Assembly bs, Version=0.0.*, Culture=固定语言(固定国家/地区): + hash=SHA1, flags=PublicKey +Assembly mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089: + hash=None, flags=None +Assembly declib, Version=1.0.*, Culture=固定语言(固定国家/地区): + hash=None, flags=None diff --git a/x64/Release/bs.exp b/x64/Release/bs.exp new file mode 100644 index 0000000..ae68178 Binary files /dev/null and b/x64/Release/bs.exp differ diff --git a/x64/Release/hxErp.zip b/x64/Release/hxErp.zip new file mode 100644 index 0000000..a84762c Binary files /dev/null and b/x64/Release/hxErp.zip differ diff --git a/x64/Release/msado15.tlh b/x64/Release/msado15.tlh new file mode 100644 index 0000000..7fdc627 --- /dev/null +++ b/x64/Release/msado15.tlh @@ -0,0 +1,5027 @@ +// Created by Microsoft (R) C/C++ Compiler Version 11.00.50727.1 (a8dc2009). +// +// c:\users\liyanfeng\documents\代码\hezon_itk\hezon_itk\x64\release\msado15.tlh +// +// C++ source equivalent of type library C:/Program Files/Common Files/System/ado/msado15.dll +// compiler-generated file created 03/22/17 at 19:48:35 - DO NOT EDIT! + +#pragma once +#pragma pack(push, 8) + +#include + +// +// Forward references and typedefs +// + +struct __declspec(uuid("b691e011-1797-432e-907a-4d8c69339129")) +/* LIBID */ __ADODB; +enum CursorTypeEnum; +enum CursorOptionEnum; +enum LockTypeEnum; +enum ExecuteOptionEnum; +enum ConnectOptionEnum; +enum ObjectStateEnum; +enum CursorLocationEnum; +enum DataTypeEnum; +enum FieldAttributeEnum; +enum EditModeEnum; +enum RecordStatusEnum; +enum GetRowsOptionEnum; +enum PositionEnum; +enum BookmarkEnum; +enum MarshalOptionsEnum; +enum AffectEnum; +enum ResyncEnum; +enum CompareEnum; +enum FilterGroupEnum; +enum SearchDirectionEnum; +enum PersistFormatEnum; +enum StringFormatEnum; +enum ConnectPromptEnum; +enum ConnectModeEnum; +enum RecordCreateOptionsEnum; +enum RecordOpenOptionsEnum; +enum IsolationLevelEnum; +enum XactAttributeEnum; +enum PropertyAttributesEnum; +enum ErrorValueEnum; +enum ParameterAttributesEnum; +enum ParameterDirectionEnum; +enum CommandTypeEnum; +enum EventStatusEnum; +enum EventReasonEnum; +enum SchemaEnum; +enum FieldStatusEnum; +enum SeekEnum; +enum ADCPROP_UPDATECRITERIA_ENUM; +enum ADCPROP_ASYNCTHREADPRIORITY_ENUM; +enum ADCPROP_AUTORECALC_ENUM; +enum ADCPROP_UPDATERESYNC_ENUM; +enum MoveRecordOptionsEnum; +enum CopyRecordOptionsEnum; +enum StreamTypeEnum; +enum LineSeparatorEnum; +enum StreamOpenOptionsEnum; +enum StreamWriteEnum; +enum SaveOptionsEnum; +enum FieldEnum; +enum StreamReadEnum; +enum RecordTypeEnum; +struct __declspec(uuid("00000512-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ _Collection; +struct __declspec(uuid("00000513-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ _DynaCollection; +struct __declspec(uuid("00000534-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ _ADO; +struct __declspec(uuid("00000504-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Properties; +struct __declspec(uuid("00000503-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Property; +struct __declspec(uuid("00000500-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Error; +struct __declspec(uuid("00000501-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Errors; +struct __declspec(uuid("00001508-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Command15; +struct __declspec(uuid("00001550-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ _Connection; +struct __declspec(uuid("00001515-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Connection15; +struct __declspec(uuid("00001556-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ _Recordset; +struct __declspec(uuid("00001555-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Recordset21; +struct __declspec(uuid("0000154f-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Recordset20; +struct __declspec(uuid("0000150e-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Recordset15; +struct __declspec(uuid("00001564-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Fields; +struct __declspec(uuid("0000154d-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Fields20; +struct __declspec(uuid("00001506-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Fields15; +struct __declspec(uuid("00001569-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Field; +struct __declspec(uuid("0000154c-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Field20; +struct __declspec(uuid("0000150c-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ _Parameter; +struct __declspec(uuid("0000150d-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Parameters; +struct __declspec(uuid("0000154e-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Command25; +struct __declspec(uuid("986761e8-7269-4890-aa65-ad7c03697a6d")) +/* dual interface */ _Command; +struct __declspec(uuid("00001402-0000-0010-8000-00aa006d2ea4")) +/* interface */ ConnectionEventsVt; +struct __declspec(uuid("00001403-0000-0010-8000-00aa006d2ea4")) +/* interface */ RecordsetEventsVt; +struct __declspec(uuid("00001400-0000-0010-8000-00aa006d2ea4")) +/* dispinterface */ ConnectionEvents; +struct __declspec(uuid("00001266-0000-0010-8000-00aa006d2ea4")) +/* dispinterface */ RecordsetEvents; +struct __declspec(uuid("00000516-0000-0010-8000-00aa006d2ea4")) +/* interface */ ADOConnectionConstruction15; +struct __declspec(uuid("00000551-0000-0010-8000-00aa006d2ea4")) +/* interface */ ADOConnectionConstruction; +struct /* coclass */ Connection; +struct __declspec(uuid("00001562-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ _Record; +struct /* coclass */ Record; +struct __declspec(uuid("00001565-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ _Stream; +struct /* coclass */ Stream; +struct __declspec(uuid("00000567-0000-0010-8000-00aa006d2ea4")) +/* interface */ ADORecordConstruction; +struct __declspec(uuid("00000568-0000-0010-8000-00aa006d2ea4")) +/* interface */ ADOStreamConstruction; +struct __declspec(uuid("00000517-0000-0010-8000-00aa006d2ea4")) +/* interface */ ADOCommandConstruction; +struct /* coclass */ Command; +struct /* coclass */ Recordset; +struct __declspec(uuid("00000283-0000-0010-8000-00aa006d2ea4")) +/* interface */ ADORecordsetConstruction; +struct __declspec(uuid("00001505-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Field15; +struct /* coclass */ Parameter; +struct __declspec(uuid("00000402-0000-0010-8000-00aa006d2ea4")) +/* interface */ ConnectionEventsVt_Deprecated; +struct __declspec(uuid("00000550-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ _Connection_Deprecated; +struct __declspec(uuid("00000515-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Connection15_Deprecated; +struct __declspec(uuid("00000556-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ _Recordset_Deprecated; +struct __declspec(uuid("00000555-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Recordset21_Deprecated; +struct __declspec(uuid("0000054f-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Recordset20_Deprecated; +struct __declspec(uuid("0000050e-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Recordset15_Deprecated; +struct __declspec(uuid("00000564-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Fields_Deprecated; +struct __declspec(uuid("0000054d-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Fields20_Deprecated; +struct __declspec(uuid("00000506-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Fields15_Deprecated; +struct __declspec(uuid("00000569-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Field_Deprecated; +struct __declspec(uuid("0000054c-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Field20_Deprecated; +struct __declspec(uuid("b08400bd-f9d1-4d02-b856-71d5dba123e9")) +/* dual interface */ _Command_Deprecated; +struct __declspec(uuid("0000054e-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Command25_Deprecated; +struct __declspec(uuid("00000508-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Command15_Deprecated; +struct __declspec(uuid("0000050c-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ _Parameter_Deprecated; +struct __declspec(uuid("0000050d-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Parameters_Deprecated; +struct __declspec(uuid("00000403-0000-0010-8000-00aa006d2ea4")) +/* interface */ RecordsetEventsVt_Deprecated; +struct __declspec(uuid("00000400-0000-0010-8000-00aa006d2ea4")) +/* dispinterface */ ConnectionEvents_Deprecated; +struct __declspec(uuid("00000266-0000-0010-8000-00aa006d2ea4")) +/* dispinterface */ RecordsetEvents_Deprecated; +struct __declspec(uuid("00000562-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ _Record_Deprecated; +struct __declspec(uuid("00000565-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ _Stream_Deprecated; +struct __declspec(uuid("00000505-0000-0010-8000-00aa006d2ea4")) +/* dual interface */ Field15_Deprecated; +typedef __int64 PositionEnum_Param; +typedef enum SearchDirectionEnum SearchDirection; +typedef __int64 ADO_LONGPTR; + +// +// Smart pointer typedef declarations +// + +_COM_SMARTPTR_TYPEDEF(_Collection, __uuidof(_Collection)); +_COM_SMARTPTR_TYPEDEF(_DynaCollection, __uuidof(_DynaCollection)); +_COM_SMARTPTR_TYPEDEF(Property, __uuidof(Property)); +_COM_SMARTPTR_TYPEDEF(Properties, __uuidof(Properties)); +_COM_SMARTPTR_TYPEDEF(_ADO, __uuidof(_ADO)); +_COM_SMARTPTR_TYPEDEF(Error, __uuidof(Error)); +_COM_SMARTPTR_TYPEDEF(Errors, __uuidof(Errors)); +_COM_SMARTPTR_TYPEDEF(Field20, __uuidof(Field20)); +_COM_SMARTPTR_TYPEDEF(Field, __uuidof(Field)); +_COM_SMARTPTR_TYPEDEF(Fields15, __uuidof(Fields15)); +_COM_SMARTPTR_TYPEDEF(Fields20, __uuidof(Fields20)); +_COM_SMARTPTR_TYPEDEF(Fields, __uuidof(Fields)); +_COM_SMARTPTR_TYPEDEF(_Parameter, __uuidof(_Parameter)); +_COM_SMARTPTR_TYPEDEF(Parameters, __uuidof(Parameters)); +_COM_SMARTPTR_TYPEDEF(ConnectionEvents, __uuidof(ConnectionEvents)); +_COM_SMARTPTR_TYPEDEF(RecordsetEvents, __uuidof(RecordsetEvents)); +_COM_SMARTPTR_TYPEDEF(ADOConnectionConstruction15, __uuidof(ADOConnectionConstruction15)); +_COM_SMARTPTR_TYPEDEF(ADOConnectionConstruction, __uuidof(ADOConnectionConstruction)); +_COM_SMARTPTR_TYPEDEF(_Stream, __uuidof(_Stream)); +_COM_SMARTPTR_TYPEDEF(ADORecordConstruction, __uuidof(ADORecordConstruction)); +_COM_SMARTPTR_TYPEDEF(ADOStreamConstruction, __uuidof(ADOStreamConstruction)); +_COM_SMARTPTR_TYPEDEF(ADOCommandConstruction, __uuidof(ADOCommandConstruction)); +_COM_SMARTPTR_TYPEDEF(ADORecordsetConstruction, __uuidof(ADORecordsetConstruction)); +_COM_SMARTPTR_TYPEDEF(Field15, __uuidof(Field15)); +_COM_SMARTPTR_TYPEDEF(Field20_Deprecated, __uuidof(Field20_Deprecated)); +_COM_SMARTPTR_TYPEDEF(Field_Deprecated, __uuidof(Field_Deprecated)); +_COM_SMARTPTR_TYPEDEF(Fields15_Deprecated, __uuidof(Fields15_Deprecated)); +_COM_SMARTPTR_TYPEDEF(Fields20_Deprecated, __uuidof(Fields20_Deprecated)); +_COM_SMARTPTR_TYPEDEF(Fields_Deprecated, __uuidof(Fields_Deprecated)); +_COM_SMARTPTR_TYPEDEF(_Parameter_Deprecated, __uuidof(_Parameter_Deprecated)); +_COM_SMARTPTR_TYPEDEF(Parameters_Deprecated, __uuidof(Parameters_Deprecated)); +_COM_SMARTPTR_TYPEDEF(ConnectionEvents_Deprecated, __uuidof(ConnectionEvents_Deprecated)); +_COM_SMARTPTR_TYPEDEF(RecordsetEvents_Deprecated, __uuidof(RecordsetEvents_Deprecated)); +_COM_SMARTPTR_TYPEDEF(_Stream_Deprecated, __uuidof(_Stream_Deprecated)); +_COM_SMARTPTR_TYPEDEF(Field15_Deprecated, __uuidof(Field15_Deprecated)); +_COM_SMARTPTR_TYPEDEF(Command15, __uuidof(Command15)); +_COM_SMARTPTR_TYPEDEF(Command25, __uuidof(Command25)); +_COM_SMARTPTR_TYPEDEF(_Command, __uuidof(_Command)); +_COM_SMARTPTR_TYPEDEF(Connection15, __uuidof(Connection15)); +_COM_SMARTPTR_TYPEDEF(_Connection, __uuidof(_Connection)); +_COM_SMARTPTR_TYPEDEF(Recordset15, __uuidof(Recordset15)); +_COM_SMARTPTR_TYPEDEF(Recordset20, __uuidof(Recordset20)); +_COM_SMARTPTR_TYPEDEF(Recordset21, __uuidof(Recordset21)); +_COM_SMARTPTR_TYPEDEF(_Recordset, __uuidof(_Recordset)); +_COM_SMARTPTR_TYPEDEF(ConnectionEventsVt, __uuidof(ConnectionEventsVt)); +_COM_SMARTPTR_TYPEDEF(RecordsetEventsVt, __uuidof(RecordsetEventsVt)); +_COM_SMARTPTR_TYPEDEF(_Record, __uuidof(_Record)); +_COM_SMARTPTR_TYPEDEF(ConnectionEventsVt_Deprecated, __uuidof(ConnectionEventsVt_Deprecated)); +_COM_SMARTPTR_TYPEDEF(Connection15_Deprecated, __uuidof(Connection15_Deprecated)); +_COM_SMARTPTR_TYPEDEF(_Connection_Deprecated, __uuidof(_Connection_Deprecated)); +_COM_SMARTPTR_TYPEDEF(Recordset15_Deprecated, __uuidof(Recordset15_Deprecated)); +_COM_SMARTPTR_TYPEDEF(Recordset20_Deprecated, __uuidof(Recordset20_Deprecated)); +_COM_SMARTPTR_TYPEDEF(Recordset21_Deprecated, __uuidof(Recordset21_Deprecated)); +_COM_SMARTPTR_TYPEDEF(_Recordset_Deprecated, __uuidof(_Recordset_Deprecated)); +_COM_SMARTPTR_TYPEDEF(Command15_Deprecated, __uuidof(Command15_Deprecated)); +_COM_SMARTPTR_TYPEDEF(Command25_Deprecated, __uuidof(Command25_Deprecated)); +_COM_SMARTPTR_TYPEDEF(_Command_Deprecated, __uuidof(_Command_Deprecated)); +_COM_SMARTPTR_TYPEDEF(RecordsetEventsVt_Deprecated, __uuidof(RecordsetEventsVt_Deprecated)); +_COM_SMARTPTR_TYPEDEF(_Record_Deprecated, __uuidof(_Record_Deprecated)); + +// +// Type library items +// + +enum __declspec(uuid("0000051b-0000-0010-8000-00aa006d2ea4")) +CursorTypeEnum +{ + adOpenUnspecified = -1, + adOpenForwardOnly = 0, + adOpenKeyset = 1, + adOpenDynamic = 2, + adOpenStatic = 3 +}; + +enum __declspec(uuid("0000051c-0000-0010-8000-00aa006d2ea4")) +CursorOptionEnum +{ + adHoldRecords = 256, + adMovePrevious = 512, + adAddNew = 16778240, + adDelete = 16779264, + adUpdate = 16809984, + adBookmark = 8192, + adApproxPosition = 16384, + adUpdateBatch = 65536, + adResync = 131072, + adNotify = 262144, + adFind = 524288, + adSeek = 4194304, + adIndex = 8388608 +}; + +enum __declspec(uuid("0000051d-0000-0010-8000-00aa006d2ea4")) +LockTypeEnum +{ + adLockUnspecified = -1, + adLockReadOnly = 1, + adLockPessimistic = 2, + adLockOptimistic = 3, + adLockBatchOptimistic = 4 +}; + +enum __declspec(uuid("0000051e-0000-0010-8000-00aa006d2ea4")) +ExecuteOptionEnum +{ + adOptionUnspecified = -1, + adAsyncExecute = 16, + adAsyncFetch = 32, + adAsyncFetchNonBlocking = 64, + adExecuteNoRecords = 128, + adExecuteStream = 1024, + adExecuteRecord = 2048 +}; + +enum __declspec(uuid("00000541-0000-0010-8000-00aa006d2ea4")) +ConnectOptionEnum +{ + adConnectUnspecified = -1, + adAsyncConnect = 16 +}; + +enum __declspec(uuid("00000532-0000-0010-8000-00aa006d2ea4")) +ObjectStateEnum +{ + adStateClosed = 0, + adStateOpen = 1, + adStateConnecting = 2, + adStateExecuting = 4, + adStateFetching = 8 +}; + +enum __declspec(uuid("0000052f-0000-0010-8000-00aa006d2ea4")) +CursorLocationEnum +{ + adUseNone = 1, + adUseServer = 2, + adUseClient = 3, + adUseClientBatch = 3 +}; + +enum __declspec(uuid("0000051f-0000-0010-8000-00aa006d2ea4")) +DataTypeEnum +{ + adEmpty = 0, + adTinyInt = 16, + adSmallInt = 2, + adInteger = 3, + adBigInt = 20, + adUnsignedTinyInt = 17, + adUnsignedSmallInt = 18, + adUnsignedInt = 19, + adUnsignedBigInt = 21, + adSingle = 4, + adDouble = 5, + adCurrency = 6, + adDecimal = 14, + adNumeric = 131, + adBoolean = 11, + adError = 10, + adUserDefined = 132, + adVariant = 12, + adIDispatch = 9, + adIUnknown = 13, + adGUID = 72, + adDate = 7, + adDBDate = 133, + adDBTime = 134, + adDBTimeStamp = 135, + adBSTR = 8, + adChar = 129, + adVarChar = 200, + adLongVarChar = 201, + adWChar = 130, + adVarWChar = 202, + adLongVarWChar = 203, + adBinary = 128, + adVarBinary = 204, + adLongVarBinary = 205, + adChapter = 136, + adFileTime = 64, + adPropVariant = 138, + adVarNumeric = 139, + adArray = 8192 +}; + +enum __declspec(uuid("00000525-0000-0010-8000-00aa006d2ea4")) +FieldAttributeEnum +{ + adFldUnspecified = -1, + adFldMayDefer = 2, + adFldUpdatable = 4, + adFldUnknownUpdatable = 8, + adFldFixed = 16, + adFldIsNullable = 32, + adFldMayBeNull = 64, + adFldLong = 128, + adFldRowID = 256, + adFldRowVersion = 512, + adFldCacheDeferred = 4096, + adFldIsChapter = 8192, + adFldNegativeScale = 16384, + adFldKeyColumn = 32768, + adFldIsRowURL = 65536, + adFldIsDefaultStream = 131072, + adFldIsCollection = 262144 +}; + +enum __declspec(uuid("00000526-0000-0010-8000-00aa006d2ea4")) +EditModeEnum +{ + adEditNone = 0, + adEditInProgress = 1, + adEditAdd = 2, + adEditDelete = 4 +}; + +enum __declspec(uuid("00000527-0000-0010-8000-00aa006d2ea4")) +RecordStatusEnum +{ + adRecOK = 0, + adRecNew = 1, + adRecModified = 2, + adRecDeleted = 4, + adRecUnmodified = 8, + adRecInvalid = 16, + adRecMultipleChanges = 64, + adRecPendingChanges = 128, + adRecCanceled = 256, + adRecCantRelease = 1024, + adRecConcurrencyViolation = 2048, + adRecIntegrityViolation = 4096, + adRecMaxChangesExceeded = 8192, + adRecObjectOpen = 16384, + adRecOutOfMemory = 32768, + adRecPermissionDenied = 65536, + adRecSchemaViolation = 131072, + adRecDBDeleted = 262144 +}; + +enum __declspec(uuid("00000542-0000-0010-8000-00aa006d2ea4")) +GetRowsOptionEnum +{ + adGetRowsRest = -1 +}; + +enum __declspec(uuid("00000528-0000-0010-8000-00aa006d2ea4")) +PositionEnum +{ + adPosUnknown = -1, + adPosBOF = -2, + adPosEOF = -3 +}; + +enum BookmarkEnum +{ + adBookmarkCurrent = 0, + adBookmarkFirst = 1, + adBookmarkLast = 2 +}; + +enum __declspec(uuid("00000540-0000-0010-8000-00aa006d2ea4")) +MarshalOptionsEnum +{ + adMarshalAll = 0, + adMarshalModifiedOnly = 1 +}; + +enum __declspec(uuid("00000543-0000-0010-8000-00aa006d2ea4")) +AffectEnum +{ + adAffectCurrent = 1, + adAffectGroup = 2, + adAffectAll = 3, + adAffectAllChapters = 4 +}; + +enum __declspec(uuid("00000544-0000-0010-8000-00aa006d2ea4")) +ResyncEnum +{ + adResyncUnderlyingValues = 1, + adResyncAllValues = 2 +}; + +enum __declspec(uuid("00000545-0000-0010-8000-00aa006d2ea4")) +CompareEnum +{ + adCompareLessThan = 0, + adCompareEqual = 1, + adCompareGreaterThan = 2, + adCompareNotEqual = 3, + adCompareNotComparable = 4 +}; + +enum __declspec(uuid("00000546-0000-0010-8000-00aa006d2ea4")) +FilterGroupEnum +{ + adFilterNone = 0, + adFilterPendingRecords = 1, + adFilterAffectedRecords = 2, + adFilterFetchedRecords = 3, + adFilterPredicate = 4, + adFilterConflictingRecords = 5 +}; + +enum __declspec(uuid("00000547-0000-0010-8000-00aa006d2ea4")) +SearchDirectionEnum +{ + adSearchForward = 1, + adSearchBackward = -1 +}; + +enum __declspec(uuid("00000548-0000-0010-8000-00aa006d2ea4")) +PersistFormatEnum +{ + adPersistADTG = 0, + adPersistXML = 1 +}; + +enum __declspec(uuid("00000549-0000-0010-8000-00aa006d2ea4")) +StringFormatEnum +{ + adClipString = 2 +}; + +enum __declspec(uuid("00000520-0000-0010-8000-00aa006d2ea4")) +ConnectPromptEnum +{ + adPromptAlways = 1, + adPromptComplete = 2, + adPromptCompleteRequired = 3, + adPromptNever = 4 +}; + +enum __declspec(uuid("00000521-0000-0010-8000-00aa006d2ea4")) +ConnectModeEnum +{ + adModeUnknown = 0, + adModeRead = 1, + adModeWrite = 2, + adModeReadWrite = 3, + adModeShareDenyRead = 4, + adModeShareDenyWrite = 8, + adModeShareExclusive = 12, + adModeShareDenyNone = 16, + adModeRecursive = 4194304 +}; + +enum __declspec(uuid("00000570-0000-0010-8000-00aa006d2ea4")) +RecordCreateOptionsEnum +{ + adCreateCollection = 8192, + adCreateStructDoc = 0x80000000, + adCreateNonCollection = 0, + adOpenIfExists = 33554432, + adCreateOverwrite = 67108864, + adFailIfNotExists = -1 +}; + +enum __declspec(uuid("00000571-0000-0010-8000-00aa006d2ea4")) +RecordOpenOptionsEnum +{ + adOpenRecordUnspecified = -1, + adOpenSource = 8388608, + adOpenOutput = 8388608, + adOpenAsync = 4096, + adDelayFetchStream = 16384, + adDelayFetchFields = 32768, + adOpenExecuteCommand = 65536 +}; + +enum __declspec(uuid("00000523-0000-0010-8000-00aa006d2ea4")) +IsolationLevelEnum +{ + adXactUnspecified = -1, + adXactChaos = 16, + adXactReadUncommitted = 256, + adXactBrowse = 256, + adXactCursorStability = 4096, + adXactReadCommitted = 4096, + adXactRepeatableRead = 65536, + adXactSerializable = 1048576, + adXactIsolated = 1048576 +}; + +enum __declspec(uuid("00000524-0000-0010-8000-00aa006d2ea4")) +XactAttributeEnum +{ + adXactCommitRetaining = 131072, + adXactAbortRetaining = 262144, + adXactAsyncPhaseOne = 524288, + adXactSyncPhaseOne = 1048576 +}; + +enum __declspec(uuid("00000529-0000-0010-8000-00aa006d2ea4")) +PropertyAttributesEnum +{ + adPropNotSupported = 0, + adPropRequired = 1, + adPropOptional = 2, + adPropRead = 512, + adPropWrite = 1024 +}; + +enum __declspec(uuid("0000052a-0000-0010-8000-00aa006d2ea4")) +ErrorValueEnum +{ + adErrProviderFailed = 3000, + adErrInvalidArgument = 3001, + adErrOpeningFile = 3002, + adErrReadFile = 3003, + adErrWriteFile = 3004, + adErrNoCurrentRecord = 3021, + adErrIllegalOperation = 3219, + adErrCantChangeProvider = 3220, + adErrInTransaction = 3246, + adErrFeatureNotAvailable = 3251, + adErrItemNotFound = 3265, + adErrObjectInCollection = 3367, + adErrObjectNotSet = 3420, + adErrDataConversion = 3421, + adErrObjectClosed = 3704, + adErrObjectOpen = 3705, + adErrProviderNotFound = 3706, + adErrBoundToCommand = 3707, + adErrInvalidParamInfo = 3708, + adErrInvalidConnection = 3709, + adErrNotReentrant = 3710, + adErrStillExecuting = 3711, + adErrOperationCancelled = 3712, + adErrStillConnecting = 3713, + adErrInvalidTransaction = 3714, + adErrNotExecuting = 3715, + adErrUnsafeOperation = 3716, + adwrnSecurityDialog = 3717, + adwrnSecurityDialogHeader = 3718, + adErrIntegrityViolation = 3719, + adErrPermissionDenied = 3720, + adErrDataOverflow = 3721, + adErrSchemaViolation = 3722, + adErrSignMismatch = 3723, + adErrCantConvertvalue = 3724, + adErrCantCreate = 3725, + adErrColumnNotOnThisRow = 3726, + adErrURLDoesNotExist = 3727, + adErrTreePermissionDenied = 3728, + adErrInvalidURL = 3729, + adErrResourceLocked = 3730, + adErrResourceExists = 3731, + adErrCannotComplete = 3732, + adErrVolumeNotFound = 3733, + adErrOutOfSpace = 3734, + adErrResourceOutOfScope = 3735, + adErrUnavailable = 3736, + adErrURLNamedRowDoesNotExist = 3737, + adErrDelResOutOfScope = 3738, + adErrPropInvalidColumn = 3739, + adErrPropInvalidOption = 3740, + adErrPropInvalidValue = 3741, + adErrPropConflicting = 3742, + adErrPropNotAllSettable = 3743, + adErrPropNotSet = 3744, + adErrPropNotSettable = 3745, + adErrPropNotSupported = 3746, + adErrCatalogNotSet = 3747, + adErrCantChangeConnection = 3748, + adErrFieldsUpdateFailed = 3749, + adErrDenyNotSupported = 3750, + adErrDenyTypeNotSupported = 3751, + adErrProviderNotSpecified = 3753, + adErrConnectionStringTooLong = 3754 +}; + +enum __declspec(uuid("0000052b-0000-0010-8000-00aa006d2ea4")) +ParameterAttributesEnum +{ + adParamSigned = 16, + adParamNullable = 64, + adParamLong = 128 +}; + +enum __declspec(uuid("0000052c-0000-0010-8000-00aa006d2ea4")) +ParameterDirectionEnum +{ + adParamUnknown = 0, + adParamInput = 1, + adParamOutput = 2, + adParamInputOutput = 3, + adParamReturnValue = 4 +}; + +enum __declspec(uuid("0000052e-0000-0010-8000-00aa006d2ea4")) +CommandTypeEnum +{ + adCmdUnspecified = -1, + adCmdUnknown = 8, + adCmdText = 1, + adCmdTable = 2, + adCmdStoredProc = 4, + adCmdFile = 256, + adCmdTableDirect = 512 +}; + +enum __declspec(uuid("00000530-0000-0010-8000-00aa006d2ea4")) +EventStatusEnum +{ + adStatusOK = 1, + adStatusErrorsOccurred = 2, + adStatusCantDeny = 3, + adStatusCancel = 4, + adStatusUnwantedEvent = 5 +}; + +enum __declspec(uuid("00000531-0000-0010-8000-00aa006d2ea4")) +EventReasonEnum +{ + adRsnAddNew = 1, + adRsnDelete = 2, + adRsnUpdate = 3, + adRsnUndoUpdate = 4, + adRsnUndoAddNew = 5, + adRsnUndoDelete = 6, + adRsnRequery = 7, + adRsnResynch = 8, + adRsnClose = 9, + adRsnMove = 10, + adRsnFirstChange = 11, + adRsnMoveFirst = 12, + adRsnMoveNext = 13, + adRsnMovePrevious = 14, + adRsnMoveLast = 15 +}; + +enum __declspec(uuid("00000533-0000-0010-8000-00aa006d2ea4")) +SchemaEnum +{ + adSchemaProviderSpecific = -1, + adSchemaAsserts = 0, + adSchemaCatalogs = 1, + adSchemaCharacterSets = 2, + adSchemaCollations = 3, + adSchemaColumns = 4, + adSchemaCheckConstraints = 5, + adSchemaConstraintColumnUsage = 6, + adSchemaConstraintTableUsage = 7, + adSchemaKeyColumnUsage = 8, + adSchemaReferentialContraints = 9, + adSchemaReferentialConstraints = 9, + adSchemaTableConstraints = 10, + adSchemaColumnsDomainUsage = 11, + adSchemaIndexes = 12, + adSchemaColumnPrivileges = 13, + adSchemaTablePrivileges = 14, + adSchemaUsagePrivileges = 15, + adSchemaProcedures = 16, + adSchemaSchemata = 17, + adSchemaSQLLanguages = 18, + adSchemaStatistics = 19, + adSchemaTables = 20, + adSchemaTranslations = 21, + adSchemaProviderTypes = 22, + adSchemaViews = 23, + adSchemaViewColumnUsage = 24, + adSchemaViewTableUsage = 25, + adSchemaProcedureParameters = 26, + adSchemaForeignKeys = 27, + adSchemaPrimaryKeys = 28, + adSchemaProcedureColumns = 29, + adSchemaDBInfoKeywords = 30, + adSchemaDBInfoLiterals = 31, + adSchemaCubes = 32, + adSchemaDimensions = 33, + adSchemaHierarchies = 34, + adSchemaLevels = 35, + adSchemaMeasures = 36, + adSchemaProperties = 37, + adSchemaMembers = 38, + adSchemaTrustees = 39, + adSchemaFunctions = 40, + adSchemaActions = 41, + adSchemaCommands = 42, + adSchemaSets = 43 +}; + +enum __declspec(uuid("0000057e-0000-0010-8000-00aa006d2ea4")) +FieldStatusEnum +{ + adFieldOK = 0, + adFieldCantConvertValue = 2, + adFieldIsNull = 3, + adFieldTruncated = 4, + adFieldSignMismatch = 5, + adFieldDataOverflow = 6, + adFieldCantCreate = 7, + adFieldUnavailable = 8, + adFieldPermissionDenied = 9, + adFieldIntegrityViolation = 10, + adFieldSchemaViolation = 11, + adFieldBadStatus = 12, + adFieldDefault = 13, + adFieldIgnore = 15, + adFieldDoesNotExist = 16, + adFieldInvalidURL = 17, + adFieldResourceLocked = 18, + adFieldResourceExists = 19, + adFieldCannotComplete = 20, + adFieldVolumeNotFound = 21, + adFieldOutOfSpace = 22, + adFieldCannotDeleteSource = 23, + adFieldReadOnly = 24, + adFieldResourceOutOfScope = 25, + adFieldAlreadyExists = 26, + adFieldPendingInsert = 65536, + adFieldPendingDelete = 131072, + adFieldPendingChange = 262144, + adFieldPendingUnknown = 524288, + adFieldPendingUnknownDelete = 1048576 +}; + +enum __declspec(uuid("00000552-0000-0010-8000-00aa006d2ea4")) +SeekEnum +{ + adSeekFirstEQ = 1, + adSeekLastEQ = 2, + adSeekAfterEQ = 4, + adSeekAfter = 8, + adSeekBeforeEQ = 16, + adSeekBefore = 32 +}; + +enum __declspec(uuid("0000054a-0000-0010-8000-00aa006d2ea4")) +ADCPROP_UPDATECRITERIA_ENUM +{ + adCriteriaKey = 0, + adCriteriaAllCols = 1, + adCriteriaUpdCols = 2, + adCriteriaTimeStamp = 3 +}; + +enum __declspec(uuid("0000054b-0000-0010-8000-00aa006d2ea4")) +ADCPROP_ASYNCTHREADPRIORITY_ENUM +{ + adPriorityLowest = 1, + adPriorityBelowNormal = 2, + adPriorityNormal = 3, + adPriorityAboveNormal = 4, + adPriorityHighest = 5 +}; + +enum __declspec(uuid("00000554-0000-0010-8000-00aa006d2ea4")) +ADCPROP_AUTORECALC_ENUM +{ + adRecalcUpFront = 0, + adRecalcAlways = 1 +}; + +enum __declspec(uuid("00000553-0000-0010-8000-00aa006d2ea4")) +ADCPROP_UPDATERESYNC_ENUM +{ + adResyncNone = 0, + adResyncAutoIncrement = 1, + adResyncConflicts = 2, + adResyncUpdates = 4, + adResyncInserts = 8, + adResyncAll = 15 +}; + +enum __declspec(uuid("00000573-0000-0010-8000-00aa006d2ea4")) +MoveRecordOptionsEnum +{ + adMoveUnspecified = -1, + adMoveOverWrite = 1, + adMoveDontUpdateLinks = 2, + adMoveAllowEmulation = 4 +}; + +enum __declspec(uuid("00000574-0000-0010-8000-00aa006d2ea4")) +CopyRecordOptionsEnum +{ + adCopyUnspecified = -1, + adCopyOverWrite = 1, + adCopyAllowEmulation = 4, + adCopyNonRecursive = 2 +}; + +enum __declspec(uuid("00000576-0000-0010-8000-00aa006d2ea4")) +StreamTypeEnum +{ + adTypeBinary = 1, + adTypeText = 2 +}; + +enum __declspec(uuid("00000577-0000-0010-8000-00aa006d2ea4")) +LineSeparatorEnum +{ + adLF = 10, + adCR = 13, + adCRLF = -1 +}; + +enum __declspec(uuid("0000057a-0000-0010-8000-00aa006d2ea4")) +StreamOpenOptionsEnum +{ + adOpenStreamUnspecified = -1, + adOpenStreamAsync = 1, + adOpenStreamFromRecord = 4 +}; + +enum __declspec(uuid("0000057b-0000-0010-8000-00aa006d2ea4")) +StreamWriteEnum +{ + adWriteChar = 0, + adWriteLine = 1, + stWriteChar = 0, + stWriteLine = 1 +}; + +enum __declspec(uuid("0000057c-0000-0010-8000-00aa006d2ea4")) +SaveOptionsEnum +{ + adSaveCreateNotExist = 1, + adSaveCreateOverWrite = 2 +}; + +enum FieldEnum +{ + adDefaultStream = -1, + adRecordURL = -2 +}; + +enum StreamReadEnum +{ + adReadAll = -1, + adReadLine = -2 +}; + +enum __declspec(uuid("0000057d-0000-0010-8000-00aa006d2ea4")) +RecordTypeEnum +{ + adSimpleRecord = 0, + adCollectionRecord = 1, + adStructDoc = 2 +}; + +struct __declspec(uuid("00000512-0000-0010-8000-00aa006d2ea4")) +_Collection : IDispatch +{ + // + // Property data + // + + __declspec(property(get=GetCount)) + long Count; + + // + // Wrapper methods for error-handling + // + + long GetCount ( ); + IUnknownPtr _NewEnum ( ); + HRESULT Refresh ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Count ( + /*[out,retval]*/ long * c ) = 0; + virtual HRESULT __stdcall raw__NewEnum ( + /*[out,retval]*/ IUnknown * * ppvObject ) = 0; + virtual HRESULT __stdcall raw_Refresh ( ) = 0; +}; + +struct __declspec(uuid("00000513-0000-0010-8000-00aa006d2ea4")) +_DynaCollection : _Collection +{ + // + // Wrapper methods for error-handling + // + + HRESULT Append ( + IDispatch * Object ); + HRESULT Delete ( + const _variant_t & Index ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_Append ( + /*[in]*/ IDispatch * Object ) = 0; + virtual HRESULT __stdcall raw_Delete ( + /*[in]*/ VARIANT Index ) = 0; +}; + +struct __declspec(uuid("00000503-0000-0010-8000-00aa006d2ea4")) +Property : IDispatch +{ + // + // Property data + // + + __declspec(property(get=GetValue,put=PutValue)) + _variant_t Value; + __declspec(property(get=GetName)) + _bstr_t Name; + __declspec(property(get=GetType)) + enum DataTypeEnum Type; + __declspec(property(get=GetAttributes,put=PutAttributes)) + long Attributes; + + // + // Wrapper methods for error-handling + // + + _variant_t GetValue ( ); + void PutValue ( + const _variant_t & pval ); + _bstr_t GetName ( ); + enum DataTypeEnum GetType ( ); + long GetAttributes ( ); + void PutAttributes ( + long plAttributes ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Value ( + /*[out,retval]*/ VARIANT * pval ) = 0; + virtual HRESULT __stdcall put_Value ( + /*[in]*/ VARIANT pval ) = 0; + virtual HRESULT __stdcall get_Name ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall get_Type ( + /*[out,retval]*/ enum DataTypeEnum * ptype ) = 0; + virtual HRESULT __stdcall get_Attributes ( + /*[out,retval]*/ long * plAttributes ) = 0; + virtual HRESULT __stdcall put_Attributes ( + /*[in]*/ long plAttributes ) = 0; +}; + +struct __declspec(uuid("00000504-0000-0010-8000-00aa006d2ea4")) +Properties : _Collection +{ + // + // Property data + // + + __declspec(property(get=GetItem)) + PropertyPtr Item[]; + + // + // Wrapper methods for error-handling + // + + PropertyPtr GetItem ( + const _variant_t & Index ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Item ( + /*[in]*/ VARIANT Index, + /*[out,retval]*/ struct Property * * ppvObject ) = 0; +}; + +struct __declspec(uuid("00000534-0000-0010-8000-00aa006d2ea4")) +_ADO : IDispatch +{ + // + // Property data + // + + __declspec(property(get=GetProperties)) + PropertiesPtr Properties; + + // + // Wrapper methods for error-handling + // + + PropertiesPtr GetProperties ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Properties ( + /*[out,retval]*/ struct Properties * * ppvObject ) = 0; +}; + +struct __declspec(uuid("00000500-0000-0010-8000-00aa006d2ea4")) +Error : IDispatch +{ + // + // Property data + // + + __declspec(property(get=GetDescription)) + _bstr_t Description; + __declspec(property(get=GetNumber)) + long Number; + __declspec(property(get=GetSource)) + _bstr_t Source; + __declspec(property(get=GetHelpFile)) + _bstr_t HelpFile; + __declspec(property(get=GetHelpContext)) + long HelpContext; + __declspec(property(get=GetSQLState)) + _bstr_t SQLState; + __declspec(property(get=GetNativeError)) + long NativeError; + + // + // Wrapper methods for error-handling + // + + long GetNumber ( ); + _bstr_t GetSource ( ); + _bstr_t GetDescription ( ); + _bstr_t GetHelpFile ( ); + long GetHelpContext ( ); + _bstr_t GetSQLState ( ); + long GetNativeError ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Number ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall get_Source ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall get_Description ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall get_HelpFile ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall get_HelpContext ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall get_SQLState ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall get_NativeError ( + /*[out,retval]*/ long * pl ) = 0; +}; + +struct __declspec(uuid("00000501-0000-0010-8000-00aa006d2ea4")) +Errors : _Collection +{ + // + // Property data + // + + __declspec(property(get=GetItem)) + ErrorPtr Item[]; + + // + // Wrapper methods for error-handling + // + + ErrorPtr GetItem ( + const _variant_t & Index ); + HRESULT Clear ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Item ( + /*[in]*/ VARIANT Index, + /*[out,retval]*/ struct Error * * ppvObject ) = 0; + virtual HRESULT __stdcall raw_Clear ( ) = 0; +}; + +struct __declspec(uuid("0000154c-0000-0010-8000-00aa006d2ea4")) +Field20 : _ADO +{ + // + // Property data + // + + __declspec(property(get=GetValue,put=PutValue)) + _variant_t Value; + __declspec(property(get=GetName)) + _bstr_t Name; + __declspec(property(get=GetType,put=PutType)) + enum DataTypeEnum Type; + __declspec(property(get=GetDefinedSize,put=PutDefinedSize)) + long DefinedSize; + __declspec(property(get=GetOriginalValue)) + _variant_t OriginalValue; + __declspec(property(get=GetUnderlyingValue)) + _variant_t UnderlyingValue; + __declspec(property(get=GetActualSize)) + long ActualSize; + __declspec(property(get=GetPrecision,put=PutPrecision)) + unsigned char Precision; + __declspec(property(get=GetNumericScale,put=PutNumericScale)) + unsigned char NumericScale; + __declspec(property(get=GetAttributes,put=PutAttributes)) + long Attributes; + __declspec(property(get=GetDataFormat,put=PutRefDataFormat)) + IUnknownPtr DataFormat; + + // + // Wrapper methods for error-handling + // + + long GetActualSize ( ); + long GetAttributes ( ); + long GetDefinedSize ( ); + _bstr_t GetName ( ); + enum DataTypeEnum GetType ( ); + _variant_t GetValue ( ); + void PutValue ( + const _variant_t & pvar ); + unsigned char GetPrecision ( ); + unsigned char GetNumericScale ( ); + HRESULT AppendChunk ( + const _variant_t & Data ); + _variant_t GetChunk ( + long Length ); + _variant_t GetOriginalValue ( ); + _variant_t GetUnderlyingValue ( ); + IUnknownPtr GetDataFormat ( ); + void PutRefDataFormat ( + IUnknown * ppiDF ); + void PutPrecision ( + unsigned char pbPrecision ); + void PutNumericScale ( + unsigned char pbNumericScale ); + void PutType ( + enum DataTypeEnum pDataType ); + void PutDefinedSize ( + long pl ); + void PutAttributes ( + long pl ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_ActualSize ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall get_Attributes ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall get_DefinedSize ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall get_Name ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall get_Type ( + /*[out,retval]*/ enum DataTypeEnum * pDataType ) = 0; + virtual HRESULT __stdcall get_Value ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall put_Value ( + /*[in]*/ VARIANT pvar ) = 0; + virtual HRESULT __stdcall get_Precision ( + /*[out,retval]*/ unsigned char * pbPrecision ) = 0; + virtual HRESULT __stdcall get_NumericScale ( + /*[out,retval]*/ unsigned char * pbNumericScale ) = 0; + virtual HRESULT __stdcall raw_AppendChunk ( + /*[in]*/ VARIANT Data ) = 0; + virtual HRESULT __stdcall raw_GetChunk ( + /*[in]*/ long Length, + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall get_OriginalValue ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall get_UnderlyingValue ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall get_DataFormat ( + /*[out,retval]*/ IUnknown * * ppiDF ) = 0; + virtual HRESULT __stdcall putref_DataFormat ( + /*[in]*/ IUnknown * ppiDF ) = 0; + virtual HRESULT __stdcall put_Precision ( + /*[in]*/ unsigned char pbPrecision ) = 0; + virtual HRESULT __stdcall put_NumericScale ( + /*[in]*/ unsigned char pbNumericScale ) = 0; + virtual HRESULT __stdcall put_Type ( + /*[in]*/ enum DataTypeEnum pDataType ) = 0; + virtual HRESULT __stdcall put_DefinedSize ( + /*[in]*/ long pl ) = 0; + virtual HRESULT __stdcall put_Attributes ( + /*[in]*/ long pl ) = 0; +}; + +struct __declspec(uuid("00001569-0000-0010-8000-00aa006d2ea4")) +Field : Field20 +{ + // + // Property data + // + + __declspec(property(get=GetStatus)) + long Status; + + // + // Wrapper methods for error-handling + // + + long GetStatus ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Status ( + /*[out,retval]*/ long * pFStatus ) = 0; +}; + +struct __declspec(uuid("00001506-0000-0010-8000-00aa006d2ea4")) +Fields15 : _Collection +{ + // + // Property data + // + + __declspec(property(get=GetItem)) + FieldPtr Item[]; + + // + // Wrapper methods for error-handling + // + + FieldPtr GetItem ( + const _variant_t & Index ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Item ( + /*[in]*/ VARIANT Index, + /*[out,retval]*/ struct Field * * ppvObject ) = 0; +}; + +struct __declspec(uuid("0000154d-0000-0010-8000-00aa006d2ea4")) +Fields20 : Fields15 +{ + // + // Wrapper methods for error-handling + // + + HRESULT _Append ( + _bstr_t Name, + enum DataTypeEnum Type, + long DefinedSize, + enum FieldAttributeEnum Attrib ); + HRESULT Delete ( + const _variant_t & Index ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw__Append ( + /*[in]*/ BSTR Name, + /*[in]*/ enum DataTypeEnum Type, + /*[in]*/ long DefinedSize, + /*[in]*/ enum FieldAttributeEnum Attrib ) = 0; + virtual HRESULT __stdcall raw_Delete ( + /*[in]*/ VARIANT Index ) = 0; +}; + +struct __declspec(uuid("00001564-0000-0010-8000-00aa006d2ea4")) +Fields : Fields20 +{ + // + // Wrapper methods for error-handling + // + + HRESULT Append ( + _bstr_t Name, + enum DataTypeEnum Type, + long DefinedSize, + enum FieldAttributeEnum Attrib, + const _variant_t & FieldValue = vtMissing ); + HRESULT Update ( ); + HRESULT Resync ( + enum ResyncEnum ResyncValues ); + HRESULT CancelUpdate ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_Append ( + /*[in]*/ BSTR Name, + /*[in]*/ enum DataTypeEnum Type, + /*[in]*/ long DefinedSize, + /*[in]*/ enum FieldAttributeEnum Attrib, + /*[in]*/ VARIANT FieldValue = vtMissing ) = 0; + virtual HRESULT __stdcall raw_Update ( ) = 0; + virtual HRESULT __stdcall raw_Resync ( + /*[in]*/ enum ResyncEnum ResyncValues ) = 0; + virtual HRESULT __stdcall raw_CancelUpdate ( ) = 0; +}; + +struct __declspec(uuid("0000150c-0000-0010-8000-00aa006d2ea4")) +_Parameter : _ADO +{ + // + // Property data + // + + __declspec(property(get=GetValue,put=PutValue)) + _variant_t Value; + __declspec(property(get=GetName,put=PutName)) + _bstr_t Name; + __declspec(property(get=GetType,put=PutType)) + enum DataTypeEnum Type; + __declspec(property(get=GetDirection,put=PutDirection)) + enum ParameterDirectionEnum Direction; + __declspec(property(get=GetPrecision,put=PutPrecision)) + unsigned char Precision; + __declspec(property(get=GetNumericScale,put=PutNumericScale)) + unsigned char NumericScale; + __declspec(property(get=GetSize,put=PutSize)) + long Size; + __declspec(property(get=GetAttributes,put=PutAttributes)) + long Attributes; + + // + // Wrapper methods for error-handling + // + + _bstr_t GetName ( ); + void PutName ( + _bstr_t pbstr ); + _variant_t GetValue ( ); + void PutValue ( + const _variant_t & pvar ); + enum DataTypeEnum GetType ( ); + void PutType ( + enum DataTypeEnum psDataType ); + void PutDirection ( + enum ParameterDirectionEnum plParmDirection ); + enum ParameterDirectionEnum GetDirection ( ); + void PutPrecision ( + unsigned char pbPrecision ); + unsigned char GetPrecision ( ); + void PutNumericScale ( + unsigned char pbScale ); + unsigned char GetNumericScale ( ); + void PutSize ( + long pl ); + long GetSize ( ); + HRESULT AppendChunk ( + const _variant_t & Val ); + long GetAttributes ( ); + void PutAttributes ( + long plParmAttribs ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Name ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall put_Name ( + /*[in]*/ BSTR pbstr ) = 0; + virtual HRESULT __stdcall get_Value ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall put_Value ( + /*[in]*/ VARIANT pvar ) = 0; + virtual HRESULT __stdcall get_Type ( + /*[out,retval]*/ enum DataTypeEnum * psDataType ) = 0; + virtual HRESULT __stdcall put_Type ( + /*[in]*/ enum DataTypeEnum psDataType ) = 0; + virtual HRESULT __stdcall put_Direction ( + /*[in]*/ enum ParameterDirectionEnum plParmDirection ) = 0; + virtual HRESULT __stdcall get_Direction ( + /*[out,retval]*/ enum ParameterDirectionEnum * plParmDirection ) = 0; + virtual HRESULT __stdcall put_Precision ( + /*[in]*/ unsigned char pbPrecision ) = 0; + virtual HRESULT __stdcall get_Precision ( + /*[out,retval]*/ unsigned char * pbPrecision ) = 0; + virtual HRESULT __stdcall put_NumericScale ( + /*[in]*/ unsigned char pbScale ) = 0; + virtual HRESULT __stdcall get_NumericScale ( + /*[out,retval]*/ unsigned char * pbScale ) = 0; + virtual HRESULT __stdcall put_Size ( + /*[in]*/ long pl ) = 0; + virtual HRESULT __stdcall get_Size ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall raw_AppendChunk ( + /*[in]*/ VARIANT Val ) = 0; + virtual HRESULT __stdcall get_Attributes ( + /*[out,retval]*/ long * plParmAttribs ) = 0; + virtual HRESULT __stdcall put_Attributes ( + /*[in]*/ long plParmAttribs ) = 0; +}; + +struct __declspec(uuid("0000150d-0000-0010-8000-00aa006d2ea4")) +Parameters : _DynaCollection +{ + // + // Property data + // + + __declspec(property(get=GetItem)) + _ParameterPtr Item[]; + + // + // Wrapper methods for error-handling + // + + _ParameterPtr GetItem ( + const _variant_t & Index ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Item ( + /*[in]*/ VARIANT Index, + /*[out,retval]*/ struct _Parameter * * ppvObject ) = 0; +}; + +struct __declspec(uuid("00001400-0000-0010-8000-00aa006d2ea4")) +ConnectionEvents : IDispatch +{ + // + // Wrapper methods for error-handling + // + + // Methods: + HRESULT InfoMessage ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection * pConnection ); + HRESULT BeginTransComplete ( + long TransactionLevel, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection * pConnection ); + HRESULT CommitTransComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection * pConnection ); + HRESULT RollbackTransComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection * pConnection ); + HRESULT WillExecute ( + BSTR * Source, + enum CursorTypeEnum * CursorType, + enum LockTypeEnum * LockType, + long * Options, + enum EventStatusEnum * adStatus, + struct _Command * pCommand, + struct _Recordset * pRecordset, + struct _Connection * pConnection ); + HRESULT ExecuteComplete ( + long RecordsAffected, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Command * pCommand, + struct _Recordset * pRecordset, + struct _Connection * pConnection ); + HRESULT WillConnect ( + BSTR * ConnectionString, + BSTR * UserID, + BSTR * Password, + long * Options, + enum EventStatusEnum * adStatus, + struct _Connection * pConnection ); + HRESULT ConnectComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection * pConnection ); + HRESULT Disconnect ( + enum EventStatusEnum * adStatus, + struct _Connection * pConnection ); +}; + +struct __declspec(uuid("00001266-0000-0010-8000-00aa006d2ea4")) +RecordsetEvents : IDispatch +{ + // + // Wrapper methods for error-handling + // + + // Methods: + HRESULT WillChangeField ( + long cFields, + const _variant_t & Fields, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT FieldChangeComplete ( + long cFields, + const _variant_t & Fields, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT WillChangeRecord ( + enum EventReasonEnum adReason, + long cRecords, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT RecordChangeComplete ( + enum EventReasonEnum adReason, + long cRecords, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT WillChangeRecordset ( + enum EventReasonEnum adReason, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT RecordsetChangeComplete ( + enum EventReasonEnum adReason, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT WillMove ( + enum EventReasonEnum adReason, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT MoveComplete ( + enum EventReasonEnum adReason, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT EndOfRecordset ( + VARIANT_BOOL * fMoreData, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT FetchProgress ( + long Progress, + long MaxProgress, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT FetchComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); +}; + +struct __declspec(uuid("00000516-0000-0010-8000-00aa006d2ea4")) +ADOConnectionConstruction15 : IUnknown +{ + // + // Property data + // + + __declspec(property(get=GetDSO)) + IUnknownPtr DSO; + __declspec(property(get=GetSession)) + IUnknownPtr Session; + + // + // Wrapper methods for error-handling + // + + IUnknownPtr GetDSO ( ); + IUnknownPtr GetSession ( ); + HRESULT WrapDSOandSession ( + IUnknown * pDSO, + IUnknown * pSession ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_DSO ( + /*[out,retval]*/ IUnknown * * ppDSO ) = 0; + virtual HRESULT __stdcall get_Session ( + /*[out,retval]*/ IUnknown * * ppSession ) = 0; + virtual HRESULT __stdcall raw_WrapDSOandSession ( + /*[in]*/ IUnknown * pDSO, + /*[in]*/ IUnknown * pSession ) = 0; +}; + +struct __declspec(uuid("00000551-0000-0010-8000-00aa006d2ea4")) +ADOConnectionConstruction : ADOConnectionConstruction15 +{}; + +struct __declspec(uuid("00000514-0000-0010-8000-00aa006d2ea4")) +Connection; + // [ default ] interface _Connection + // [ default, source ] dispinterface ConnectionEvents + +struct __declspec(uuid("00000560-0000-0010-8000-00aa006d2ea4")) +Record; + // [ default ] interface _Record + +struct __declspec(uuid("00001565-0000-0010-8000-00aa006d2ea4")) +_Stream : IDispatch +{ + // + // Property data + // + + __declspec(property(get=GetSize)) + long Size; + __declspec(property(get=GetEOS)) + VARIANT_BOOL EOS; + __declspec(property(get=GetPosition,put=PutPosition)) + long Position; + __declspec(property(get=GetType,put=PutType)) + enum StreamTypeEnum Type; + __declspec(property(get=GetLineSeparator,put=PutLineSeparator)) + enum LineSeparatorEnum LineSeparator; + __declspec(property(get=GetState)) + enum ObjectStateEnum State; + __declspec(property(get=GetMode,put=PutMode)) + enum ConnectModeEnum Mode; + __declspec(property(get=GetCharset,put=PutCharset)) + _bstr_t Charset; + + // + // Wrapper methods for error-handling + // + + long GetSize ( ); + VARIANT_BOOL GetEOS ( ); + long GetPosition ( ); + void PutPosition ( + long pPos ); + enum StreamTypeEnum GetType ( ); + void PutType ( + enum StreamTypeEnum ptype ); + enum LineSeparatorEnum GetLineSeparator ( ); + void PutLineSeparator ( + enum LineSeparatorEnum pLS ); + enum ObjectStateEnum GetState ( ); + enum ConnectModeEnum GetMode ( ); + void PutMode ( + enum ConnectModeEnum pMode ); + _bstr_t GetCharset ( ); + void PutCharset ( + _bstr_t pbstrCharset ); + _variant_t Read ( + long NumBytes ); + HRESULT Open ( + const _variant_t & Source, + enum ConnectModeEnum Mode, + enum StreamOpenOptionsEnum Options, + _bstr_t UserName, + _bstr_t Password ); + HRESULT Close ( ); + HRESULT SkipLine ( ); + HRESULT Write ( + const _variant_t & Buffer ); + HRESULT SetEOS ( ); + HRESULT CopyTo ( + struct _Stream * DestStream, + long CharNumber ); + HRESULT Flush ( ); + HRESULT SaveToFile ( + _bstr_t FileName, + enum SaveOptionsEnum Options ); + HRESULT LoadFromFile ( + _bstr_t FileName ); + _bstr_t ReadText ( + long NumChars ); + HRESULT WriteText ( + _bstr_t Data, + enum StreamWriteEnum Options ); + HRESULT Cancel ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Size ( + /*[out,retval]*/ long * pSize ) = 0; + virtual HRESULT __stdcall get_EOS ( + /*[out,retval]*/ VARIANT_BOOL * pEOS ) = 0; + virtual HRESULT __stdcall get_Position ( + /*[out,retval]*/ long * pPos ) = 0; + virtual HRESULT __stdcall put_Position ( + /*[in]*/ long pPos ) = 0; + virtual HRESULT __stdcall get_Type ( + /*[out,retval]*/ enum StreamTypeEnum * ptype ) = 0; + virtual HRESULT __stdcall put_Type ( + /*[in]*/ enum StreamTypeEnum ptype ) = 0; + virtual HRESULT __stdcall get_LineSeparator ( + /*[out,retval]*/ enum LineSeparatorEnum * pLS ) = 0; + virtual HRESULT __stdcall put_LineSeparator ( + /*[in]*/ enum LineSeparatorEnum pLS ) = 0; + virtual HRESULT __stdcall get_State ( + /*[out,retval]*/ enum ObjectStateEnum * pState ) = 0; + virtual HRESULT __stdcall get_Mode ( + /*[out,retval]*/ enum ConnectModeEnum * pMode ) = 0; + virtual HRESULT __stdcall put_Mode ( + /*[in]*/ enum ConnectModeEnum pMode ) = 0; + virtual HRESULT __stdcall get_Charset ( + /*[out,retval]*/ BSTR * pbstrCharset ) = 0; + virtual HRESULT __stdcall put_Charset ( + /*[in]*/ BSTR pbstrCharset ) = 0; + virtual HRESULT __stdcall raw_Read ( + /*[in]*/ long NumBytes, + /*[out,retval]*/ VARIANT * pval ) = 0; + virtual HRESULT __stdcall raw_Open ( + /*[in]*/ VARIANT Source, + /*[in]*/ enum ConnectModeEnum Mode, + /*[in]*/ enum StreamOpenOptionsEnum Options, + /*[in]*/ BSTR UserName, + /*[in]*/ BSTR Password ) = 0; + virtual HRESULT __stdcall raw_Close ( ) = 0; + virtual HRESULT __stdcall raw_SkipLine ( ) = 0; + virtual HRESULT __stdcall raw_Write ( + /*[in]*/ VARIANT Buffer ) = 0; + virtual HRESULT __stdcall raw_SetEOS ( ) = 0; + virtual HRESULT __stdcall raw_CopyTo ( + /*[in]*/ struct _Stream * DestStream, + /*[in]*/ long CharNumber ) = 0; + virtual HRESULT __stdcall raw_Flush ( ) = 0; + virtual HRESULT __stdcall raw_SaveToFile ( + /*[in]*/ BSTR FileName, + /*[in]*/ enum SaveOptionsEnum Options ) = 0; + virtual HRESULT __stdcall raw_LoadFromFile ( + /*[in]*/ BSTR FileName ) = 0; + virtual HRESULT __stdcall raw_ReadText ( + /*[in]*/ long NumChars, + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall raw_WriteText ( + /*[in]*/ BSTR Data, + /*[in]*/ enum StreamWriteEnum Options ) = 0; + virtual HRESULT __stdcall raw_Cancel ( ) = 0; +}; + +struct __declspec(uuid("00000566-0000-0010-8000-00aa006d2ea4")) +Stream; + // [ default ] interface _Stream + +struct __declspec(uuid("00000567-0000-0010-8000-00aa006d2ea4")) +ADORecordConstruction : IDispatch +{ + // + // Property data + // + + __declspec(property(get=GetRow,put=PutRow)) + IUnknownPtr Row; + __declspec(property(put=PutParentRow)) + IUnknownPtr ParentRow; + + // + // Wrapper methods for error-handling + // + + IUnknownPtr GetRow ( ); + void PutRow ( + IUnknown * ppRow ); + void PutParentRow ( + IUnknown * _arg1 ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Row ( + /*[out,retval]*/ IUnknown * * ppRow ) = 0; + virtual HRESULT __stdcall put_Row ( + /*[in]*/ IUnknown * ppRow ) = 0; + virtual HRESULT __stdcall put_ParentRow ( + /*[in]*/ IUnknown * _arg1 ) = 0; +}; + +struct __declspec(uuid("00000568-0000-0010-8000-00aa006d2ea4")) +ADOStreamConstruction : IDispatch +{ + // + // Property data + // + + __declspec(property(get=GetStream,put=PutStream)) + IUnknownPtr Stream; + + // + // Wrapper methods for error-handling + // + + IUnknownPtr GetStream ( ); + void PutStream ( + IUnknown * ppStm ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Stream ( + /*[out,retval]*/ IUnknown * * ppStm ) = 0; + virtual HRESULT __stdcall put_Stream ( + /*[in]*/ IUnknown * ppStm ) = 0; +}; + +struct __declspec(uuid("00000517-0000-0010-8000-00aa006d2ea4")) +ADOCommandConstruction : IUnknown +{ + // + // Property data + // + + __declspec(property(get=GetOLEDBCommand,put=PutOLEDBCommand)) + IUnknownPtr OLEDBCommand; + + // + // Wrapper methods for error-handling + // + + IUnknownPtr GetOLEDBCommand ( ); + void PutOLEDBCommand ( + IUnknown * ppOLEDBCommand ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_OLEDBCommand ( + /*[out,retval]*/ IUnknown * * ppOLEDBCommand ) = 0; + virtual HRESULT __stdcall put_OLEDBCommand ( + /*[in]*/ IUnknown * ppOLEDBCommand ) = 0; +}; + +struct __declspec(uuid("00000507-0000-0010-8000-00aa006d2ea4")) +Command; + // [ default ] interface _Command + +struct __declspec(uuid("00000535-0000-0010-8000-00aa006d2ea4")) +Recordset; + // [ default ] interface _Recordset + // [ default, source ] dispinterface RecordsetEvents + +struct __declspec(uuid("00000283-0000-0010-8000-00aa006d2ea4")) +ADORecordsetConstruction : IDispatch +{ + // + // Property data + // + + __declspec(property(get=GetRowset,put=PutRowset)) + IUnknownPtr Rowset; + __declspec(property(get=GetChapter,put=PutChapter)) + ADO_LONGPTR Chapter; + __declspec(property(get=GetRowPosition,put=PutRowPosition)) + IUnknownPtr RowPosition; + + // + // Wrapper methods for error-handling + // + + IUnknownPtr GetRowset ( ); + void PutRowset ( + IUnknown * ppRowset ); + ADO_LONGPTR GetChapter ( ); + void PutChapter ( + ADO_LONGPTR plChapter ); + IUnknownPtr GetRowPosition ( ); + void PutRowPosition ( + IUnknown * ppRowPos ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Rowset ( + /*[out,retval]*/ IUnknown * * ppRowset ) = 0; + virtual HRESULT __stdcall put_Rowset ( + /*[in]*/ IUnknown * ppRowset ) = 0; + virtual HRESULT __stdcall get_Chapter ( + /*[out,retval]*/ ADO_LONGPTR * plChapter ) = 0; + virtual HRESULT __stdcall put_Chapter ( + /*[in]*/ ADO_LONGPTR plChapter ) = 0; + virtual HRESULT __stdcall get_RowPosition ( + /*[out,retval]*/ IUnknown * * ppRowPos ) = 0; + virtual HRESULT __stdcall put_RowPosition ( + /*[in]*/ IUnknown * ppRowPos ) = 0; +}; + +struct __declspec(uuid("00001505-0000-0010-8000-00aa006d2ea4")) +Field15 : _ADO +{ + // + // Property data + // + + __declspec(property(get=GetValue,put=PutValue)) + _variant_t Value; + __declspec(property(get=GetName)) + _bstr_t Name; + __declspec(property(get=GetType)) + enum DataTypeEnum Type; + __declspec(property(get=GetDefinedSize)) + long DefinedSize; + __declspec(property(get=GetOriginalValue)) + _variant_t OriginalValue; + __declspec(property(get=GetUnderlyingValue)) + _variant_t UnderlyingValue; + __declspec(property(get=GetActualSize)) + long ActualSize; + __declspec(property(get=GetPrecision)) + unsigned char Precision; + __declspec(property(get=GetNumericScale)) + unsigned char NumericScale; + __declspec(property(get=GetAttributes)) + long Attributes; + + // + // Wrapper methods for error-handling + // + + long GetActualSize ( ); + long GetAttributes ( ); + long GetDefinedSize ( ); + _bstr_t GetName ( ); + enum DataTypeEnum GetType ( ); + _variant_t GetValue ( ); + void PutValue ( + const _variant_t & pvar ); + unsigned char GetPrecision ( ); + unsigned char GetNumericScale ( ); + HRESULT AppendChunk ( + const _variant_t & Data ); + _variant_t GetChunk ( + long Length ); + _variant_t GetOriginalValue ( ); + _variant_t GetUnderlyingValue ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_ActualSize ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall get_Attributes ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall get_DefinedSize ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall get_Name ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall get_Type ( + /*[out,retval]*/ enum DataTypeEnum * pDataType ) = 0; + virtual HRESULT __stdcall get_Value ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall put_Value ( + /*[in]*/ VARIANT pvar ) = 0; + virtual HRESULT __stdcall get_Precision ( + /*[out,retval]*/ unsigned char * pbPrecision ) = 0; + virtual HRESULT __stdcall get_NumericScale ( + /*[out,retval]*/ unsigned char * pbNumericScale ) = 0; + virtual HRESULT __stdcall raw_AppendChunk ( + /*[in]*/ VARIANT Data ) = 0; + virtual HRESULT __stdcall raw_GetChunk ( + /*[in]*/ long Length, + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall get_OriginalValue ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall get_UnderlyingValue ( + /*[out,retval]*/ VARIANT * pvar ) = 0; +}; + +struct __declspec(uuid("0000050b-0000-0010-8000-00aa006d2ea4")) +Parameter; + // [ default ] interface _Parameter + +struct __declspec(uuid("0000054c-0000-0010-8000-00aa006d2ea4")) +Field20_Deprecated : _ADO +{ + // + // Property data + // + + __declspec(property(get=GetValue,put=PutValue)) + _variant_t Value; + __declspec(property(get=GetName)) + _bstr_t Name; + __declspec(property(get=GetType,put=PutType)) + enum DataTypeEnum Type; + __declspec(property(get=GetDefinedSize,put=PutDefinedSize)) + ADO_LONGPTR DefinedSize; + __declspec(property(get=GetOriginalValue)) + _variant_t OriginalValue; + __declspec(property(get=GetUnderlyingValue)) + _variant_t UnderlyingValue; + __declspec(property(get=GetActualSize)) + ADO_LONGPTR ActualSize; + __declspec(property(get=GetPrecision,put=PutPrecision)) + unsigned char Precision; + __declspec(property(get=GetNumericScale,put=PutNumericScale)) + unsigned char NumericScale; + __declspec(property(get=GetAttributes,put=PutAttributes)) + long Attributes; + __declspec(property(get=GetDataFormat,put=PutRefDataFormat)) + IUnknownPtr DataFormat; + + // + // Wrapper methods for error-handling + // + + ADO_LONGPTR GetActualSize ( ); + long GetAttributes ( ); + ADO_LONGPTR GetDefinedSize ( ); + _bstr_t GetName ( ); + enum DataTypeEnum GetType ( ); + _variant_t GetValue ( ); + void PutValue ( + const _variant_t & pvar ); + unsigned char GetPrecision ( ); + unsigned char GetNumericScale ( ); + HRESULT AppendChunk ( + const _variant_t & Data ); + _variant_t GetChunk ( + long Length ); + _variant_t GetOriginalValue ( ); + _variant_t GetUnderlyingValue ( ); + IUnknownPtr GetDataFormat ( ); + void PutRefDataFormat ( + IUnknown * ppiDF ); + void PutPrecision ( + unsigned char pbPrecision ); + void PutNumericScale ( + unsigned char pbNumericScale ); + void PutType ( + enum DataTypeEnum pDataType ); + void PutDefinedSize ( + ADO_LONGPTR pl ); + void PutAttributes ( + long pl ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_ActualSize ( + /*[out,retval]*/ ADO_LONGPTR * pl ) = 0; + virtual HRESULT __stdcall get_Attributes ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall get_DefinedSize ( + /*[out,retval]*/ ADO_LONGPTR * pl ) = 0; + virtual HRESULT __stdcall get_Name ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall get_Type ( + /*[out,retval]*/ enum DataTypeEnum * pDataType ) = 0; + virtual HRESULT __stdcall get_Value ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall put_Value ( + /*[in]*/ VARIANT pvar ) = 0; + virtual HRESULT __stdcall get_Precision ( + /*[out,retval]*/ unsigned char * pbPrecision ) = 0; + virtual HRESULT __stdcall get_NumericScale ( + /*[out,retval]*/ unsigned char * pbNumericScale ) = 0; + virtual HRESULT __stdcall raw_AppendChunk ( + /*[in]*/ VARIANT Data ) = 0; + virtual HRESULT __stdcall raw_GetChunk ( + /*[in]*/ long Length, + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall get_OriginalValue ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall get_UnderlyingValue ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall get_DataFormat ( + /*[out,retval]*/ IUnknown * * ppiDF ) = 0; + virtual HRESULT __stdcall putref_DataFormat ( + /*[in]*/ IUnknown * ppiDF ) = 0; + virtual HRESULT __stdcall put_Precision ( + /*[in]*/ unsigned char pbPrecision ) = 0; + virtual HRESULT __stdcall put_NumericScale ( + /*[in]*/ unsigned char pbNumericScale ) = 0; + virtual HRESULT __stdcall put_Type ( + /*[in]*/ enum DataTypeEnum pDataType ) = 0; + virtual HRESULT __stdcall put_DefinedSize ( + /*[in]*/ ADO_LONGPTR pl ) = 0; + virtual HRESULT __stdcall put_Attributes ( + /*[in]*/ long pl ) = 0; +}; + +struct __declspec(uuid("00000569-0000-0010-8000-00aa006d2ea4")) +Field_Deprecated : Field20_Deprecated +{ + // + // Property data + // + + __declspec(property(get=GetStatus)) + long Status; + + // + // Wrapper methods for error-handling + // + + long GetStatus ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Status ( + /*[out,retval]*/ long * pFStatus ) = 0; +}; + +struct __declspec(uuid("00000506-0000-0010-8000-00aa006d2ea4")) +Fields15_Deprecated : _Collection +{ + // + // Property data + // + + __declspec(property(get=GetItem)) + Field_DeprecatedPtr Item[]; + + // + // Wrapper methods for error-handling + // + + Field_DeprecatedPtr GetItem ( + const _variant_t & Index ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Item ( + /*[in]*/ VARIANT Index, + /*[out,retval]*/ struct Field_Deprecated * * ppvObject ) = 0; +}; + +struct __declspec(uuid("0000054d-0000-0010-8000-00aa006d2ea4")) +Fields20_Deprecated : Fields15_Deprecated +{ + // + // Wrapper methods for error-handling + // + + HRESULT _Append ( + _bstr_t Name, + enum DataTypeEnum Type, + ADO_LONGPTR DefinedSize, + enum FieldAttributeEnum Attrib ); + HRESULT Delete ( + const _variant_t & Index ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw__Append ( + /*[in]*/ BSTR Name, + /*[in]*/ enum DataTypeEnum Type, + /*[in]*/ ADO_LONGPTR DefinedSize, + /*[in]*/ enum FieldAttributeEnum Attrib ) = 0; + virtual HRESULT __stdcall raw_Delete ( + /*[in]*/ VARIANT Index ) = 0; +}; + +struct __declspec(uuid("00000564-0000-0010-8000-00aa006d2ea4")) +Fields_Deprecated : Fields20_Deprecated +{ + // + // Wrapper methods for error-handling + // + + HRESULT Append ( + _bstr_t Name, + enum DataTypeEnum Type, + ADO_LONGPTR DefinedSize, + enum FieldAttributeEnum Attrib, + const _variant_t & FieldValue = vtMissing ); + HRESULT Update ( ); + HRESULT Resync ( + enum ResyncEnum ResyncValues ); + HRESULT CancelUpdate ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_Append ( + /*[in]*/ BSTR Name, + /*[in]*/ enum DataTypeEnum Type, + /*[in]*/ ADO_LONGPTR DefinedSize, + /*[in]*/ enum FieldAttributeEnum Attrib, + /*[in]*/ VARIANT FieldValue = vtMissing ) = 0; + virtual HRESULT __stdcall raw_Update ( ) = 0; + virtual HRESULT __stdcall raw_Resync ( + /*[in]*/ enum ResyncEnum ResyncValues ) = 0; + virtual HRESULT __stdcall raw_CancelUpdate ( ) = 0; +}; + +struct __declspec(uuid("0000050c-0000-0010-8000-00aa006d2ea4")) +_Parameter_Deprecated : _ADO +{ + // + // Property data + // + + __declspec(property(get=GetValue,put=PutValue)) + _variant_t Value; + __declspec(property(get=GetName,put=PutName)) + _bstr_t Name; + __declspec(property(get=GetType,put=PutType)) + enum DataTypeEnum Type; + __declspec(property(get=GetDirection,put=PutDirection)) + enum ParameterDirectionEnum Direction; + __declspec(property(get=GetPrecision,put=PutPrecision)) + unsigned char Precision; + __declspec(property(get=GetNumericScale,put=PutNumericScale)) + unsigned char NumericScale; + __declspec(property(get=GetSize,put=PutSize)) + ADO_LONGPTR Size; + __declspec(property(get=GetAttributes,put=PutAttributes)) + long Attributes; + + // + // Wrapper methods for error-handling + // + + _bstr_t GetName ( ); + void PutName ( + _bstr_t pbstr ); + _variant_t GetValue ( ); + void PutValue ( + const _variant_t & pvar ); + enum DataTypeEnum GetType ( ); + void PutType ( + enum DataTypeEnum psDataType ); + void PutDirection ( + enum ParameterDirectionEnum plParmDirection ); + enum ParameterDirectionEnum GetDirection ( ); + void PutPrecision ( + unsigned char pbPrecision ); + unsigned char GetPrecision ( ); + void PutNumericScale ( + unsigned char pbScale ); + unsigned char GetNumericScale ( ); + void PutSize ( + ADO_LONGPTR pl ); + ADO_LONGPTR GetSize ( ); + HRESULT AppendChunk ( + const _variant_t & Val ); + long GetAttributes ( ); + void PutAttributes ( + long plParmAttribs ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Name ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall put_Name ( + /*[in]*/ BSTR pbstr ) = 0; + virtual HRESULT __stdcall get_Value ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall put_Value ( + /*[in]*/ VARIANT pvar ) = 0; + virtual HRESULT __stdcall get_Type ( + /*[out,retval]*/ enum DataTypeEnum * psDataType ) = 0; + virtual HRESULT __stdcall put_Type ( + /*[in]*/ enum DataTypeEnum psDataType ) = 0; + virtual HRESULT __stdcall put_Direction ( + /*[in]*/ enum ParameterDirectionEnum plParmDirection ) = 0; + virtual HRESULT __stdcall get_Direction ( + /*[out,retval]*/ enum ParameterDirectionEnum * plParmDirection ) = 0; + virtual HRESULT __stdcall put_Precision ( + /*[in]*/ unsigned char pbPrecision ) = 0; + virtual HRESULT __stdcall get_Precision ( + /*[out,retval]*/ unsigned char * pbPrecision ) = 0; + virtual HRESULT __stdcall put_NumericScale ( + /*[in]*/ unsigned char pbScale ) = 0; + virtual HRESULT __stdcall get_NumericScale ( + /*[out,retval]*/ unsigned char * pbScale ) = 0; + virtual HRESULT __stdcall put_Size ( + /*[in]*/ ADO_LONGPTR pl ) = 0; + virtual HRESULT __stdcall get_Size ( + /*[out,retval]*/ ADO_LONGPTR * pl ) = 0; + virtual HRESULT __stdcall raw_AppendChunk ( + /*[in]*/ VARIANT Val ) = 0; + virtual HRESULT __stdcall get_Attributes ( + /*[out,retval]*/ long * plParmAttribs ) = 0; + virtual HRESULT __stdcall put_Attributes ( + /*[in]*/ long plParmAttribs ) = 0; +}; + +struct __declspec(uuid("0000050d-0000-0010-8000-00aa006d2ea4")) +Parameters_Deprecated : _DynaCollection +{ + // + // Property data + // + + __declspec(property(get=GetItem)) + _Parameter_DeprecatedPtr Item[]; + + // + // Wrapper methods for error-handling + // + + _Parameter_DeprecatedPtr GetItem ( + const _variant_t & Index ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Item ( + /*[in]*/ VARIANT Index, + /*[out,retval]*/ struct _Parameter_Deprecated * * ppvObject ) = 0; +}; + +struct __declspec(uuid("00000400-0000-0010-8000-00aa006d2ea4")) +ConnectionEvents_Deprecated : IDispatch +{ + // + // Wrapper methods for error-handling + // + + // Methods: + HRESULT InfoMessage ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection_Deprecated * pConnection ); + HRESULT BeginTransComplete ( + long TransactionLevel, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection_Deprecated * pConnection ); + HRESULT CommitTransComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection_Deprecated * pConnection ); + HRESULT RollbackTransComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection_Deprecated * pConnection ); + HRESULT WillExecute ( + BSTR * Source, + enum CursorTypeEnum * CursorType, + enum LockTypeEnum * LockType, + long * Options, + enum EventStatusEnum * adStatus, + struct _Command_Deprecated * pCommand, + struct _Recordset_Deprecated * pRecordset, + struct _Connection_Deprecated * pConnection ); + HRESULT ExecuteComplete ( + long RecordsAffected, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Command_Deprecated * pCommand, + struct _Recordset_Deprecated * pRecordset, + struct _Connection_Deprecated * pConnection ); + HRESULT WillConnect ( + BSTR * ConnectionString, + BSTR * UserID, + BSTR * Password, + long * Options, + enum EventStatusEnum * adStatus, + struct _Connection_Deprecated * pConnection ); + HRESULT ConnectComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection_Deprecated * pConnection ); + HRESULT Disconnect ( + enum EventStatusEnum * adStatus, + struct _Connection_Deprecated * pConnection ); +}; + +struct __declspec(uuid("00000266-0000-0010-8000-00aa006d2ea4")) +RecordsetEvents_Deprecated : IDispatch +{ + // + // Wrapper methods for error-handling + // + + // Methods: + HRESULT WillChangeField ( + long cFields, + const _variant_t & Fields, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT FieldChangeComplete ( + long cFields, + const _variant_t & Fields, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT WillChangeRecord ( + enum EventReasonEnum adReason, + long cRecords, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT RecordChangeComplete ( + enum EventReasonEnum adReason, + long cRecords, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT WillChangeRecordset ( + enum EventReasonEnum adReason, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT RecordsetChangeComplete ( + enum EventReasonEnum adReason, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT WillMove ( + enum EventReasonEnum adReason, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT MoveComplete ( + enum EventReasonEnum adReason, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT EndOfRecordset ( + VARIANT_BOOL * fMoreData, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT FetchProgress ( + long Progress, + long MaxProgress, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT FetchComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); +}; + +struct __declspec(uuid("00000565-0000-0010-8000-00aa006d2ea4")) +_Stream_Deprecated : IDispatch +{ + // + // Property data + // + + __declspec(property(get=GetSize)) + ADO_LONGPTR Size; + __declspec(property(get=GetEOS)) + VARIANT_BOOL EOS; + __declspec(property(get=GetPosition,put=PutPosition)) + ADO_LONGPTR Position; + __declspec(property(get=GetType,put=PutType)) + enum StreamTypeEnum Type; + __declspec(property(get=GetLineSeparator,put=PutLineSeparator)) + enum LineSeparatorEnum LineSeparator; + __declspec(property(get=GetState)) + enum ObjectStateEnum State; + __declspec(property(get=GetMode,put=PutMode)) + enum ConnectModeEnum Mode; + __declspec(property(get=GetCharset,put=PutCharset)) + _bstr_t Charset; + + // + // Wrapper methods for error-handling + // + + ADO_LONGPTR GetSize ( ); + VARIANT_BOOL GetEOS ( ); + ADO_LONGPTR GetPosition ( ); + void PutPosition ( + ADO_LONGPTR pPos ); + enum StreamTypeEnum GetType ( ); + void PutType ( + enum StreamTypeEnum ptype ); + enum LineSeparatorEnum GetLineSeparator ( ); + void PutLineSeparator ( + enum LineSeparatorEnum pLS ); + enum ObjectStateEnum GetState ( ); + enum ConnectModeEnum GetMode ( ); + void PutMode ( + enum ConnectModeEnum pMode ); + _bstr_t GetCharset ( ); + void PutCharset ( + _bstr_t pbstrCharset ); + _variant_t Read ( + long NumBytes ); + HRESULT Open ( + const _variant_t & Source, + enum ConnectModeEnum Mode, + enum StreamOpenOptionsEnum Options, + _bstr_t UserName, + _bstr_t Password ); + HRESULT Close ( ); + HRESULT SkipLine ( ); + HRESULT Write ( + const _variant_t & Buffer ); + HRESULT SetEOS ( ); + HRESULT CopyTo ( + struct _Stream_Deprecated * DestStream, + ADO_LONGPTR CharNumber ); + HRESULT Flush ( ); + HRESULT SaveToFile ( + _bstr_t FileName, + enum SaveOptionsEnum Options ); + HRESULT LoadFromFile ( + _bstr_t FileName ); + _bstr_t ReadText ( + long NumChars ); + HRESULT WriteText ( + _bstr_t Data, + enum StreamWriteEnum Options ); + HRESULT Cancel ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_Size ( + /*[out,retval]*/ ADO_LONGPTR * pSize ) = 0; + virtual HRESULT __stdcall get_EOS ( + /*[out,retval]*/ VARIANT_BOOL * pEOS ) = 0; + virtual HRESULT __stdcall get_Position ( + /*[out,retval]*/ ADO_LONGPTR * pPos ) = 0; + virtual HRESULT __stdcall put_Position ( + /*[in]*/ ADO_LONGPTR pPos ) = 0; + virtual HRESULT __stdcall get_Type ( + /*[out,retval]*/ enum StreamTypeEnum * ptype ) = 0; + virtual HRESULT __stdcall put_Type ( + /*[in]*/ enum StreamTypeEnum ptype ) = 0; + virtual HRESULT __stdcall get_LineSeparator ( + /*[out,retval]*/ enum LineSeparatorEnum * pLS ) = 0; + virtual HRESULT __stdcall put_LineSeparator ( + /*[in]*/ enum LineSeparatorEnum pLS ) = 0; + virtual HRESULT __stdcall get_State ( + /*[out,retval]*/ enum ObjectStateEnum * pState ) = 0; + virtual HRESULT __stdcall get_Mode ( + /*[out,retval]*/ enum ConnectModeEnum * pMode ) = 0; + virtual HRESULT __stdcall put_Mode ( + /*[in]*/ enum ConnectModeEnum pMode ) = 0; + virtual HRESULT __stdcall get_Charset ( + /*[out,retval]*/ BSTR * pbstrCharset ) = 0; + virtual HRESULT __stdcall put_Charset ( + /*[in]*/ BSTR pbstrCharset ) = 0; + virtual HRESULT __stdcall raw_Read ( + /*[in]*/ long NumBytes, + /*[out,retval]*/ VARIANT * pval ) = 0; + virtual HRESULT __stdcall raw_Open ( + /*[in]*/ VARIANT Source, + /*[in]*/ enum ConnectModeEnum Mode, + /*[in]*/ enum StreamOpenOptionsEnum Options, + /*[in]*/ BSTR UserName, + /*[in]*/ BSTR Password ) = 0; + virtual HRESULT __stdcall raw_Close ( ) = 0; + virtual HRESULT __stdcall raw_SkipLine ( ) = 0; + virtual HRESULT __stdcall raw_Write ( + /*[in]*/ VARIANT Buffer ) = 0; + virtual HRESULT __stdcall raw_SetEOS ( ) = 0; + virtual HRESULT __stdcall raw_CopyTo ( + /*[in]*/ struct _Stream_Deprecated * DestStream, + /*[in]*/ ADO_LONGPTR CharNumber ) = 0; + virtual HRESULT __stdcall raw_Flush ( ) = 0; + virtual HRESULT __stdcall raw_SaveToFile ( + /*[in]*/ BSTR FileName, + /*[in]*/ enum SaveOptionsEnum Options ) = 0; + virtual HRESULT __stdcall raw_LoadFromFile ( + /*[in]*/ BSTR FileName ) = 0; + virtual HRESULT __stdcall raw_ReadText ( + /*[in]*/ long NumChars, + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall raw_WriteText ( + /*[in]*/ BSTR Data, + /*[in]*/ enum StreamWriteEnum Options ) = 0; + virtual HRESULT __stdcall raw_Cancel ( ) = 0; +}; + +struct __declspec(uuid("00000505-0000-0010-8000-00aa006d2ea4")) +Field15_Deprecated : _ADO +{ + // + // Property data + // + + __declspec(property(get=GetValue,put=PutValue)) + _variant_t Value; + __declspec(property(get=GetName)) + _bstr_t Name; + __declspec(property(get=GetType)) + enum DataTypeEnum Type; + __declspec(property(get=GetDefinedSize)) + ADO_LONGPTR DefinedSize; + __declspec(property(get=GetOriginalValue)) + _variant_t OriginalValue; + __declspec(property(get=GetUnderlyingValue)) + _variant_t UnderlyingValue; + __declspec(property(get=GetActualSize)) + ADO_LONGPTR ActualSize; + __declspec(property(get=GetPrecision)) + unsigned char Precision; + __declspec(property(get=GetNumericScale)) + unsigned char NumericScale; + __declspec(property(get=GetAttributes)) + long Attributes; + + // + // Wrapper methods for error-handling + // + + ADO_LONGPTR GetActualSize ( ); + long GetAttributes ( ); + ADO_LONGPTR GetDefinedSize ( ); + _bstr_t GetName ( ); + enum DataTypeEnum GetType ( ); + _variant_t GetValue ( ); + void PutValue ( + const _variant_t & pvar ); + unsigned char GetPrecision ( ); + unsigned char GetNumericScale ( ); + HRESULT AppendChunk ( + const _variant_t & Data ); + _variant_t GetChunk ( + long Length ); + _variant_t GetOriginalValue ( ); + _variant_t GetUnderlyingValue ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_ActualSize ( + /*[out,retval]*/ ADO_LONGPTR * pl ) = 0; + virtual HRESULT __stdcall get_Attributes ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall get_DefinedSize ( + /*[out,retval]*/ ADO_LONGPTR * pl ) = 0; + virtual HRESULT __stdcall get_Name ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall get_Type ( + /*[out,retval]*/ enum DataTypeEnum * pDataType ) = 0; + virtual HRESULT __stdcall get_Value ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall put_Value ( + /*[in]*/ VARIANT pvar ) = 0; + virtual HRESULT __stdcall get_Precision ( + /*[out,retval]*/ unsigned char * pbPrecision ) = 0; + virtual HRESULT __stdcall get_NumericScale ( + /*[out,retval]*/ unsigned char * pbNumericScale ) = 0; + virtual HRESULT __stdcall raw_AppendChunk ( + /*[in]*/ VARIANT Data ) = 0; + virtual HRESULT __stdcall raw_GetChunk ( + /*[in]*/ long Length, + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall get_OriginalValue ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall get_UnderlyingValue ( + /*[out,retval]*/ VARIANT * pvar ) = 0; +}; + +struct __declspec(uuid("00001508-0000-0010-8000-00aa006d2ea4")) +Command15 : _ADO +{ + // + // Property data + // + + __declspec(property(get=GetParameters)) + ParametersPtr Parameters; + __declspec(property(get=GetActiveConnection,put=PutRefActiveConnection)) + _ConnectionPtr ActiveConnection; + __declspec(property(get=GetCommandText,put=PutCommandText)) + _bstr_t CommandText; + __declspec(property(get=GetCommandTimeout,put=PutCommandTimeout)) + long CommandTimeout; + __declspec(property(get=GetPrepared,put=PutPrepared)) + VARIANT_BOOL Prepared; + __declspec(property(get=GetCommandType,put=PutCommandType)) + enum CommandTypeEnum CommandType; + __declspec(property(get=GetName,put=PutName)) + _bstr_t Name; + + // + // Wrapper methods for error-handling + // + + _ConnectionPtr GetActiveConnection ( ); + void PutRefActiveConnection ( + struct _Connection * ppvObject ); + void PutActiveConnection ( + const _variant_t & ppvObject ); + _bstr_t GetCommandText ( ); + void PutCommandText ( + _bstr_t pbstr ); + long GetCommandTimeout ( ); + void PutCommandTimeout ( + long pl ); + VARIANT_BOOL GetPrepared ( ); + void PutPrepared ( + VARIANT_BOOL pfPrepared ); + _RecordsetPtr Execute ( + VARIANT * RecordsAffected, + VARIANT * Parameters, + long Options ); + _ParameterPtr CreateParameter ( + _bstr_t Name, + enum DataTypeEnum Type, + enum ParameterDirectionEnum Direction, + long Size, + const _variant_t & Value = vtMissing ); + ParametersPtr GetParameters ( ); + void PutCommandType ( + enum CommandTypeEnum plCmdType ); + enum CommandTypeEnum GetCommandType ( ); + _bstr_t GetName ( ); + void PutName ( + _bstr_t pbstrName ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_ActiveConnection ( + /*[out,retval]*/ struct _Connection * * ppvObject ) = 0; + virtual HRESULT __stdcall putref_ActiveConnection ( + /*[in]*/ struct _Connection * ppvObject ) = 0; + virtual HRESULT __stdcall put_ActiveConnection ( + /*[in]*/ VARIANT ppvObject ) = 0; + virtual HRESULT __stdcall get_CommandText ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall put_CommandText ( + /*[in]*/ BSTR pbstr ) = 0; + virtual HRESULT __stdcall get_CommandTimeout ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall put_CommandTimeout ( + /*[in]*/ long pl ) = 0; + virtual HRESULT __stdcall get_Prepared ( + /*[out,retval]*/ VARIANT_BOOL * pfPrepared ) = 0; + virtual HRESULT __stdcall put_Prepared ( + /*[in]*/ VARIANT_BOOL pfPrepared ) = 0; + virtual HRESULT __stdcall raw_Execute ( + /*[out]*/ VARIANT * RecordsAffected, + /*[in]*/ VARIANT * Parameters, + /*[in]*/ long Options, + /*[out,retval]*/ struct _Recordset * * ppiRs ) = 0; + virtual HRESULT __stdcall raw_CreateParameter ( + /*[in]*/ BSTR Name, + /*[in]*/ enum DataTypeEnum Type, + /*[in]*/ enum ParameterDirectionEnum Direction, + /*[in]*/ long Size, + /*[in]*/ VARIANT Value, + /*[out,retval]*/ struct _Parameter * * ppiprm ) = 0; + virtual HRESULT __stdcall get_Parameters ( + /*[out,retval]*/ struct Parameters * * ppvObject ) = 0; + virtual HRESULT __stdcall put_CommandType ( + /*[in]*/ enum CommandTypeEnum plCmdType ) = 0; + virtual HRESULT __stdcall get_CommandType ( + /*[out,retval]*/ enum CommandTypeEnum * plCmdType ) = 0; + virtual HRESULT __stdcall get_Name ( + /*[out,retval]*/ BSTR * pbstrName ) = 0; + virtual HRESULT __stdcall put_Name ( + /*[in]*/ BSTR pbstrName ) = 0; +}; + +struct __declspec(uuid("0000154e-0000-0010-8000-00aa006d2ea4")) +Command25 : Command15 +{ + // + // Property data + // + + __declspec(property(get=GetState)) + long State; + + // + // Wrapper methods for error-handling + // + + long GetState ( ); + HRESULT Cancel ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_State ( + /*[out,retval]*/ long * plObjState ) = 0; + virtual HRESULT __stdcall raw_Cancel ( ) = 0; +}; + +struct __declspec(uuid("986761e8-7269-4890-aa65-ad7c03697a6d")) +_Command : Command25 +{ + // + // Property data + // + + __declspec(property(get=GetDialect,put=PutDialect)) + _bstr_t Dialect; + __declspec(property(get=GetNamedParameters,put=PutNamedParameters)) + VARIANT_BOOL NamedParameters; + + // + // Wrapper methods for error-handling + // + + void PutRefCommandStream ( + IUnknown * pvStream ); + _variant_t GetCommandStream ( ); + void PutDialect ( + _bstr_t pbstrDialect ); + _bstr_t GetDialect ( ); + void PutNamedParameters ( + VARIANT_BOOL pfNamedParameters ); + VARIANT_BOOL GetNamedParameters ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall putref_CommandStream ( + /*[in]*/ IUnknown * pvStream ) = 0; + virtual HRESULT __stdcall get_CommandStream ( + /*[out,retval]*/ VARIANT * pvStream ) = 0; + virtual HRESULT __stdcall put_Dialect ( + /*[in]*/ BSTR pbstrDialect ) = 0; + virtual HRESULT __stdcall get_Dialect ( + /*[out,retval]*/ BSTR * pbstrDialect ) = 0; + virtual HRESULT __stdcall put_NamedParameters ( + /*[in]*/ VARIANT_BOOL pfNamedParameters ) = 0; + virtual HRESULT __stdcall get_NamedParameters ( + /*[out,retval]*/ VARIANT_BOOL * pfNamedParameters ) = 0; +}; + +struct __declspec(uuid("00001515-0000-0010-8000-00aa006d2ea4")) +Connection15 : _ADO +{ + // + // Property data + // + + __declspec(property(get=GetConnectionString,put=PutConnectionString)) + _bstr_t ConnectionString; + __declspec(property(get=GetCommandTimeout,put=PutCommandTimeout)) + long CommandTimeout; + __declspec(property(get=GetConnectionTimeout,put=PutConnectionTimeout)) + long ConnectionTimeout; + __declspec(property(get=GetVersion)) + _bstr_t Version; + __declspec(property(get=GetErrors)) + ErrorsPtr Errors; + __declspec(property(get=GetDefaultDatabase,put=PutDefaultDatabase)) + _bstr_t DefaultDatabase; + __declspec(property(get=GetIsolationLevel,put=PutIsolationLevel)) + enum IsolationLevelEnum IsolationLevel; + __declspec(property(get=GetAttributes,put=PutAttributes)) + long Attributes; + __declspec(property(get=GetCursorLocation,put=PutCursorLocation)) + enum CursorLocationEnum CursorLocation; + __declspec(property(get=GetMode,put=PutMode)) + enum ConnectModeEnum Mode; + __declspec(property(get=GetProvider,put=PutProvider)) + _bstr_t Provider; + __declspec(property(get=GetState)) + long State; + + // + // Wrapper methods for error-handling + // + + _bstr_t GetConnectionString ( ); + void PutConnectionString ( + _bstr_t pbstr ); + long GetCommandTimeout ( ); + void PutCommandTimeout ( + long plTimeout ); + long GetConnectionTimeout ( ); + void PutConnectionTimeout ( + long plTimeout ); + _bstr_t GetVersion ( ); + HRESULT Close ( ); + _RecordsetPtr Execute ( + _bstr_t CommandText, + VARIANT * RecordsAffected, + long Options ); + long BeginTrans ( ); + HRESULT CommitTrans ( ); + HRESULT RollbackTrans ( ); + HRESULT Open ( + _bstr_t ConnectionString, + _bstr_t UserID, + _bstr_t Password, + long Options ); + ErrorsPtr GetErrors ( ); + _bstr_t GetDefaultDatabase ( ); + void PutDefaultDatabase ( + _bstr_t pbstr ); + enum IsolationLevelEnum GetIsolationLevel ( ); + void PutIsolationLevel ( + enum IsolationLevelEnum Level ); + long GetAttributes ( ); + void PutAttributes ( + long plAttr ); + enum CursorLocationEnum GetCursorLocation ( ); + void PutCursorLocation ( + enum CursorLocationEnum plCursorLoc ); + enum ConnectModeEnum GetMode ( ); + void PutMode ( + enum ConnectModeEnum plMode ); + _bstr_t GetProvider ( ); + void PutProvider ( + _bstr_t pbstr ); + long GetState ( ); + _RecordsetPtr OpenSchema ( + enum SchemaEnum Schema, + const _variant_t & Restrictions = vtMissing, + const _variant_t & SchemaID = vtMissing ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_ConnectionString ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall put_ConnectionString ( + /*[in]*/ BSTR pbstr ) = 0; + virtual HRESULT __stdcall get_CommandTimeout ( + /*[out,retval]*/ long * plTimeout ) = 0; + virtual HRESULT __stdcall put_CommandTimeout ( + /*[in]*/ long plTimeout ) = 0; + virtual HRESULT __stdcall get_ConnectionTimeout ( + /*[out,retval]*/ long * plTimeout ) = 0; + virtual HRESULT __stdcall put_ConnectionTimeout ( + /*[in]*/ long plTimeout ) = 0; + virtual HRESULT __stdcall get_Version ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall raw_Close ( ) = 0; + virtual HRESULT __stdcall raw_Execute ( + /*[in]*/ BSTR CommandText, + /*[out]*/ VARIANT * RecordsAffected, + /*[in]*/ long Options, + /*[out,retval]*/ struct _Recordset * * ppiRset ) = 0; + virtual HRESULT __stdcall raw_BeginTrans ( + /*[out,retval]*/ long * TransactionLevel ) = 0; + virtual HRESULT __stdcall raw_CommitTrans ( ) = 0; + virtual HRESULT __stdcall raw_RollbackTrans ( ) = 0; + virtual HRESULT __stdcall raw_Open ( + /*[in]*/ BSTR ConnectionString, + /*[in]*/ BSTR UserID, + /*[in]*/ BSTR Password, + /*[in]*/ long Options ) = 0; + virtual HRESULT __stdcall get_Errors ( + /*[out,retval]*/ struct Errors * * ppvObject ) = 0; + virtual HRESULT __stdcall get_DefaultDatabase ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall put_DefaultDatabase ( + /*[in]*/ BSTR pbstr ) = 0; + virtual HRESULT __stdcall get_IsolationLevel ( + /*[out,retval]*/ enum IsolationLevelEnum * Level ) = 0; + virtual HRESULT __stdcall put_IsolationLevel ( + /*[in]*/ enum IsolationLevelEnum Level ) = 0; + virtual HRESULT __stdcall get_Attributes ( + /*[out,retval]*/ long * plAttr ) = 0; + virtual HRESULT __stdcall put_Attributes ( + /*[in]*/ long plAttr ) = 0; + virtual HRESULT __stdcall get_CursorLocation ( + /*[out,retval]*/ enum CursorLocationEnum * plCursorLoc ) = 0; + virtual HRESULT __stdcall put_CursorLocation ( + /*[in]*/ enum CursorLocationEnum plCursorLoc ) = 0; + virtual HRESULT __stdcall get_Mode ( + /*[out,retval]*/ enum ConnectModeEnum * plMode ) = 0; + virtual HRESULT __stdcall put_Mode ( + /*[in]*/ enum ConnectModeEnum plMode ) = 0; + virtual HRESULT __stdcall get_Provider ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall put_Provider ( + /*[in]*/ BSTR pbstr ) = 0; + virtual HRESULT __stdcall get_State ( + /*[out,retval]*/ long * plObjState ) = 0; + virtual HRESULT __stdcall raw_OpenSchema ( + /*[in]*/ enum SchemaEnum Schema, + /*[in]*/ VARIANT Restrictions, + /*[in]*/ VARIANT SchemaID, + /*[out,retval]*/ struct _Recordset * * pprset ) = 0; +}; + +struct __declspec(uuid("00001550-0000-0010-8000-00aa006d2ea4")) +_Connection : Connection15 +{ + // + // Wrapper methods for error-handling + // + + HRESULT Cancel ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_Cancel ( ) = 0; +}; + +struct __declspec(uuid("0000150e-0000-0010-8000-00aa006d2ea4")) +Recordset15 : _ADO +{ + // + // Property data + // + + __declspec(property(get=GetFields)) + FieldsPtr Fields; + __declspec(property(get=GetPageSize,put=PutPageSize)) + long PageSize; + __declspec(property(get=GetPageCount)) + long PageCount; + __declspec(property(get=GetCursorLocation,put=PutCursorLocation)) + enum CursorLocationEnum CursorLocation; + __declspec(property(get=GetState)) + long State; + __declspec(property(get=GetMarshalOptions,put=PutMarshalOptions)) + enum MarshalOptionsEnum MarshalOptions; + __declspec(property(get=GetCollect,put=PutCollect)) + _variant_t Collect[]; + __declspec(property(get=GetEditMode)) + enum EditModeEnum EditMode; + __declspec(property(get=GetStatus)) + long Status; + __declspec(property(get=GetFilter,put=PutFilter)) + _variant_t Filter; + __declspec(property(get=GetSort,put=PutSort)) + _bstr_t Sort; + __declspec(property(get=GetAbsolutePosition,put=PutAbsolutePosition)) + enum PositionEnum AbsolutePosition; + __declspec(property(get=GetBOF)) + VARIANT_BOOL BOF; + __declspec(property(get=GetBookmark,put=PutBookmark)) + _variant_t Bookmark; + __declspec(property(get=GetCacheSize,put=PutCacheSize)) + long CacheSize; + __declspec(property(get=GetCursorType,put=PutCursorType)) + enum CursorTypeEnum CursorType; + __declspec(property(get=GetadoEOF)) + VARIANT_BOOL adoEOF; + __declspec(property(get=GetAbsolutePage,put=PutAbsolutePage)) + enum PositionEnum AbsolutePage; + __declspec(property(get=GetLockType,put=PutLockType)) + enum LockTypeEnum LockType; + __declspec(property(get=GetMaxRecords,put=PutMaxRecords)) + long MaxRecords; + __declspec(property(get=GetRecordCount)) + long RecordCount; + + // + // Wrapper methods for error-handling + // + + enum PositionEnum GetAbsolutePosition ( ); + void PutAbsolutePosition ( + enum PositionEnum pl ); + void PutRefActiveConnection ( + IDispatch * pvar ); + void PutActiveConnection ( + const _variant_t & pvar ); + _variant_t GetActiveConnection ( ); + VARIANT_BOOL GetBOF ( ); + _variant_t GetBookmark ( ); + void PutBookmark ( + const _variant_t & pvBookmark ); + long GetCacheSize ( ); + void PutCacheSize ( + long pl ); + enum CursorTypeEnum GetCursorType ( ); + void PutCursorType ( + enum CursorTypeEnum plCursorType ); + VARIANT_BOOL GetadoEOF ( ); + FieldsPtr GetFields ( ); + enum LockTypeEnum GetLockType ( ); + void PutLockType ( + enum LockTypeEnum plLockType ); + long GetMaxRecords ( ); + void PutMaxRecords ( + long plMaxRecords ); + long GetRecordCount ( ); + void PutRefSource ( + IDispatch * pvSource ); + void PutSource ( + _bstr_t pvSource ); + _variant_t GetSource ( ); + HRESULT AddNew ( + const _variant_t & FieldList = vtMissing, + const _variant_t & Values = vtMissing ); + HRESULT CancelUpdate ( ); + HRESULT Close ( ); + HRESULT Delete ( + enum AffectEnum AffectRecords ); + _variant_t GetRows ( + long Rows, + const _variant_t & Start = vtMissing, + const _variant_t & Fields = vtMissing ); + HRESULT Move ( + long NumRecords, + const _variant_t & Start = vtMissing ); + HRESULT MoveNext ( ); + HRESULT MovePrevious ( ); + HRESULT MoveFirst ( ); + HRESULT MoveLast ( ); + HRESULT Open ( + const _variant_t & Source, + const _variant_t & ActiveConnection, + enum CursorTypeEnum CursorType, + enum LockTypeEnum LockType, + long Options ); + HRESULT Requery ( + long Options ); + HRESULT _xResync ( + enum AffectEnum AffectRecords ); + HRESULT Update ( + const _variant_t & Fields = vtMissing, + const _variant_t & Values = vtMissing ); + enum PositionEnum GetAbsolutePage ( ); + void PutAbsolutePage ( + enum PositionEnum pl ); + enum EditModeEnum GetEditMode ( ); + _variant_t GetFilter ( ); + void PutFilter ( + const _variant_t & Criteria ); + long GetPageCount ( ); + long GetPageSize ( ); + void PutPageSize ( + long pl ); + _bstr_t GetSort ( ); + void PutSort ( + _bstr_t Criteria ); + long GetStatus ( ); + long GetState ( ); + _RecordsetPtr _xClone ( ); + HRESULT UpdateBatch ( + enum AffectEnum AffectRecords ); + HRESULT CancelBatch ( + enum AffectEnum AffectRecords ); + enum CursorLocationEnum GetCursorLocation ( ); + void PutCursorLocation ( + enum CursorLocationEnum plCursorLoc ); + _RecordsetPtr NextRecordset ( + VARIANT * RecordsAffected ); + VARIANT_BOOL Supports ( + enum CursorOptionEnum CursorOptions ); + _variant_t GetCollect ( + const _variant_t & Index ); + void PutCollect ( + const _variant_t & Index, + const _variant_t & pvar ); + enum MarshalOptionsEnum GetMarshalOptions ( ); + void PutMarshalOptions ( + enum MarshalOptionsEnum peMarshal ); + HRESULT Find ( + _bstr_t Criteria, + long SkipRecords, + enum SearchDirectionEnum SearchDirection, + const _variant_t & Start = vtMissing ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_AbsolutePosition ( + /*[out,retval]*/ enum PositionEnum * pl ) = 0; + virtual HRESULT __stdcall put_AbsolutePosition ( + /*[in]*/ enum PositionEnum pl ) = 0; + virtual HRESULT __stdcall putref_ActiveConnection ( + /*[in]*/ IDispatch * pvar ) = 0; + virtual HRESULT __stdcall put_ActiveConnection ( + /*[in]*/ VARIANT pvar ) = 0; + virtual HRESULT __stdcall get_ActiveConnection ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall get_BOF ( + /*[out,retval]*/ VARIANT_BOOL * pb ) = 0; + virtual HRESULT __stdcall get_Bookmark ( + /*[out,retval]*/ VARIANT * pvBookmark ) = 0; + virtual HRESULT __stdcall put_Bookmark ( + /*[in]*/ VARIANT pvBookmark ) = 0; + virtual HRESULT __stdcall get_CacheSize ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall put_CacheSize ( + /*[in]*/ long pl ) = 0; + virtual HRESULT __stdcall get_CursorType ( + /*[out,retval]*/ enum CursorTypeEnum * plCursorType ) = 0; + virtual HRESULT __stdcall put_CursorType ( + /*[in]*/ enum CursorTypeEnum plCursorType ) = 0; + virtual HRESULT __stdcall get_adoEOF ( + /*[out,retval]*/ VARIANT_BOOL * pb ) = 0; + virtual HRESULT __stdcall get_Fields ( + /*[out,retval]*/ struct Fields * * ppvObject ) = 0; + virtual HRESULT __stdcall get_LockType ( + /*[out,retval]*/ enum LockTypeEnum * plLockType ) = 0; + virtual HRESULT __stdcall put_LockType ( + /*[in]*/ enum LockTypeEnum plLockType ) = 0; + virtual HRESULT __stdcall get_MaxRecords ( + /*[out,retval]*/ long * plMaxRecords ) = 0; + virtual HRESULT __stdcall put_MaxRecords ( + /*[in]*/ long plMaxRecords ) = 0; + virtual HRESULT __stdcall get_RecordCount ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall putref_Source ( + /*[in]*/ IDispatch * pvSource ) = 0; + virtual HRESULT __stdcall put_Source ( + /*[in]*/ BSTR pvSource ) = 0; + virtual HRESULT __stdcall get_Source ( + /*[out,retval]*/ VARIANT * pvSource ) = 0; + virtual HRESULT __stdcall raw_AddNew ( + /*[in]*/ VARIANT FieldList = vtMissing, + /*[in]*/ VARIANT Values = vtMissing ) = 0; + virtual HRESULT __stdcall raw_CancelUpdate ( ) = 0; + virtual HRESULT __stdcall raw_Close ( ) = 0; + virtual HRESULT __stdcall raw_Delete ( + /*[in]*/ enum AffectEnum AffectRecords ) = 0; + virtual HRESULT __stdcall raw_GetRows ( + /*[in]*/ long Rows, + /*[in]*/ VARIANT Start, + /*[in]*/ VARIANT Fields, + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall raw_Move ( + /*[in]*/ long NumRecords, + /*[in]*/ VARIANT Start = vtMissing ) = 0; + virtual HRESULT __stdcall raw_MoveNext ( ) = 0; + virtual HRESULT __stdcall raw_MovePrevious ( ) = 0; + virtual HRESULT __stdcall raw_MoveFirst ( ) = 0; + virtual HRESULT __stdcall raw_MoveLast ( ) = 0; + virtual HRESULT __stdcall raw_Open ( + /*[in]*/ VARIANT Source, + /*[in]*/ VARIANT ActiveConnection, + /*[in]*/ enum CursorTypeEnum CursorType, + /*[in]*/ enum LockTypeEnum LockType, + /*[in]*/ long Options ) = 0; + virtual HRESULT __stdcall raw_Requery ( + /*[in]*/ long Options ) = 0; + virtual HRESULT __stdcall raw__xResync ( + /*[in]*/ enum AffectEnum AffectRecords ) = 0; + virtual HRESULT __stdcall raw_Update ( + /*[in]*/ VARIANT Fields = vtMissing, + /*[in]*/ VARIANT Values = vtMissing ) = 0; + virtual HRESULT __stdcall get_AbsolutePage ( + /*[out,retval]*/ enum PositionEnum * pl ) = 0; + virtual HRESULT __stdcall put_AbsolutePage ( + /*[in]*/ enum PositionEnum pl ) = 0; + virtual HRESULT __stdcall get_EditMode ( + /*[out,retval]*/ enum EditModeEnum * pl ) = 0; + virtual HRESULT __stdcall get_Filter ( + /*[out,retval]*/ VARIANT * Criteria ) = 0; + virtual HRESULT __stdcall put_Filter ( + /*[in]*/ VARIANT Criteria ) = 0; + virtual HRESULT __stdcall get_PageCount ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall get_PageSize ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall put_PageSize ( + /*[in]*/ long pl ) = 0; + virtual HRESULT __stdcall get_Sort ( + /*[out,retval]*/ BSTR * Criteria ) = 0; + virtual HRESULT __stdcall put_Sort ( + /*[in]*/ BSTR Criteria ) = 0; + virtual HRESULT __stdcall get_Status ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall get_State ( + /*[out,retval]*/ long * plObjState ) = 0; + virtual HRESULT __stdcall raw__xClone ( + /*[out,retval]*/ struct _Recordset * * ppvObject ) = 0; + virtual HRESULT __stdcall raw_UpdateBatch ( + /*[in]*/ enum AffectEnum AffectRecords ) = 0; + virtual HRESULT __stdcall raw_CancelBatch ( + /*[in]*/ enum AffectEnum AffectRecords ) = 0; + virtual HRESULT __stdcall get_CursorLocation ( + /*[out,retval]*/ enum CursorLocationEnum * plCursorLoc ) = 0; + virtual HRESULT __stdcall put_CursorLocation ( + /*[in]*/ enum CursorLocationEnum plCursorLoc ) = 0; + virtual HRESULT __stdcall raw_NextRecordset ( + /*[out]*/ VARIANT * RecordsAffected, + /*[out,retval]*/ struct _Recordset * * ppiRs ) = 0; + virtual HRESULT __stdcall raw_Supports ( + /*[in]*/ enum CursorOptionEnum CursorOptions, + /*[out,retval]*/ VARIANT_BOOL * pb ) = 0; + virtual HRESULT __stdcall get_Collect ( + /*[in]*/ VARIANT Index, + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall put_Collect ( + /*[in]*/ VARIANT Index, + /*[in]*/ VARIANT pvar ) = 0; + virtual HRESULT __stdcall get_MarshalOptions ( + /*[out,retval]*/ enum MarshalOptionsEnum * peMarshal ) = 0; + virtual HRESULT __stdcall put_MarshalOptions ( + /*[in]*/ enum MarshalOptionsEnum peMarshal ) = 0; + virtual HRESULT __stdcall raw_Find ( + /*[in]*/ BSTR Criteria, + /*[in]*/ long SkipRecords, + /*[in]*/ enum SearchDirectionEnum SearchDirection, + /*[in]*/ VARIANT Start = vtMissing ) = 0; +}; + +struct __declspec(uuid("0000154f-0000-0010-8000-00aa006d2ea4")) +Recordset20 : Recordset15 +{ + // + // Property data + // + + __declspec(property(get=GetDataSource,put=PutRefDataSource)) + IUnknownPtr DataSource; + __declspec(property(get=GetActiveCommand)) + IDispatchPtr ActiveCommand; + __declspec(property(get=GetStayInSync,put=PutStayInSync)) + VARIANT_BOOL StayInSync; + __declspec(property(get=GetDataMember,put=PutDataMember)) + _bstr_t DataMember; + + // + // Wrapper methods for error-handling + // + + HRESULT Cancel ( ); + IUnknownPtr GetDataSource ( ); + void PutRefDataSource ( + IUnknown * ppunkDataSource ); + HRESULT _xSave ( + _bstr_t FileName, + enum PersistFormatEnum PersistFormat ); + IDispatchPtr GetActiveCommand ( ); + void PutStayInSync ( + VARIANT_BOOL pbStayInSync ); + VARIANT_BOOL GetStayInSync ( ); + _bstr_t GetString ( + enum StringFormatEnum StringFormat, + long NumRows, + _bstr_t ColumnDelimeter, + _bstr_t RowDelimeter, + _bstr_t NullExpr ); + _bstr_t GetDataMember ( ); + void PutDataMember ( + _bstr_t pbstrDataMember ); + enum CompareEnum CompareBookmarks ( + const _variant_t & Bookmark1, + const _variant_t & Bookmark2 ); + _RecordsetPtr Clone ( + enum LockTypeEnum LockType ); + HRESULT Resync ( + enum AffectEnum AffectRecords, + enum ResyncEnum ResyncValues ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_Cancel ( ) = 0; + virtual HRESULT __stdcall get_DataSource ( + /*[out,retval]*/ IUnknown * * ppunkDataSource ) = 0; + virtual HRESULT __stdcall putref_DataSource ( + /*[in]*/ IUnknown * ppunkDataSource ) = 0; + virtual HRESULT __stdcall raw__xSave ( + /*[in]*/ BSTR FileName, + /*[in]*/ enum PersistFormatEnum PersistFormat ) = 0; + virtual HRESULT __stdcall get_ActiveCommand ( + /*[out,retval]*/ IDispatch * * ppCmd ) = 0; + virtual HRESULT __stdcall put_StayInSync ( + /*[in]*/ VARIANT_BOOL pbStayInSync ) = 0; + virtual HRESULT __stdcall get_StayInSync ( + /*[out,retval]*/ VARIANT_BOOL * pbStayInSync ) = 0; + virtual HRESULT __stdcall raw_GetString ( + /*[in]*/ enum StringFormatEnum StringFormat, + /*[in]*/ long NumRows, + /*[in]*/ BSTR ColumnDelimeter, + /*[in]*/ BSTR RowDelimeter, + /*[in]*/ BSTR NullExpr, + /*[out,retval]*/ BSTR * pRetString ) = 0; + virtual HRESULT __stdcall get_DataMember ( + /*[out,retval]*/ BSTR * pbstrDataMember ) = 0; + virtual HRESULT __stdcall put_DataMember ( + /*[in]*/ BSTR pbstrDataMember ) = 0; + virtual HRESULT __stdcall raw_CompareBookmarks ( + /*[in]*/ VARIANT Bookmark1, + /*[in]*/ VARIANT Bookmark2, + /*[out,retval]*/ enum CompareEnum * pCompare ) = 0; + virtual HRESULT __stdcall raw_Clone ( + /*[in]*/ enum LockTypeEnum LockType, + /*[out,retval]*/ struct _Recordset * * ppvObject ) = 0; + virtual HRESULT __stdcall raw_Resync ( + /*[in]*/ enum AffectEnum AffectRecords, + /*[in]*/ enum ResyncEnum ResyncValues ) = 0; +}; + +struct __declspec(uuid("00001555-0000-0010-8000-00aa006d2ea4")) +Recordset21 : Recordset20 +{ + // + // Property data + // + + __declspec(property(get=GetIndex,put=PutIndex)) + _bstr_t Index; + + // + // Wrapper methods for error-handling + // + + HRESULT Seek ( + const _variant_t & KeyValues, + enum SeekEnum SeekOption ); + void PutIndex ( + _bstr_t pbstrIndex ); + _bstr_t GetIndex ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_Seek ( + /*[in]*/ VARIANT KeyValues, + /*[in]*/ enum SeekEnum SeekOption ) = 0; + virtual HRESULT __stdcall put_Index ( + /*[in]*/ BSTR pbstrIndex ) = 0; + virtual HRESULT __stdcall get_Index ( + /*[out,retval]*/ BSTR * pbstrIndex ) = 0; +}; + +struct __declspec(uuid("00001556-0000-0010-8000-00aa006d2ea4")) +_Recordset : Recordset21 +{ + // + // Wrapper methods for error-handling + // + + HRESULT Save ( + const _variant_t & Destination, + enum PersistFormatEnum PersistFormat ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_Save ( + /*[in]*/ VARIANT Destination, + /*[in]*/ enum PersistFormatEnum PersistFormat ) = 0; +}; + +struct __declspec(uuid("00001402-0000-0010-8000-00aa006d2ea4")) +ConnectionEventsVt : IUnknown +{ + // + // Wrapper methods for error-handling + // + + HRESULT InfoMessage ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection * pConnection ); + HRESULT BeginTransComplete ( + long TransactionLevel, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection * pConnection ); + HRESULT CommitTransComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection * pConnection ); + HRESULT RollbackTransComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection * pConnection ); + HRESULT WillExecute ( + BSTR * Source, + enum CursorTypeEnum * CursorType, + enum LockTypeEnum * LockType, + long * Options, + enum EventStatusEnum * adStatus, + struct _Command * pCommand, + struct _Recordset * pRecordset, + struct _Connection * pConnection ); + HRESULT ExecuteComplete ( + long RecordsAffected, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Command * pCommand, + struct _Recordset * pRecordset, + struct _Connection * pConnection ); + HRESULT WillConnect ( + BSTR * ConnectionString, + BSTR * UserID, + BSTR * Password, + long * Options, + enum EventStatusEnum * adStatus, + struct _Connection * pConnection ); + HRESULT ConnectComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection * pConnection ); + HRESULT Disconnect ( + enum EventStatusEnum * adStatus, + struct _Connection * pConnection ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_InfoMessage ( + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Connection * pConnection ) = 0; + virtual HRESULT __stdcall raw_BeginTransComplete ( + /*[in]*/ long TransactionLevel, + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Connection * pConnection ) = 0; + virtual HRESULT __stdcall raw_CommitTransComplete ( + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Connection * pConnection ) = 0; + virtual HRESULT __stdcall raw_RollbackTransComplete ( + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Connection * pConnection ) = 0; + virtual HRESULT __stdcall raw_WillExecute ( + /*[in,out]*/ BSTR * Source, + /*[in,out]*/ enum CursorTypeEnum * CursorType, + /*[in,out]*/ enum LockTypeEnum * LockType, + /*[in,out]*/ long * Options, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Command * pCommand, + /*[in]*/ struct _Recordset * pRecordset, + /*[in]*/ struct _Connection * pConnection ) = 0; + virtual HRESULT __stdcall raw_ExecuteComplete ( + /*[in]*/ long RecordsAffected, + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Command * pCommand, + /*[in]*/ struct _Recordset * pRecordset, + /*[in]*/ struct _Connection * pConnection ) = 0; + virtual HRESULT __stdcall raw_WillConnect ( + /*[in,out]*/ BSTR * ConnectionString, + /*[in,out]*/ BSTR * UserID, + /*[in,out]*/ BSTR * Password, + /*[in,out]*/ long * Options, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Connection * pConnection ) = 0; + virtual HRESULT __stdcall raw_ConnectComplete ( + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Connection * pConnection ) = 0; + virtual HRESULT __stdcall raw_Disconnect ( + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Connection * pConnection ) = 0; +}; + +struct __declspec(uuid("00001403-0000-0010-8000-00aa006d2ea4")) +RecordsetEventsVt : IUnknown +{ + // + // Wrapper methods for error-handling + // + + HRESULT WillChangeField ( + long cFields, + const _variant_t & Fields, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT FieldChangeComplete ( + long cFields, + const _variant_t & Fields, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT WillChangeRecord ( + enum EventReasonEnum adReason, + long cRecords, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT RecordChangeComplete ( + enum EventReasonEnum adReason, + long cRecords, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT WillChangeRecordset ( + enum EventReasonEnum adReason, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT RecordsetChangeComplete ( + enum EventReasonEnum adReason, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT WillMove ( + enum EventReasonEnum adReason, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT MoveComplete ( + enum EventReasonEnum adReason, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT EndOfRecordset ( + VARIANT_BOOL * fMoreData, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT FetchProgress ( + long Progress, + long MaxProgress, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + HRESULT FetchComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset * pRecordset ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_WillChangeField ( + /*[in]*/ long cFields, + /*[in]*/ VARIANT Fields, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset * pRecordset ) = 0; + virtual HRESULT __stdcall raw_FieldChangeComplete ( + /*[in]*/ long cFields, + /*[in]*/ VARIANT Fields, + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset * pRecordset ) = 0; + virtual HRESULT __stdcall raw_WillChangeRecord ( + /*[in]*/ enum EventReasonEnum adReason, + /*[in]*/ long cRecords, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset * pRecordset ) = 0; + virtual HRESULT __stdcall raw_RecordChangeComplete ( + /*[in]*/ enum EventReasonEnum adReason, + /*[in]*/ long cRecords, + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset * pRecordset ) = 0; + virtual HRESULT __stdcall raw_WillChangeRecordset ( + /*[in]*/ enum EventReasonEnum adReason, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset * pRecordset ) = 0; + virtual HRESULT __stdcall raw_RecordsetChangeComplete ( + /*[in]*/ enum EventReasonEnum adReason, + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset * pRecordset ) = 0; + virtual HRESULT __stdcall raw_WillMove ( + /*[in]*/ enum EventReasonEnum adReason, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset * pRecordset ) = 0; + virtual HRESULT __stdcall raw_MoveComplete ( + /*[in]*/ enum EventReasonEnum adReason, + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset * pRecordset ) = 0; + virtual HRESULT __stdcall raw_EndOfRecordset ( + /*[in,out]*/ VARIANT_BOOL * fMoreData, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset * pRecordset ) = 0; + virtual HRESULT __stdcall raw_FetchProgress ( + /*[in]*/ long Progress, + /*[in]*/ long MaxProgress, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset * pRecordset ) = 0; + virtual HRESULT __stdcall raw_FetchComplete ( + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset * pRecordset ) = 0; +}; + +struct __declspec(uuid("00001562-0000-0010-8000-00aa006d2ea4")) +_Record : _ADO +{ + // + // Property data + // + + __declspec(property(get=GetFields)) + FieldsPtr Fields; + __declspec(property(get=GetState)) + enum ObjectStateEnum State; + __declspec(property(get=GetMode,put=PutMode)) + enum ConnectModeEnum Mode; + __declspec(property(get=GetParentURL)) + _bstr_t ParentURL; + __declspec(property(get=GetRecordType)) + enum RecordTypeEnum RecordType; + + // + // Wrapper methods for error-handling + // + + _variant_t GetActiveConnection ( ); + void PutActiveConnection ( + _bstr_t pvar ); + void PutRefActiveConnection ( + struct _Connection * pvar ); + enum ObjectStateEnum GetState ( ); + _variant_t GetSource ( ); + void PutSource ( + _bstr_t pvar ); + void PutRefSource ( + IDispatch * pvar ); + enum ConnectModeEnum GetMode ( ); + void PutMode ( + enum ConnectModeEnum pMode ); + _bstr_t GetParentURL ( ); + _bstr_t MoveRecord ( + _bstr_t Source, + _bstr_t Destination, + _bstr_t UserName, + _bstr_t Password, + enum MoveRecordOptionsEnum Options, + VARIANT_BOOL Async ); + _bstr_t CopyRecord ( + _bstr_t Source, + _bstr_t Destination, + _bstr_t UserName, + _bstr_t Password, + enum CopyRecordOptionsEnum Options, + VARIANT_BOOL Async ); + HRESULT DeleteRecord ( + _bstr_t Source, + VARIANT_BOOL Async ); + HRESULT Open ( + const _variant_t & Source, + const _variant_t & ActiveConnection, + enum ConnectModeEnum Mode, + enum RecordCreateOptionsEnum CreateOptions, + enum RecordOpenOptionsEnum Options, + _bstr_t UserName, + _bstr_t Password ); + HRESULT Close ( ); + FieldsPtr GetFields ( ); + enum RecordTypeEnum GetRecordType ( ); + _RecordsetPtr GetChildren ( ); + HRESULT Cancel ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_ActiveConnection ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall put_ActiveConnection ( + /*[in]*/ BSTR pvar ) = 0; + virtual HRESULT __stdcall putref_ActiveConnection ( + /*[in]*/ struct _Connection * pvar ) = 0; + virtual HRESULT __stdcall get_State ( + /*[out,retval]*/ enum ObjectStateEnum * pState ) = 0; + virtual HRESULT __stdcall get_Source ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall put_Source ( + /*[in]*/ BSTR pvar ) = 0; + virtual HRESULT __stdcall putref_Source ( + /*[in]*/ IDispatch * pvar ) = 0; + virtual HRESULT __stdcall get_Mode ( + /*[out,retval]*/ enum ConnectModeEnum * pMode ) = 0; + virtual HRESULT __stdcall put_Mode ( + /*[in]*/ enum ConnectModeEnum pMode ) = 0; + virtual HRESULT __stdcall get_ParentURL ( + /*[out,retval]*/ BSTR * pbstrParentURL ) = 0; + virtual HRESULT __stdcall raw_MoveRecord ( + /*[in]*/ BSTR Source, + /*[in]*/ BSTR Destination, + /*[in]*/ BSTR UserName, + /*[in]*/ BSTR Password, + /*[in]*/ enum MoveRecordOptionsEnum Options, + /*[in]*/ VARIANT_BOOL Async, + /*[out,retval]*/ BSTR * pbstrNewURL ) = 0; + virtual HRESULT __stdcall raw_CopyRecord ( + /*[in]*/ BSTR Source, + /*[in]*/ BSTR Destination, + /*[in]*/ BSTR UserName, + /*[in]*/ BSTR Password, + /*[in]*/ enum CopyRecordOptionsEnum Options, + /*[in]*/ VARIANT_BOOL Async, + /*[out,retval]*/ BSTR * pbstrNewURL ) = 0; + virtual HRESULT __stdcall raw_DeleteRecord ( + /*[in]*/ BSTR Source, + /*[in]*/ VARIANT_BOOL Async ) = 0; + virtual HRESULT __stdcall raw_Open ( + /*[in]*/ VARIANT Source, + /*[in]*/ VARIANT ActiveConnection, + /*[in]*/ enum ConnectModeEnum Mode, + /*[in]*/ enum RecordCreateOptionsEnum CreateOptions, + /*[in]*/ enum RecordOpenOptionsEnum Options, + /*[in]*/ BSTR UserName, + /*[in]*/ BSTR Password ) = 0; + virtual HRESULT __stdcall raw_Close ( ) = 0; + virtual HRESULT __stdcall get_Fields ( + /*[out,retval]*/ struct Fields * * ppFlds ) = 0; + virtual HRESULT __stdcall get_RecordType ( + /*[out,retval]*/ enum RecordTypeEnum * ptype ) = 0; + virtual HRESULT __stdcall raw_GetChildren ( + /*[out,retval]*/ struct _Recordset * * pprset ) = 0; + virtual HRESULT __stdcall raw_Cancel ( ) = 0; +}; + +struct __declspec(uuid("00000402-0000-0010-8000-00aa006d2ea4")) +ConnectionEventsVt_Deprecated : IUnknown +{ + // + // Wrapper methods for error-handling + // + + HRESULT InfoMessage ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection_Deprecated * pConnection ); + HRESULT BeginTransComplete ( + long TransactionLevel, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection_Deprecated * pConnection ); + HRESULT CommitTransComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection_Deprecated * pConnection ); + HRESULT RollbackTransComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection_Deprecated * pConnection ); + HRESULT WillExecute ( + BSTR * Source, + enum CursorTypeEnum * CursorType, + enum LockTypeEnum * LockType, + long * Options, + enum EventStatusEnum * adStatus, + struct _Command_Deprecated * pCommand, + struct _Recordset_Deprecated * pRecordset, + struct _Connection_Deprecated * pConnection ); + HRESULT ExecuteComplete ( + long RecordsAffected, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Command_Deprecated * pCommand, + struct _Recordset_Deprecated * pRecordset, + struct _Connection_Deprecated * pConnection ); + HRESULT WillConnect ( + BSTR * ConnectionString, + BSTR * UserID, + BSTR * Password, + long * Options, + enum EventStatusEnum * adStatus, + struct _Connection_Deprecated * pConnection ); + HRESULT ConnectComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Connection_Deprecated * pConnection ); + HRESULT Disconnect ( + enum EventStatusEnum * adStatus, + struct _Connection_Deprecated * pConnection ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_InfoMessage ( + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Connection_Deprecated * pConnection ) = 0; + virtual HRESULT __stdcall raw_BeginTransComplete ( + /*[in]*/ long TransactionLevel, + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Connection_Deprecated * pConnection ) = 0; + virtual HRESULT __stdcall raw_CommitTransComplete ( + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Connection_Deprecated * pConnection ) = 0; + virtual HRESULT __stdcall raw_RollbackTransComplete ( + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Connection_Deprecated * pConnection ) = 0; + virtual HRESULT __stdcall raw_WillExecute ( + /*[in,out]*/ BSTR * Source, + /*[in,out]*/ enum CursorTypeEnum * CursorType, + /*[in,out]*/ enum LockTypeEnum * LockType, + /*[in,out]*/ long * Options, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Command_Deprecated * pCommand, + /*[in]*/ struct _Recordset_Deprecated * pRecordset, + /*[in]*/ struct _Connection_Deprecated * pConnection ) = 0; + virtual HRESULT __stdcall raw_ExecuteComplete ( + /*[in]*/ long RecordsAffected, + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Command_Deprecated * pCommand, + /*[in]*/ struct _Recordset_Deprecated * pRecordset, + /*[in]*/ struct _Connection_Deprecated * pConnection ) = 0; + virtual HRESULT __stdcall raw_WillConnect ( + /*[in,out]*/ BSTR * ConnectionString, + /*[in,out]*/ BSTR * UserID, + /*[in,out]*/ BSTR * Password, + /*[in,out]*/ long * Options, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Connection_Deprecated * pConnection ) = 0; + virtual HRESULT __stdcall raw_ConnectComplete ( + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Connection_Deprecated * pConnection ) = 0; + virtual HRESULT __stdcall raw_Disconnect ( + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Connection_Deprecated * pConnection ) = 0; +}; + +struct __declspec(uuid("00000515-0000-0010-8000-00aa006d2ea4")) +Connection15_Deprecated : _ADO +{ + // + // Property data + // + + __declspec(property(get=GetConnectionString,put=PutConnectionString)) + _bstr_t ConnectionString; + __declspec(property(get=GetCommandTimeout,put=PutCommandTimeout)) + long CommandTimeout; + __declspec(property(get=GetConnectionTimeout,put=PutConnectionTimeout)) + long ConnectionTimeout; + __declspec(property(get=GetVersion)) + _bstr_t Version; + __declspec(property(get=GetErrors)) + ErrorsPtr Errors; + __declspec(property(get=GetDefaultDatabase,put=PutDefaultDatabase)) + _bstr_t DefaultDatabase; + __declspec(property(get=GetIsolationLevel,put=PutIsolationLevel)) + enum IsolationLevelEnum IsolationLevel; + __declspec(property(get=GetAttributes,put=PutAttributes)) + long Attributes; + __declspec(property(get=GetCursorLocation,put=PutCursorLocation)) + enum CursorLocationEnum CursorLocation; + __declspec(property(get=GetMode,put=PutMode)) + enum ConnectModeEnum Mode; + __declspec(property(get=GetProvider,put=PutProvider)) + _bstr_t Provider; + __declspec(property(get=GetState)) + long State; + + // + // Wrapper methods for error-handling + // + + _bstr_t GetConnectionString ( ); + void PutConnectionString ( + _bstr_t pbstr ); + long GetCommandTimeout ( ); + void PutCommandTimeout ( + long plTimeout ); + long GetConnectionTimeout ( ); + void PutConnectionTimeout ( + long plTimeout ); + _bstr_t GetVersion ( ); + HRESULT Close ( ); + _Recordset_DeprecatedPtr Execute ( + _bstr_t CommandText, + VARIANT * RecordsAffected, + long Options ); + long BeginTrans ( ); + HRESULT CommitTrans ( ); + HRESULT RollbackTrans ( ); + HRESULT Open ( + _bstr_t ConnectionString, + _bstr_t UserID, + _bstr_t Password, + long Options ); + ErrorsPtr GetErrors ( ); + _bstr_t GetDefaultDatabase ( ); + void PutDefaultDatabase ( + _bstr_t pbstr ); + enum IsolationLevelEnum GetIsolationLevel ( ); + void PutIsolationLevel ( + enum IsolationLevelEnum Level ); + long GetAttributes ( ); + void PutAttributes ( + long plAttr ); + enum CursorLocationEnum GetCursorLocation ( ); + void PutCursorLocation ( + enum CursorLocationEnum plCursorLoc ); + enum ConnectModeEnum GetMode ( ); + void PutMode ( + enum ConnectModeEnum plMode ); + _bstr_t GetProvider ( ); + void PutProvider ( + _bstr_t pbstr ); + long GetState ( ); + _Recordset_DeprecatedPtr OpenSchema ( + enum SchemaEnum Schema, + const _variant_t & Restrictions = vtMissing, + const _variant_t & SchemaID = vtMissing ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_ConnectionString ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall put_ConnectionString ( + /*[in]*/ BSTR pbstr ) = 0; + virtual HRESULT __stdcall get_CommandTimeout ( + /*[out,retval]*/ long * plTimeout ) = 0; + virtual HRESULT __stdcall put_CommandTimeout ( + /*[in]*/ long plTimeout ) = 0; + virtual HRESULT __stdcall get_ConnectionTimeout ( + /*[out,retval]*/ long * plTimeout ) = 0; + virtual HRESULT __stdcall put_ConnectionTimeout ( + /*[in]*/ long plTimeout ) = 0; + virtual HRESULT __stdcall get_Version ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall raw_Close ( ) = 0; + virtual HRESULT __stdcall raw_Execute ( + /*[in]*/ BSTR CommandText, + /*[out]*/ VARIANT * RecordsAffected, + /*[in]*/ long Options, + /*[out,retval]*/ struct _Recordset_Deprecated * * ppiRset ) = 0; + virtual HRESULT __stdcall raw_BeginTrans ( + /*[out,retval]*/ long * TransactionLevel ) = 0; + virtual HRESULT __stdcall raw_CommitTrans ( ) = 0; + virtual HRESULT __stdcall raw_RollbackTrans ( ) = 0; + virtual HRESULT __stdcall raw_Open ( + /*[in]*/ BSTR ConnectionString, + /*[in]*/ BSTR UserID, + /*[in]*/ BSTR Password, + /*[in]*/ long Options ) = 0; + virtual HRESULT __stdcall get_Errors ( + /*[out,retval]*/ struct Errors * * ppvObject ) = 0; + virtual HRESULT __stdcall get_DefaultDatabase ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall put_DefaultDatabase ( + /*[in]*/ BSTR pbstr ) = 0; + virtual HRESULT __stdcall get_IsolationLevel ( + /*[out,retval]*/ enum IsolationLevelEnum * Level ) = 0; + virtual HRESULT __stdcall put_IsolationLevel ( + /*[in]*/ enum IsolationLevelEnum Level ) = 0; + virtual HRESULT __stdcall get_Attributes ( + /*[out,retval]*/ long * plAttr ) = 0; + virtual HRESULT __stdcall put_Attributes ( + /*[in]*/ long plAttr ) = 0; + virtual HRESULT __stdcall get_CursorLocation ( + /*[out,retval]*/ enum CursorLocationEnum * plCursorLoc ) = 0; + virtual HRESULT __stdcall put_CursorLocation ( + /*[in]*/ enum CursorLocationEnum plCursorLoc ) = 0; + virtual HRESULT __stdcall get_Mode ( + /*[out,retval]*/ enum ConnectModeEnum * plMode ) = 0; + virtual HRESULT __stdcall put_Mode ( + /*[in]*/ enum ConnectModeEnum plMode ) = 0; + virtual HRESULT __stdcall get_Provider ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall put_Provider ( + /*[in]*/ BSTR pbstr ) = 0; + virtual HRESULT __stdcall get_State ( + /*[out,retval]*/ long * plObjState ) = 0; + virtual HRESULT __stdcall raw_OpenSchema ( + /*[in]*/ enum SchemaEnum Schema, + /*[in]*/ VARIANT Restrictions, + /*[in]*/ VARIANT SchemaID, + /*[out,retval]*/ struct _Recordset_Deprecated * * pprset ) = 0; +}; + +struct __declspec(uuid("00000550-0000-0010-8000-00aa006d2ea4")) +_Connection_Deprecated : Connection15_Deprecated +{ + // + // Wrapper methods for error-handling + // + + HRESULT Cancel ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_Cancel ( ) = 0; +}; + +struct __declspec(uuid("0000050e-0000-0010-8000-00aa006d2ea4")) +Recordset15_Deprecated : _ADO +{ + // + // Property data + // + + __declspec(property(get=GetFields)) + Fields_DeprecatedPtr Fields; + __declspec(property(get=GetPageSize,put=PutPageSize)) + long PageSize; + __declspec(property(get=GetPageCount)) + ADO_LONGPTR PageCount; + __declspec(property(get=GetCursorLocation,put=PutCursorLocation)) + enum CursorLocationEnum CursorLocation; + __declspec(property(get=GetState)) + long State; + __declspec(property(get=GetMarshalOptions,put=PutMarshalOptions)) + enum MarshalOptionsEnum MarshalOptions; + __declspec(property(get=GetCollect,put=PutCollect)) + _variant_t Collect[]; + __declspec(property(get=GetEditMode)) + enum EditModeEnum EditMode; + __declspec(property(get=GetStatus)) + long Status; + __declspec(property(get=GetFilter,put=PutFilter)) + _variant_t Filter; + __declspec(property(get=GetSort,put=PutSort)) + _bstr_t Sort; + __declspec(property(get=GetAbsolutePosition,put=PutAbsolutePosition)) + PositionEnum_Param AbsolutePosition; + __declspec(property(get=GetBOF)) + VARIANT_BOOL BOF; + __declspec(property(get=GetBookmark,put=PutBookmark)) + _variant_t Bookmark; + __declspec(property(get=GetCacheSize,put=PutCacheSize)) + long CacheSize; + __declspec(property(get=GetCursorType,put=PutCursorType)) + enum CursorTypeEnum CursorType; + __declspec(property(get=GetadoEOF)) + VARIANT_BOOL adoEOF; + __declspec(property(get=GetAbsolutePage,put=PutAbsolutePage)) + PositionEnum_Param AbsolutePage; + __declspec(property(get=GetLockType,put=PutLockType)) + enum LockTypeEnum LockType; + __declspec(property(get=GetMaxRecords,put=PutMaxRecords)) + ADO_LONGPTR MaxRecords; + __declspec(property(get=GetRecordCount)) + ADO_LONGPTR RecordCount; + + // + // Wrapper methods for error-handling + // + + PositionEnum_Param GetAbsolutePosition ( ); + void PutAbsolutePosition ( + PositionEnum_Param pl ); + void PutRefActiveConnection ( + IDispatch * pvar ); + void PutActiveConnection ( + const _variant_t & pvar ); + _variant_t GetActiveConnection ( ); + VARIANT_BOOL GetBOF ( ); + _variant_t GetBookmark ( ); + void PutBookmark ( + const _variant_t & pvBookmark ); + long GetCacheSize ( ); + void PutCacheSize ( + long pl ); + enum CursorTypeEnum GetCursorType ( ); + void PutCursorType ( + enum CursorTypeEnum plCursorType ); + VARIANT_BOOL GetadoEOF ( ); + Fields_DeprecatedPtr GetFields ( ); + enum LockTypeEnum GetLockType ( ); + void PutLockType ( + enum LockTypeEnum plLockType ); + ADO_LONGPTR GetMaxRecords ( ); + void PutMaxRecords ( + ADO_LONGPTR plMaxRecords ); + ADO_LONGPTR GetRecordCount ( ); + void PutRefSource ( + IDispatch * pvSource ); + void PutSource ( + _bstr_t pvSource ); + _variant_t GetSource ( ); + HRESULT AddNew ( + const _variant_t & FieldList = vtMissing, + const _variant_t & Values = vtMissing ); + HRESULT CancelUpdate ( ); + HRESULT Close ( ); + HRESULT Delete ( + enum AffectEnum AffectRecords ); + _variant_t GetRows ( + long Rows, + const _variant_t & Start = vtMissing, + const _variant_t & Fields = vtMissing ); + HRESULT Move ( + ADO_LONGPTR NumRecords, + const _variant_t & Start = vtMissing ); + HRESULT MoveNext ( ); + HRESULT MovePrevious ( ); + HRESULT MoveFirst ( ); + HRESULT MoveLast ( ); + HRESULT Open ( + const _variant_t & Source, + const _variant_t & ActiveConnection, + enum CursorTypeEnum CursorType, + enum LockTypeEnum LockType, + long Options ); + HRESULT Requery ( + long Options ); + HRESULT _xResync ( + enum AffectEnum AffectRecords ); + HRESULT Update ( + const _variant_t & Fields = vtMissing, + const _variant_t & Values = vtMissing ); + PositionEnum_Param GetAbsolutePage ( ); + void PutAbsolutePage ( + PositionEnum_Param pl ); + enum EditModeEnum GetEditMode ( ); + _variant_t GetFilter ( ); + void PutFilter ( + const _variant_t & Criteria ); + ADO_LONGPTR GetPageCount ( ); + long GetPageSize ( ); + void PutPageSize ( + long pl ); + _bstr_t GetSort ( ); + void PutSort ( + _bstr_t Criteria ); + long GetStatus ( ); + long GetState ( ); + _Recordset_DeprecatedPtr _xClone ( ); + HRESULT UpdateBatch ( + enum AffectEnum AffectRecords ); + HRESULT CancelBatch ( + enum AffectEnum AffectRecords ); + enum CursorLocationEnum GetCursorLocation ( ); + void PutCursorLocation ( + enum CursorLocationEnum plCursorLoc ); + _Recordset_DeprecatedPtr NextRecordset ( + VARIANT * RecordsAffected ); + VARIANT_BOOL Supports ( + enum CursorOptionEnum CursorOptions ); + _variant_t GetCollect ( + const _variant_t & Index ); + void PutCollect ( + const _variant_t & Index, + const _variant_t & pvar ); + enum MarshalOptionsEnum GetMarshalOptions ( ); + void PutMarshalOptions ( + enum MarshalOptionsEnum peMarshal ); + HRESULT Find ( + _bstr_t Criteria, + ADO_LONGPTR SkipRecords, + enum SearchDirectionEnum SearchDirection, + const _variant_t & Start = vtMissing ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_AbsolutePosition ( + /*[out,retval]*/ PositionEnum_Param * pl ) = 0; + virtual HRESULT __stdcall put_AbsolutePosition ( + /*[in]*/ PositionEnum_Param pl ) = 0; + virtual HRESULT __stdcall putref_ActiveConnection ( + /*[in]*/ IDispatch * pvar ) = 0; + virtual HRESULT __stdcall put_ActiveConnection ( + /*[in]*/ VARIANT pvar ) = 0; + virtual HRESULT __stdcall get_ActiveConnection ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall get_BOF ( + /*[out,retval]*/ VARIANT_BOOL * pb ) = 0; + virtual HRESULT __stdcall get_Bookmark ( + /*[out,retval]*/ VARIANT * pvBookmark ) = 0; + virtual HRESULT __stdcall put_Bookmark ( + /*[in]*/ VARIANT pvBookmark ) = 0; + virtual HRESULT __stdcall get_CacheSize ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall put_CacheSize ( + /*[in]*/ long pl ) = 0; + virtual HRESULT __stdcall get_CursorType ( + /*[out,retval]*/ enum CursorTypeEnum * plCursorType ) = 0; + virtual HRESULT __stdcall put_CursorType ( + /*[in]*/ enum CursorTypeEnum plCursorType ) = 0; + virtual HRESULT __stdcall get_adoEOF ( + /*[out,retval]*/ VARIANT_BOOL * pb ) = 0; + virtual HRESULT __stdcall get_Fields ( + /*[out,retval]*/ struct Fields_Deprecated * * ppvObject ) = 0; + virtual HRESULT __stdcall get_LockType ( + /*[out,retval]*/ enum LockTypeEnum * plLockType ) = 0; + virtual HRESULT __stdcall put_LockType ( + /*[in]*/ enum LockTypeEnum plLockType ) = 0; + virtual HRESULT __stdcall get_MaxRecords ( + /*[out,retval]*/ ADO_LONGPTR * plMaxRecords ) = 0; + virtual HRESULT __stdcall put_MaxRecords ( + /*[in]*/ ADO_LONGPTR plMaxRecords ) = 0; + virtual HRESULT __stdcall get_RecordCount ( + /*[out,retval]*/ ADO_LONGPTR * pl ) = 0; + virtual HRESULT __stdcall putref_Source ( + /*[in]*/ IDispatch * pvSource ) = 0; + virtual HRESULT __stdcall put_Source ( + /*[in]*/ BSTR pvSource ) = 0; + virtual HRESULT __stdcall get_Source ( + /*[out,retval]*/ VARIANT * pvSource ) = 0; + virtual HRESULT __stdcall raw_AddNew ( + /*[in]*/ VARIANT FieldList = vtMissing, + /*[in]*/ VARIANT Values = vtMissing ) = 0; + virtual HRESULT __stdcall raw_CancelUpdate ( ) = 0; + virtual HRESULT __stdcall raw_Close ( ) = 0; + virtual HRESULT __stdcall raw_Delete ( + /*[in]*/ enum AffectEnum AffectRecords ) = 0; + virtual HRESULT __stdcall raw_GetRows ( + /*[in]*/ long Rows, + /*[in]*/ VARIANT Start, + /*[in]*/ VARIANT Fields, + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall raw_Move ( + /*[in]*/ ADO_LONGPTR NumRecords, + /*[in]*/ VARIANT Start = vtMissing ) = 0; + virtual HRESULT __stdcall raw_MoveNext ( ) = 0; + virtual HRESULT __stdcall raw_MovePrevious ( ) = 0; + virtual HRESULT __stdcall raw_MoveFirst ( ) = 0; + virtual HRESULT __stdcall raw_MoveLast ( ) = 0; + virtual HRESULT __stdcall raw_Open ( + /*[in]*/ VARIANT Source, + /*[in]*/ VARIANT ActiveConnection, + /*[in]*/ enum CursorTypeEnum CursorType, + /*[in]*/ enum LockTypeEnum LockType, + /*[in]*/ long Options ) = 0; + virtual HRESULT __stdcall raw_Requery ( + /*[in]*/ long Options ) = 0; + virtual HRESULT __stdcall raw__xResync ( + /*[in]*/ enum AffectEnum AffectRecords ) = 0; + virtual HRESULT __stdcall raw_Update ( + /*[in]*/ VARIANT Fields = vtMissing, + /*[in]*/ VARIANT Values = vtMissing ) = 0; + virtual HRESULT __stdcall get_AbsolutePage ( + /*[out,retval]*/ PositionEnum_Param * pl ) = 0; + virtual HRESULT __stdcall put_AbsolutePage ( + /*[in]*/ PositionEnum_Param pl ) = 0; + virtual HRESULT __stdcall get_EditMode ( + /*[out,retval]*/ enum EditModeEnum * pl ) = 0; + virtual HRESULT __stdcall get_Filter ( + /*[out,retval]*/ VARIANT * Criteria ) = 0; + virtual HRESULT __stdcall put_Filter ( + /*[in]*/ VARIANT Criteria ) = 0; + virtual HRESULT __stdcall get_PageCount ( + /*[out,retval]*/ ADO_LONGPTR * pl ) = 0; + virtual HRESULT __stdcall get_PageSize ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall put_PageSize ( + /*[in]*/ long pl ) = 0; + virtual HRESULT __stdcall get_Sort ( + /*[out,retval]*/ BSTR * Criteria ) = 0; + virtual HRESULT __stdcall put_Sort ( + /*[in]*/ BSTR Criteria ) = 0; + virtual HRESULT __stdcall get_Status ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall get_State ( + /*[out,retval]*/ long * plObjState ) = 0; + virtual HRESULT __stdcall raw__xClone ( + /*[out,retval]*/ struct _Recordset_Deprecated * * ppvObject ) = 0; + virtual HRESULT __stdcall raw_UpdateBatch ( + /*[in]*/ enum AffectEnum AffectRecords ) = 0; + virtual HRESULT __stdcall raw_CancelBatch ( + /*[in]*/ enum AffectEnum AffectRecords ) = 0; + virtual HRESULT __stdcall get_CursorLocation ( + /*[out,retval]*/ enum CursorLocationEnum * plCursorLoc ) = 0; + virtual HRESULT __stdcall put_CursorLocation ( + /*[in]*/ enum CursorLocationEnum plCursorLoc ) = 0; + virtual HRESULT __stdcall raw_NextRecordset ( + /*[out]*/ VARIANT * RecordsAffected, + /*[out,retval]*/ struct _Recordset_Deprecated * * ppiRs ) = 0; + virtual HRESULT __stdcall raw_Supports ( + /*[in]*/ enum CursorOptionEnum CursorOptions, + /*[out,retval]*/ VARIANT_BOOL * pb ) = 0; + virtual HRESULT __stdcall get_Collect ( + /*[in]*/ VARIANT Index, + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall put_Collect ( + /*[in]*/ VARIANT Index, + /*[in]*/ VARIANT pvar ) = 0; + virtual HRESULT __stdcall get_MarshalOptions ( + /*[out,retval]*/ enum MarshalOptionsEnum * peMarshal ) = 0; + virtual HRESULT __stdcall put_MarshalOptions ( + /*[in]*/ enum MarshalOptionsEnum peMarshal ) = 0; + virtual HRESULT __stdcall raw_Find ( + /*[in]*/ BSTR Criteria, + /*[in]*/ ADO_LONGPTR SkipRecords, + /*[in]*/ enum SearchDirectionEnum SearchDirection, + /*[in]*/ VARIANT Start = vtMissing ) = 0; +}; + +struct __declspec(uuid("0000054f-0000-0010-8000-00aa006d2ea4")) +Recordset20_Deprecated : Recordset15_Deprecated +{ + // + // Property data + // + + __declspec(property(get=GetDataSource,put=PutRefDataSource)) + IUnknownPtr DataSource; + __declspec(property(get=GetActiveCommand)) + IDispatchPtr ActiveCommand; + __declspec(property(get=GetStayInSync,put=PutStayInSync)) + VARIANT_BOOL StayInSync; + __declspec(property(get=GetDataMember,put=PutDataMember)) + _bstr_t DataMember; + + // + // Wrapper methods for error-handling + // + + HRESULT Cancel ( ); + IUnknownPtr GetDataSource ( ); + void PutRefDataSource ( + IUnknown * ppunkDataSource ); + HRESULT _xSave ( + _bstr_t FileName, + enum PersistFormatEnum PersistFormat ); + IDispatchPtr GetActiveCommand ( ); + void PutStayInSync ( + VARIANT_BOOL pbStayInSync ); + VARIANT_BOOL GetStayInSync ( ); + _bstr_t GetString ( + enum StringFormatEnum StringFormat, + long NumRows, + _bstr_t ColumnDelimeter, + _bstr_t RowDelimeter, + _bstr_t NullExpr ); + _bstr_t GetDataMember ( ); + void PutDataMember ( + _bstr_t pbstrDataMember ); + enum CompareEnum CompareBookmarks ( + const _variant_t & Bookmark1, + const _variant_t & Bookmark2 ); + _Recordset_DeprecatedPtr Clone ( + enum LockTypeEnum LockType ); + HRESULT Resync ( + enum AffectEnum AffectRecords, + enum ResyncEnum ResyncValues ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_Cancel ( ) = 0; + virtual HRESULT __stdcall get_DataSource ( + /*[out,retval]*/ IUnknown * * ppunkDataSource ) = 0; + virtual HRESULT __stdcall putref_DataSource ( + /*[in]*/ IUnknown * ppunkDataSource ) = 0; + virtual HRESULT __stdcall raw__xSave ( + /*[in]*/ BSTR FileName, + /*[in]*/ enum PersistFormatEnum PersistFormat ) = 0; + virtual HRESULT __stdcall get_ActiveCommand ( + /*[out,retval]*/ IDispatch * * ppCmd ) = 0; + virtual HRESULT __stdcall put_StayInSync ( + /*[in]*/ VARIANT_BOOL pbStayInSync ) = 0; + virtual HRESULT __stdcall get_StayInSync ( + /*[out,retval]*/ VARIANT_BOOL * pbStayInSync ) = 0; + virtual HRESULT __stdcall raw_GetString ( + /*[in]*/ enum StringFormatEnum StringFormat, + /*[in]*/ long NumRows, + /*[in]*/ BSTR ColumnDelimeter, + /*[in]*/ BSTR RowDelimeter, + /*[in]*/ BSTR NullExpr, + /*[out,retval]*/ BSTR * pRetString ) = 0; + virtual HRESULT __stdcall get_DataMember ( + /*[out,retval]*/ BSTR * pbstrDataMember ) = 0; + virtual HRESULT __stdcall put_DataMember ( + /*[in]*/ BSTR pbstrDataMember ) = 0; + virtual HRESULT __stdcall raw_CompareBookmarks ( + /*[in]*/ VARIANT Bookmark1, + /*[in]*/ VARIANT Bookmark2, + /*[out,retval]*/ enum CompareEnum * pCompare ) = 0; + virtual HRESULT __stdcall raw_Clone ( + /*[in]*/ enum LockTypeEnum LockType, + /*[out,retval]*/ struct _Recordset_Deprecated * * ppvObject ) = 0; + virtual HRESULT __stdcall raw_Resync ( + /*[in]*/ enum AffectEnum AffectRecords, + /*[in]*/ enum ResyncEnum ResyncValues ) = 0; +}; + +struct __declspec(uuid("00000555-0000-0010-8000-00aa006d2ea4")) +Recordset21_Deprecated : Recordset20_Deprecated +{ + // + // Property data + // + + __declspec(property(get=GetIndex,put=PutIndex)) + _bstr_t Index; + + // + // Wrapper methods for error-handling + // + + HRESULT Seek ( + const _variant_t & KeyValues, + enum SeekEnum SeekOption ); + void PutIndex ( + _bstr_t pbstrIndex ); + _bstr_t GetIndex ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_Seek ( + /*[in]*/ VARIANT KeyValues, + /*[in]*/ enum SeekEnum SeekOption ) = 0; + virtual HRESULT __stdcall put_Index ( + /*[in]*/ BSTR pbstrIndex ) = 0; + virtual HRESULT __stdcall get_Index ( + /*[out,retval]*/ BSTR * pbstrIndex ) = 0; +}; + +struct __declspec(uuid("00000556-0000-0010-8000-00aa006d2ea4")) +_Recordset_Deprecated : Recordset21_Deprecated +{ + // + // Wrapper methods for error-handling + // + + HRESULT Save ( + const _variant_t & Destination, + enum PersistFormatEnum PersistFormat ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_Save ( + /*[in]*/ VARIANT Destination, + /*[in]*/ enum PersistFormatEnum PersistFormat ) = 0; +}; + +struct __declspec(uuid("00000508-0000-0010-8000-00aa006d2ea4")) +Command15_Deprecated : _ADO +{ + // + // Property data + // + + __declspec(property(get=GetParameters)) + Parameters_DeprecatedPtr Parameters; + __declspec(property(get=GetActiveConnection,put=PutRefActiveConnection)) + _Connection_DeprecatedPtr ActiveConnection; + __declspec(property(get=GetCommandText,put=PutCommandText)) + _bstr_t CommandText; + __declspec(property(get=GetCommandTimeout,put=PutCommandTimeout)) + long CommandTimeout; + __declspec(property(get=GetPrepared,put=PutPrepared)) + VARIANT_BOOL Prepared; + __declspec(property(get=GetCommandType,put=PutCommandType)) + enum CommandTypeEnum CommandType; + __declspec(property(get=GetName,put=PutName)) + _bstr_t Name; + + // + // Wrapper methods for error-handling + // + + _Connection_DeprecatedPtr GetActiveConnection ( ); + void PutRefActiveConnection ( + struct _Connection_Deprecated * ppvObject ); + void PutActiveConnection ( + const _variant_t & ppvObject ); + _bstr_t GetCommandText ( ); + void PutCommandText ( + _bstr_t pbstr ); + long GetCommandTimeout ( ); + void PutCommandTimeout ( + long pl ); + VARIANT_BOOL GetPrepared ( ); + void PutPrepared ( + VARIANT_BOOL pfPrepared ); + _Recordset_DeprecatedPtr Execute ( + VARIANT * RecordsAffected, + VARIANT * Parameters, + long Options ); + _Parameter_DeprecatedPtr CreateParameter ( + _bstr_t Name, + enum DataTypeEnum Type, + enum ParameterDirectionEnum Direction, + ADO_LONGPTR Size, + const _variant_t & Value = vtMissing ); + Parameters_DeprecatedPtr GetParameters ( ); + void PutCommandType ( + enum CommandTypeEnum plCmdType ); + enum CommandTypeEnum GetCommandType ( ); + _bstr_t GetName ( ); + void PutName ( + _bstr_t pbstrName ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_ActiveConnection ( + /*[out,retval]*/ struct _Connection_Deprecated * * ppvObject ) = 0; + virtual HRESULT __stdcall putref_ActiveConnection ( + /*[in]*/ struct _Connection_Deprecated * ppvObject ) = 0; + virtual HRESULT __stdcall put_ActiveConnection ( + /*[in]*/ VARIANT ppvObject ) = 0; + virtual HRESULT __stdcall get_CommandText ( + /*[out,retval]*/ BSTR * pbstr ) = 0; + virtual HRESULT __stdcall put_CommandText ( + /*[in]*/ BSTR pbstr ) = 0; + virtual HRESULT __stdcall get_CommandTimeout ( + /*[out,retval]*/ long * pl ) = 0; + virtual HRESULT __stdcall put_CommandTimeout ( + /*[in]*/ long pl ) = 0; + virtual HRESULT __stdcall get_Prepared ( + /*[out,retval]*/ VARIANT_BOOL * pfPrepared ) = 0; + virtual HRESULT __stdcall put_Prepared ( + /*[in]*/ VARIANT_BOOL pfPrepared ) = 0; + virtual HRESULT __stdcall raw_Execute ( + /*[out]*/ VARIANT * RecordsAffected, + /*[in]*/ VARIANT * Parameters, + /*[in]*/ long Options, + /*[out,retval]*/ struct _Recordset_Deprecated * * ppiRs ) = 0; + virtual HRESULT __stdcall raw_CreateParameter ( + /*[in]*/ BSTR Name, + /*[in]*/ enum DataTypeEnum Type, + /*[in]*/ enum ParameterDirectionEnum Direction, + /*[in]*/ ADO_LONGPTR Size, + /*[in]*/ VARIANT Value, + /*[out,retval]*/ struct _Parameter_Deprecated * * ppiprm ) = 0; + virtual HRESULT __stdcall get_Parameters ( + /*[out,retval]*/ struct Parameters_Deprecated * * ppvObject ) = 0; + virtual HRESULT __stdcall put_CommandType ( + /*[in]*/ enum CommandTypeEnum plCmdType ) = 0; + virtual HRESULT __stdcall get_CommandType ( + /*[out,retval]*/ enum CommandTypeEnum * plCmdType ) = 0; + virtual HRESULT __stdcall get_Name ( + /*[out,retval]*/ BSTR * pbstrName ) = 0; + virtual HRESULT __stdcall put_Name ( + /*[in]*/ BSTR pbstrName ) = 0; +}; + +struct __declspec(uuid("0000054e-0000-0010-8000-00aa006d2ea4")) +Command25_Deprecated : Command15_Deprecated +{ + // + // Property data + // + + __declspec(property(get=GetState)) + long State; + + // + // Wrapper methods for error-handling + // + + long GetState ( ); + HRESULT Cancel ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_State ( + /*[out,retval]*/ long * plObjState ) = 0; + virtual HRESULT __stdcall raw_Cancel ( ) = 0; +}; + +struct __declspec(uuid("b08400bd-f9d1-4d02-b856-71d5dba123e9")) +_Command_Deprecated : Command25_Deprecated +{ + // + // Property data + // + + __declspec(property(get=GetDialect,put=PutDialect)) + _bstr_t Dialect; + __declspec(property(get=GetNamedParameters,put=PutNamedParameters)) + VARIANT_BOOL NamedParameters; + + // + // Wrapper methods for error-handling + // + + void PutRefCommandStream ( + IUnknown * pvStream ); + _variant_t GetCommandStream ( ); + void PutDialect ( + _bstr_t pbstrDialect ); + _bstr_t GetDialect ( ); + void PutNamedParameters ( + VARIANT_BOOL pfNamedParameters ); + VARIANT_BOOL GetNamedParameters ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall putref_CommandStream ( + /*[in]*/ IUnknown * pvStream ) = 0; + virtual HRESULT __stdcall get_CommandStream ( + /*[out,retval]*/ VARIANT * pvStream ) = 0; + virtual HRESULT __stdcall put_Dialect ( + /*[in]*/ BSTR pbstrDialect ) = 0; + virtual HRESULT __stdcall get_Dialect ( + /*[out,retval]*/ BSTR * pbstrDialect ) = 0; + virtual HRESULT __stdcall put_NamedParameters ( + /*[in]*/ VARIANT_BOOL pfNamedParameters ) = 0; + virtual HRESULT __stdcall get_NamedParameters ( + /*[out,retval]*/ VARIANT_BOOL * pfNamedParameters ) = 0; +}; + +struct __declspec(uuid("00000403-0000-0010-8000-00aa006d2ea4")) +RecordsetEventsVt_Deprecated : IUnknown +{ + // + // Wrapper methods for error-handling + // + + HRESULT WillChangeField ( + long cFields, + const _variant_t & Fields, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT FieldChangeComplete ( + long cFields, + const _variant_t & Fields, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT WillChangeRecord ( + enum EventReasonEnum adReason, + long cRecords, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT RecordChangeComplete ( + enum EventReasonEnum adReason, + long cRecords, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT WillChangeRecordset ( + enum EventReasonEnum adReason, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT RecordsetChangeComplete ( + enum EventReasonEnum adReason, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT WillMove ( + enum EventReasonEnum adReason, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT MoveComplete ( + enum EventReasonEnum adReason, + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT EndOfRecordset ( + VARIANT_BOOL * fMoreData, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT FetchProgress ( + long Progress, + long MaxProgress, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + HRESULT FetchComplete ( + struct Error * pError, + enum EventStatusEnum * adStatus, + struct _Recordset_Deprecated * pRecordset ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall raw_WillChangeField ( + /*[in]*/ long cFields, + /*[in]*/ VARIANT Fields, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset_Deprecated * pRecordset ) = 0; + virtual HRESULT __stdcall raw_FieldChangeComplete ( + /*[in]*/ long cFields, + /*[in]*/ VARIANT Fields, + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset_Deprecated * pRecordset ) = 0; + virtual HRESULT __stdcall raw_WillChangeRecord ( + /*[in]*/ enum EventReasonEnum adReason, + /*[in]*/ long cRecords, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset_Deprecated * pRecordset ) = 0; + virtual HRESULT __stdcall raw_RecordChangeComplete ( + /*[in]*/ enum EventReasonEnum adReason, + /*[in]*/ long cRecords, + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset_Deprecated * pRecordset ) = 0; + virtual HRESULT __stdcall raw_WillChangeRecordset ( + /*[in]*/ enum EventReasonEnum adReason, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset_Deprecated * pRecordset ) = 0; + virtual HRESULT __stdcall raw_RecordsetChangeComplete ( + /*[in]*/ enum EventReasonEnum adReason, + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset_Deprecated * pRecordset ) = 0; + virtual HRESULT __stdcall raw_WillMove ( + /*[in]*/ enum EventReasonEnum adReason, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset_Deprecated * pRecordset ) = 0; + virtual HRESULT __stdcall raw_MoveComplete ( + /*[in]*/ enum EventReasonEnum adReason, + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset_Deprecated * pRecordset ) = 0; + virtual HRESULT __stdcall raw_EndOfRecordset ( + /*[in,out]*/ VARIANT_BOOL * fMoreData, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset_Deprecated * pRecordset ) = 0; + virtual HRESULT __stdcall raw_FetchProgress ( + /*[in]*/ long Progress, + /*[in]*/ long MaxProgress, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset_Deprecated * pRecordset ) = 0; + virtual HRESULT __stdcall raw_FetchComplete ( + /*[in]*/ struct Error * pError, + /*[in,out]*/ enum EventStatusEnum * adStatus, + /*[in]*/ struct _Recordset_Deprecated * pRecordset ) = 0; +}; + +struct __declspec(uuid("00000562-0000-0010-8000-00aa006d2ea4")) +_Record_Deprecated : _ADO +{ + // + // Property data + // + + __declspec(property(get=GetFields)) + Fields_DeprecatedPtr Fields; + __declspec(property(get=GetState)) + enum ObjectStateEnum State; + __declspec(property(get=GetMode,put=PutMode)) + enum ConnectModeEnum Mode; + __declspec(property(get=GetParentURL)) + _bstr_t ParentURL; + __declspec(property(get=GetRecordType)) + enum RecordTypeEnum RecordType; + + // + // Wrapper methods for error-handling + // + + _variant_t GetActiveConnection ( ); + void PutActiveConnection ( + _bstr_t pvar ); + void PutRefActiveConnection ( + struct _Connection_Deprecated * pvar ); + enum ObjectStateEnum GetState ( ); + _variant_t GetSource ( ); + void PutSource ( + _bstr_t pvar ); + void PutRefSource ( + IDispatch * pvar ); + enum ConnectModeEnum GetMode ( ); + void PutMode ( + enum ConnectModeEnum pMode ); + _bstr_t GetParentURL ( ); + _bstr_t MoveRecord ( + _bstr_t Source, + _bstr_t Destination, + _bstr_t UserName, + _bstr_t Password, + enum MoveRecordOptionsEnum Options, + VARIANT_BOOL Async ); + _bstr_t CopyRecord ( + _bstr_t Source, + _bstr_t Destination, + _bstr_t UserName, + _bstr_t Password, + enum CopyRecordOptionsEnum Options, + VARIANT_BOOL Async ); + HRESULT DeleteRecord ( + _bstr_t Source, + VARIANT_BOOL Async ); + HRESULT Open ( + const _variant_t & Source, + const _variant_t & ActiveConnection, + enum ConnectModeEnum Mode, + enum RecordCreateOptionsEnum CreateOptions, + enum RecordOpenOptionsEnum Options, + _bstr_t UserName, + _bstr_t Password ); + HRESULT Close ( ); + Fields_DeprecatedPtr GetFields ( ); + enum RecordTypeEnum GetRecordType ( ); + _Recordset_DeprecatedPtr GetChildren ( ); + HRESULT Cancel ( ); + + // + // Raw methods provided by interface + // + + virtual HRESULT __stdcall get_ActiveConnection ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall put_ActiveConnection ( + /*[in]*/ BSTR pvar ) = 0; + virtual HRESULT __stdcall putref_ActiveConnection ( + /*[in]*/ struct _Connection_Deprecated * pvar ) = 0; + virtual HRESULT __stdcall get_State ( + /*[out,retval]*/ enum ObjectStateEnum * pState ) = 0; + virtual HRESULT __stdcall get_Source ( + /*[out,retval]*/ VARIANT * pvar ) = 0; + virtual HRESULT __stdcall put_Source ( + /*[in]*/ BSTR pvar ) = 0; + virtual HRESULT __stdcall putref_Source ( + /*[in]*/ IDispatch * pvar ) = 0; + virtual HRESULT __stdcall get_Mode ( + /*[out,retval]*/ enum ConnectModeEnum * pMode ) = 0; + virtual HRESULT __stdcall put_Mode ( + /*[in]*/ enum ConnectModeEnum pMode ) = 0; + virtual HRESULT __stdcall get_ParentURL ( + /*[out,retval]*/ BSTR * pbstrParentURL ) = 0; + virtual HRESULT __stdcall raw_MoveRecord ( + /*[in]*/ BSTR Source, + /*[in]*/ BSTR Destination, + /*[in]*/ BSTR UserName, + /*[in]*/ BSTR Password, + /*[in]*/ enum MoveRecordOptionsEnum Options, + /*[in]*/ VARIANT_BOOL Async, + /*[out,retval]*/ BSTR * pbstrNewURL ) = 0; + virtual HRESULT __stdcall raw_CopyRecord ( + /*[in]*/ BSTR Source, + /*[in]*/ BSTR Destination, + /*[in]*/ BSTR UserName, + /*[in]*/ BSTR Password, + /*[in]*/ enum CopyRecordOptionsEnum Options, + /*[in]*/ VARIANT_BOOL Async, + /*[out,retval]*/ BSTR * pbstrNewURL ) = 0; + virtual HRESULT __stdcall raw_DeleteRecord ( + /*[in]*/ BSTR Source, + /*[in]*/ VARIANT_BOOL Async ) = 0; + virtual HRESULT __stdcall raw_Open ( + /*[in]*/ VARIANT Source, + /*[in]*/ VARIANT ActiveConnection, + /*[in]*/ enum ConnectModeEnum Mode, + /*[in]*/ enum RecordCreateOptionsEnum CreateOptions, + /*[in]*/ enum RecordOpenOptionsEnum Options, + /*[in]*/ BSTR UserName, + /*[in]*/ BSTR Password ) = 0; + virtual HRESULT __stdcall raw_Close ( ) = 0; + virtual HRESULT __stdcall get_Fields ( + /*[out,retval]*/ struct Fields_Deprecated * * ppFlds ) = 0; + virtual HRESULT __stdcall get_RecordType ( + /*[out,retval]*/ enum RecordTypeEnum * ptype ) = 0; + virtual HRESULT __stdcall raw_GetChildren ( + /*[out,retval]*/ struct _Recordset_Deprecated * * pprset ) = 0; + virtual HRESULT __stdcall raw_Cancel ( ) = 0; +}; + +// +// Wrapper method implementations +// + +#include "c:\users\liyanfeng\documents\代码\hezon_itk\hezon_itk\x64\release\msado15.tli" + +#pragma pack(pop) diff --git a/x64/Release/msado15.tli b/x64/Release/msado15.tli new file mode 100644 index 0000000..95288e1 --- /dev/null +++ b/x64/Release/msado15.tli @@ -0,0 +1,3952 @@ +// Created by Microsoft (R) C/C++ Compiler Version 11.00.50727.1 (a8dc2009). +// +// c:\users\liyanfeng\documents\代码\hezon_itk\hezon_itk\x64\release\msado15.tli +// +// Wrapper implementations for type library C:/Program Files/Common Files/System/ado/msado15.dll +// compiler-generated file created 03/22/17 at 19:48:35 - DO NOT EDIT! + +#pragma once + +// +// interface _Collection wrapper method implementations +// + +inline long _Collection::GetCount ( ) { + long _result = 0; + HRESULT _hr = get_Count(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline IUnknownPtr _Collection::_NewEnum ( ) { + IUnknown * _result = 0; + HRESULT _hr = raw__NewEnum(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return IUnknownPtr(_result, false); +} + +inline HRESULT _Collection::Refresh ( ) { + HRESULT _hr = raw_Refresh(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface _DynaCollection wrapper method implementations +// + +inline HRESULT _DynaCollection::Append ( IDispatch * Object ) { + HRESULT _hr = raw_Append(Object); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _DynaCollection::Delete ( const _variant_t & Index ) { + HRESULT _hr = raw_Delete(Index); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface Property wrapper method implementations +// + +inline _variant_t Property::GetValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Value(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void Property::PutValue ( const _variant_t & pval ) { + HRESULT _hr = put_Value(pval); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t Property::GetName ( ) { + BSTR _result = 0; + HRESULT _hr = get_Name(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline enum DataTypeEnum Property::GetType ( ) { + enum DataTypeEnum _result; + HRESULT _hr = get_Type(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline long Property::GetAttributes ( ) { + long _result = 0; + HRESULT _hr = get_Attributes(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Property::PutAttributes ( long plAttributes ) { + HRESULT _hr = put_Attributes(plAttributes); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +// +// interface Properties wrapper method implementations +// + +inline PropertyPtr Properties::GetItem ( const _variant_t & Index ) { + struct Property * _result = 0; + HRESULT _hr = get_Item(Index, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return PropertyPtr(_result, false); +} + +// +// interface _ADO wrapper method implementations +// + +inline PropertiesPtr _ADO::GetProperties ( ) { + struct Properties * _result = 0; + HRESULT _hr = get_Properties(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return PropertiesPtr(_result, false); +} + +// +// interface Error wrapper method implementations +// + +inline long Error::GetNumber ( ) { + long _result = 0; + HRESULT _hr = get_Number(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _bstr_t Error::GetSource ( ) { + BSTR _result = 0; + HRESULT _hr = get_Source(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline _bstr_t Error::GetDescription ( ) { + BSTR _result = 0; + HRESULT _hr = get_Description(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline _bstr_t Error::GetHelpFile ( ) { + BSTR _result = 0; + HRESULT _hr = get_HelpFile(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline long Error::GetHelpContext ( ) { + long _result = 0; + HRESULT _hr = get_HelpContext(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _bstr_t Error::GetSQLState ( ) { + BSTR _result = 0; + HRESULT _hr = get_SQLState(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline long Error::GetNativeError ( ) { + long _result = 0; + HRESULT _hr = get_NativeError(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +// +// interface Errors wrapper method implementations +// + +inline ErrorPtr Errors::GetItem ( const _variant_t & Index ) { + struct Error * _result = 0; + HRESULT _hr = get_Item(Index, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return ErrorPtr(_result, false); +} + +inline HRESULT Errors::Clear ( ) { + HRESULT _hr = raw_Clear(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface Field20 wrapper method implementations +// + +inline long Field20::GetActualSize ( ) { + long _result = 0; + HRESULT _hr = get_ActualSize(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline long Field20::GetAttributes ( ) { + long _result = 0; + HRESULT _hr = get_Attributes(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline long Field20::GetDefinedSize ( ) { + long _result = 0; + HRESULT _hr = get_DefinedSize(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _bstr_t Field20::GetName ( ) { + BSTR _result = 0; + HRESULT _hr = get_Name(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline enum DataTypeEnum Field20::GetType ( ) { + enum DataTypeEnum _result; + HRESULT _hr = get_Type(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _variant_t Field20::GetValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Value(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void Field20::PutValue ( const _variant_t & pvar ) { + HRESULT _hr = put_Value(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline unsigned char Field20::GetPrecision ( ) { + unsigned char _result = 0; + HRESULT _hr = get_Precision(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline unsigned char Field20::GetNumericScale ( ) { + unsigned char _result = 0; + HRESULT _hr = get_NumericScale(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline HRESULT Field20::AppendChunk ( const _variant_t & Data ) { + HRESULT _hr = raw_AppendChunk(Data); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline _variant_t Field20::GetChunk ( long Length ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = raw_GetChunk(Length, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline _variant_t Field20::GetOriginalValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_OriginalValue(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline _variant_t Field20::GetUnderlyingValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_UnderlyingValue(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline IUnknownPtr Field20::GetDataFormat ( ) { + IUnknown * _result = 0; + HRESULT _hr = get_DataFormat(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return IUnknownPtr(_result, false); +} + +inline void Field20::PutRefDataFormat ( IUnknown * ppiDF ) { + HRESULT _hr = putref_DataFormat(ppiDF); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Field20::PutPrecision ( unsigned char pbPrecision ) { + HRESULT _hr = put_Precision(pbPrecision); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Field20::PutNumericScale ( unsigned char pbNumericScale ) { + HRESULT _hr = put_NumericScale(pbNumericScale); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Field20::PutType ( enum DataTypeEnum pDataType ) { + HRESULT _hr = put_Type(pDataType); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Field20::PutDefinedSize ( long pl ) { + HRESULT _hr = put_DefinedSize(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Field20::PutAttributes ( long pl ) { + HRESULT _hr = put_Attributes(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +// +// interface Field wrapper method implementations +// + +inline long Field::GetStatus ( ) { + long _result = 0; + HRESULT _hr = get_Status(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +// +// interface Fields15 wrapper method implementations +// + +inline FieldPtr Fields15::GetItem ( const _variant_t & Index ) { + struct Field * _result = 0; + HRESULT _hr = get_Item(Index, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return FieldPtr(_result, false); +} + +// +// interface Fields20 wrapper method implementations +// + +inline HRESULT Fields20::_Append ( _bstr_t Name, enum DataTypeEnum Type, long DefinedSize, enum FieldAttributeEnum Attrib ) { + HRESULT _hr = raw__Append(Name, Type, DefinedSize, Attrib); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Fields20::Delete ( const _variant_t & Index ) { + HRESULT _hr = raw_Delete(Index); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface Fields wrapper method implementations +// + +inline HRESULT Fields::Append ( _bstr_t Name, enum DataTypeEnum Type, long DefinedSize, enum FieldAttributeEnum Attrib, const _variant_t & FieldValue ) { + HRESULT _hr = raw_Append(Name, Type, DefinedSize, Attrib, FieldValue); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Fields::Update ( ) { + HRESULT _hr = raw_Update(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Fields::Resync ( enum ResyncEnum ResyncValues ) { + HRESULT _hr = raw_Resync(ResyncValues); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Fields::CancelUpdate ( ) { + HRESULT _hr = raw_CancelUpdate(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface _Parameter wrapper method implementations +// + +inline _bstr_t _Parameter::GetName ( ) { + BSTR _result = 0; + HRESULT _hr = get_Name(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void _Parameter::PutName ( _bstr_t pbstr ) { + HRESULT _hr = put_Name(pbstr); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _variant_t _Parameter::GetValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Value(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void _Parameter::PutValue ( const _variant_t & pvar ) { + HRESULT _hr = put_Value(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum DataTypeEnum _Parameter::GetType ( ) { + enum DataTypeEnum _result; + HRESULT _hr = get_Type(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Parameter::PutType ( enum DataTypeEnum psDataType ) { + HRESULT _hr = put_Type(psDataType); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void _Parameter::PutDirection ( enum ParameterDirectionEnum plParmDirection ) { + HRESULT _hr = put_Direction(plParmDirection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum ParameterDirectionEnum _Parameter::GetDirection ( ) { + enum ParameterDirectionEnum _result; + HRESULT _hr = get_Direction(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Parameter::PutPrecision ( unsigned char pbPrecision ) { + HRESULT _hr = put_Precision(pbPrecision); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline unsigned char _Parameter::GetPrecision ( ) { + unsigned char _result = 0; + HRESULT _hr = get_Precision(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Parameter::PutNumericScale ( unsigned char pbScale ) { + HRESULT _hr = put_NumericScale(pbScale); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline unsigned char _Parameter::GetNumericScale ( ) { + unsigned char _result = 0; + HRESULT _hr = get_NumericScale(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Parameter::PutSize ( long pl ) { + HRESULT _hr = put_Size(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long _Parameter::GetSize ( ) { + long _result = 0; + HRESULT _hr = get_Size(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline HRESULT _Parameter::AppendChunk ( const _variant_t & Val ) { + HRESULT _hr = raw_AppendChunk(Val); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline long _Parameter::GetAttributes ( ) { + long _result = 0; + HRESULT _hr = get_Attributes(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Parameter::PutAttributes ( long plParmAttribs ) { + HRESULT _hr = put_Attributes(plParmAttribs); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +// +// interface Parameters wrapper method implementations +// + +inline _ParameterPtr Parameters::GetItem ( const _variant_t & Index ) { + struct _Parameter * _result = 0; + HRESULT _hr = get_Item(Index, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _ParameterPtr(_result, false); +} + +// +// dispinterface ConnectionEvents wrapper method implementations +// + +inline HRESULT ConnectionEvents::InfoMessage ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x0, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0009\x4003\x0009", pError, adStatus, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents::BeginTransComplete ( long TransactionLevel, struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x1, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x0009\x4003\x0009", TransactionLevel, pError, adStatus, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents::CommitTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x3, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0009\x4003\x0009", pError, adStatus, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents::RollbackTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x2, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0009\x4003\x0009", pError, adStatus, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents::WillExecute ( BSTR * Source, enum CursorTypeEnum * CursorType, enum LockTypeEnum * LockType, long * Options, enum EventStatusEnum * adStatus, struct _Command * pCommand, struct _Recordset * pRecordset, struct _Connection * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x4, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x4008\x4003\x4003\x4003\x4003\x0009\x0009\x0009", Source, CursorType, LockType, Options, adStatus, pCommand, pRecordset, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents::ExecuteComplete ( long RecordsAffected, struct Error * pError, enum EventStatusEnum * adStatus, struct _Command * pCommand, struct _Recordset * pRecordset, struct _Connection * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x5, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x0009\x4003\x0009\x0009\x0009", RecordsAffected, pError, adStatus, pCommand, pRecordset, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents::WillConnect ( BSTR * ConnectionString, BSTR * UserID, BSTR * Password, long * Options, enum EventStatusEnum * adStatus, struct _Connection * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x6, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x4008\x4008\x4008\x4003\x4003\x0009", ConnectionString, UserID, Password, Options, adStatus, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents::ConnectComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x7, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0009\x4003\x0009", pError, adStatus, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents::Disconnect ( enum EventStatusEnum * adStatus, struct _Connection * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x8, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x4003\x0009", adStatus, pConnection); + return _result; +} + +// +// dispinterface RecordsetEvents wrapper method implementations +// + +inline HRESULT RecordsetEvents::WillChangeField ( long cFields, const _variant_t & Fields, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x9, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x000c\x4003\x0009", cFields, &Fields, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents::FieldChangeComplete ( long cFields, const _variant_t & Fields, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0xa, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x000c\x0009\x4003\x0009", cFields, &Fields, pError, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents::WillChangeRecord ( enum EventReasonEnum adReason, long cRecords, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0xb, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x0003\x4003\x0009", adReason, cRecords, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents::RecordChangeComplete ( enum EventReasonEnum adReason, long cRecords, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0xc, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x0003\x0009\x4003\x0009", adReason, cRecords, pError, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents::WillChangeRecordset ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0xd, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x4003\x0009", adReason, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents::RecordsetChangeComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0xe, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x0009\x4003\x0009", adReason, pError, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents::WillMove ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0xf, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x4003\x0009", adReason, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents::MoveComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x10, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x0009\x4003\x0009", adReason, pError, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents::EndOfRecordset ( VARIANT_BOOL * fMoreData, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x11, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x400b\x4003\x0009", fMoreData, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents::FetchProgress ( long Progress, long MaxProgress, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x12, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x0003\x4003\x0009", Progress, MaxProgress, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents::FetchComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x13, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0009\x4003\x0009", pError, adStatus, pRecordset); + return _result; +} + +// +// interface ADOConnectionConstruction15 wrapper method implementations +// + +inline IUnknownPtr ADOConnectionConstruction15::GetDSO ( ) { + IUnknown * _result = 0; + HRESULT _hr = get_DSO(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return IUnknownPtr(_result, false); +} + +inline IUnknownPtr ADOConnectionConstruction15::GetSession ( ) { + IUnknown * _result = 0; + HRESULT _hr = get_Session(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return IUnknownPtr(_result, false); +} + +inline HRESULT ADOConnectionConstruction15::WrapDSOandSession ( IUnknown * pDSO, IUnknown * pSession ) { + HRESULT _hr = raw_WrapDSOandSession(pDSO, pSession); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface _Stream wrapper method implementations +// + +inline long _Stream::GetSize ( ) { + long _result = 0; + HRESULT _hr = get_Size(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline VARIANT_BOOL _Stream::GetEOS ( ) { + VARIANT_BOOL _result = 0; + HRESULT _hr = get_EOS(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline long _Stream::GetPosition ( ) { + long _result = 0; + HRESULT _hr = get_Position(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Stream::PutPosition ( long pPos ) { + HRESULT _hr = put_Position(pPos); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum StreamTypeEnum _Stream::GetType ( ) { + enum StreamTypeEnum _result; + HRESULT _hr = get_Type(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Stream::PutType ( enum StreamTypeEnum ptype ) { + HRESULT _hr = put_Type(ptype); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum LineSeparatorEnum _Stream::GetLineSeparator ( ) { + enum LineSeparatorEnum _result; + HRESULT _hr = get_LineSeparator(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Stream::PutLineSeparator ( enum LineSeparatorEnum pLS ) { + HRESULT _hr = put_LineSeparator(pLS); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum ObjectStateEnum _Stream::GetState ( ) { + enum ObjectStateEnum _result; + HRESULT _hr = get_State(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline enum ConnectModeEnum _Stream::GetMode ( ) { + enum ConnectModeEnum _result; + HRESULT _hr = get_Mode(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Stream::PutMode ( enum ConnectModeEnum pMode ) { + HRESULT _hr = put_Mode(pMode); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t _Stream::GetCharset ( ) { + BSTR _result = 0; + HRESULT _hr = get_Charset(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void _Stream::PutCharset ( _bstr_t pbstrCharset ) { + HRESULT _hr = put_Charset(pbstrCharset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _variant_t _Stream::Read ( long NumBytes ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = raw_Read(NumBytes, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline HRESULT _Stream::Open ( const _variant_t & Source, enum ConnectModeEnum Mode, enum StreamOpenOptionsEnum Options, _bstr_t UserName, _bstr_t Password ) { + HRESULT _hr = raw_Open(Source, Mode, Options, UserName, Password); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream::Close ( ) { + HRESULT _hr = raw_Close(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream::SkipLine ( ) { + HRESULT _hr = raw_SkipLine(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream::Write ( const _variant_t & Buffer ) { + HRESULT _hr = raw_Write(Buffer); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream::SetEOS ( ) { + HRESULT _hr = raw_SetEOS(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream::CopyTo ( struct _Stream * DestStream, long CharNumber ) { + HRESULT _hr = raw_CopyTo(DestStream, CharNumber); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream::Flush ( ) { + HRESULT _hr = raw_Flush(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream::SaveToFile ( _bstr_t FileName, enum SaveOptionsEnum Options ) { + HRESULT _hr = raw_SaveToFile(FileName, Options); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream::LoadFromFile ( _bstr_t FileName ) { + HRESULT _hr = raw_LoadFromFile(FileName); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline _bstr_t _Stream::ReadText ( long NumChars ) { + BSTR _result = 0; + HRESULT _hr = raw_ReadText(NumChars, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline HRESULT _Stream::WriteText ( _bstr_t Data, enum StreamWriteEnum Options ) { + HRESULT _hr = raw_WriteText(Data, Options); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream::Cancel ( ) { + HRESULT _hr = raw_Cancel(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface ADORecordConstruction wrapper method implementations +// + +inline IUnknownPtr ADORecordConstruction::GetRow ( ) { + IUnknown * _result = 0; + HRESULT _hr = get_Row(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return IUnknownPtr(_result, false); +} + +inline void ADORecordConstruction::PutRow ( IUnknown * ppRow ) { + HRESULT _hr = put_Row(ppRow); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void ADORecordConstruction::PutParentRow ( IUnknown * _arg1 ) { + HRESULT _hr = put_ParentRow(_arg1); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +// +// interface ADOStreamConstruction wrapper method implementations +// + +inline IUnknownPtr ADOStreamConstruction::GetStream ( ) { + IUnknown * _result = 0; + HRESULT _hr = get_Stream(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return IUnknownPtr(_result, false); +} + +inline void ADOStreamConstruction::PutStream ( IUnknown * ppStm ) { + HRESULT _hr = put_Stream(ppStm); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +// +// interface ADOCommandConstruction wrapper method implementations +// + +inline IUnknownPtr ADOCommandConstruction::GetOLEDBCommand ( ) { + IUnknown * _result = 0; + HRESULT _hr = get_OLEDBCommand(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return IUnknownPtr(_result, false); +} + +inline void ADOCommandConstruction::PutOLEDBCommand ( IUnknown * ppOLEDBCommand ) { + HRESULT _hr = put_OLEDBCommand(ppOLEDBCommand); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +// +// interface ADORecordsetConstruction wrapper method implementations +// + +inline IUnknownPtr ADORecordsetConstruction::GetRowset ( ) { + IUnknown * _result = 0; + HRESULT _hr = get_Rowset(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return IUnknownPtr(_result, false); +} + +inline void ADORecordsetConstruction::PutRowset ( IUnknown * ppRowset ) { + HRESULT _hr = put_Rowset(ppRowset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline ADO_LONGPTR ADORecordsetConstruction::GetChapter ( ) { + ADO_LONGPTR _result; + HRESULT _hr = get_Chapter(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void ADORecordsetConstruction::PutChapter ( ADO_LONGPTR plChapter ) { + HRESULT _hr = put_Chapter(plChapter); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline IUnknownPtr ADORecordsetConstruction::GetRowPosition ( ) { + IUnknown * _result = 0; + HRESULT _hr = get_RowPosition(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return IUnknownPtr(_result, false); +} + +inline void ADORecordsetConstruction::PutRowPosition ( IUnknown * ppRowPos ) { + HRESULT _hr = put_RowPosition(ppRowPos); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +// +// interface Field15 wrapper method implementations +// + +inline long Field15::GetActualSize ( ) { + long _result = 0; + HRESULT _hr = get_ActualSize(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline long Field15::GetAttributes ( ) { + long _result = 0; + HRESULT _hr = get_Attributes(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline long Field15::GetDefinedSize ( ) { + long _result = 0; + HRESULT _hr = get_DefinedSize(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _bstr_t Field15::GetName ( ) { + BSTR _result = 0; + HRESULT _hr = get_Name(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline enum DataTypeEnum Field15::GetType ( ) { + enum DataTypeEnum _result; + HRESULT _hr = get_Type(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _variant_t Field15::GetValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Value(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void Field15::PutValue ( const _variant_t & pvar ) { + HRESULT _hr = put_Value(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline unsigned char Field15::GetPrecision ( ) { + unsigned char _result = 0; + HRESULT _hr = get_Precision(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline unsigned char Field15::GetNumericScale ( ) { + unsigned char _result = 0; + HRESULT _hr = get_NumericScale(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline HRESULT Field15::AppendChunk ( const _variant_t & Data ) { + HRESULT _hr = raw_AppendChunk(Data); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline _variant_t Field15::GetChunk ( long Length ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = raw_GetChunk(Length, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline _variant_t Field15::GetOriginalValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_OriginalValue(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline _variant_t Field15::GetUnderlyingValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_UnderlyingValue(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +// +// interface Field20_Deprecated wrapper method implementations +// + +inline ADO_LONGPTR Field20_Deprecated::GetActualSize ( ) { + ADO_LONGPTR _result; + HRESULT _hr = get_ActualSize(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline long Field20_Deprecated::GetAttributes ( ) { + long _result = 0; + HRESULT _hr = get_Attributes(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline ADO_LONGPTR Field20_Deprecated::GetDefinedSize ( ) { + ADO_LONGPTR _result; + HRESULT _hr = get_DefinedSize(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _bstr_t Field20_Deprecated::GetName ( ) { + BSTR _result = 0; + HRESULT _hr = get_Name(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline enum DataTypeEnum Field20_Deprecated::GetType ( ) { + enum DataTypeEnum _result; + HRESULT _hr = get_Type(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _variant_t Field20_Deprecated::GetValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Value(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void Field20_Deprecated::PutValue ( const _variant_t & pvar ) { + HRESULT _hr = put_Value(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline unsigned char Field20_Deprecated::GetPrecision ( ) { + unsigned char _result = 0; + HRESULT _hr = get_Precision(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline unsigned char Field20_Deprecated::GetNumericScale ( ) { + unsigned char _result = 0; + HRESULT _hr = get_NumericScale(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline HRESULT Field20_Deprecated::AppendChunk ( const _variant_t & Data ) { + HRESULT _hr = raw_AppendChunk(Data); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline _variant_t Field20_Deprecated::GetChunk ( long Length ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = raw_GetChunk(Length, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline _variant_t Field20_Deprecated::GetOriginalValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_OriginalValue(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline _variant_t Field20_Deprecated::GetUnderlyingValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_UnderlyingValue(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline IUnknownPtr Field20_Deprecated::GetDataFormat ( ) { + IUnknown * _result = 0; + HRESULT _hr = get_DataFormat(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return IUnknownPtr(_result, false); +} + +inline void Field20_Deprecated::PutRefDataFormat ( IUnknown * ppiDF ) { + HRESULT _hr = putref_DataFormat(ppiDF); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Field20_Deprecated::PutPrecision ( unsigned char pbPrecision ) { + HRESULT _hr = put_Precision(pbPrecision); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Field20_Deprecated::PutNumericScale ( unsigned char pbNumericScale ) { + HRESULT _hr = put_NumericScale(pbNumericScale); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Field20_Deprecated::PutType ( enum DataTypeEnum pDataType ) { + HRESULT _hr = put_Type(pDataType); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Field20_Deprecated::PutDefinedSize ( ADO_LONGPTR pl ) { + HRESULT _hr = put_DefinedSize(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Field20_Deprecated::PutAttributes ( long pl ) { + HRESULT _hr = put_Attributes(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +// +// interface Field_Deprecated wrapper method implementations +// + +inline long Field_Deprecated::GetStatus ( ) { + long _result = 0; + HRESULT _hr = get_Status(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +// +// interface Fields15_Deprecated wrapper method implementations +// + +inline Field_DeprecatedPtr Fields15_Deprecated::GetItem ( const _variant_t & Index ) { + struct Field_Deprecated * _result = 0; + HRESULT _hr = get_Item(Index, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return Field_DeprecatedPtr(_result, false); +} + +// +// interface Fields20_Deprecated wrapper method implementations +// + +inline HRESULT Fields20_Deprecated::_Append ( _bstr_t Name, enum DataTypeEnum Type, ADO_LONGPTR DefinedSize, enum FieldAttributeEnum Attrib ) { + HRESULT _hr = raw__Append(Name, Type, DefinedSize, Attrib); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Fields20_Deprecated::Delete ( const _variant_t & Index ) { + HRESULT _hr = raw_Delete(Index); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface Fields_Deprecated wrapper method implementations +// + +inline HRESULT Fields_Deprecated::Append ( _bstr_t Name, enum DataTypeEnum Type, ADO_LONGPTR DefinedSize, enum FieldAttributeEnum Attrib, const _variant_t & FieldValue ) { + HRESULT _hr = raw_Append(Name, Type, DefinedSize, Attrib, FieldValue); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Fields_Deprecated::Update ( ) { + HRESULT _hr = raw_Update(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Fields_Deprecated::Resync ( enum ResyncEnum ResyncValues ) { + HRESULT _hr = raw_Resync(ResyncValues); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Fields_Deprecated::CancelUpdate ( ) { + HRESULT _hr = raw_CancelUpdate(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface _Parameter_Deprecated wrapper method implementations +// + +inline _bstr_t _Parameter_Deprecated::GetName ( ) { + BSTR _result = 0; + HRESULT _hr = get_Name(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void _Parameter_Deprecated::PutName ( _bstr_t pbstr ) { + HRESULT _hr = put_Name(pbstr); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _variant_t _Parameter_Deprecated::GetValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Value(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void _Parameter_Deprecated::PutValue ( const _variant_t & pvar ) { + HRESULT _hr = put_Value(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum DataTypeEnum _Parameter_Deprecated::GetType ( ) { + enum DataTypeEnum _result; + HRESULT _hr = get_Type(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Parameter_Deprecated::PutType ( enum DataTypeEnum psDataType ) { + HRESULT _hr = put_Type(psDataType); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void _Parameter_Deprecated::PutDirection ( enum ParameterDirectionEnum plParmDirection ) { + HRESULT _hr = put_Direction(plParmDirection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum ParameterDirectionEnum _Parameter_Deprecated::GetDirection ( ) { + enum ParameterDirectionEnum _result; + HRESULT _hr = get_Direction(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Parameter_Deprecated::PutPrecision ( unsigned char pbPrecision ) { + HRESULT _hr = put_Precision(pbPrecision); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline unsigned char _Parameter_Deprecated::GetPrecision ( ) { + unsigned char _result = 0; + HRESULT _hr = get_Precision(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Parameter_Deprecated::PutNumericScale ( unsigned char pbScale ) { + HRESULT _hr = put_NumericScale(pbScale); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline unsigned char _Parameter_Deprecated::GetNumericScale ( ) { + unsigned char _result = 0; + HRESULT _hr = get_NumericScale(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Parameter_Deprecated::PutSize ( ADO_LONGPTR pl ) { + HRESULT _hr = put_Size(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline ADO_LONGPTR _Parameter_Deprecated::GetSize ( ) { + ADO_LONGPTR _result; + HRESULT _hr = get_Size(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline HRESULT _Parameter_Deprecated::AppendChunk ( const _variant_t & Val ) { + HRESULT _hr = raw_AppendChunk(Val); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline long _Parameter_Deprecated::GetAttributes ( ) { + long _result = 0; + HRESULT _hr = get_Attributes(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Parameter_Deprecated::PutAttributes ( long plParmAttribs ) { + HRESULT _hr = put_Attributes(plParmAttribs); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +// +// interface Parameters_Deprecated wrapper method implementations +// + +inline _Parameter_DeprecatedPtr Parameters_Deprecated::GetItem ( const _variant_t & Index ) { + struct _Parameter_Deprecated * _result = 0; + HRESULT _hr = get_Item(Index, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _Parameter_DeprecatedPtr(_result, false); +} + +// +// dispinterface ConnectionEvents_Deprecated wrapper method implementations +// + +inline HRESULT ConnectionEvents_Deprecated::InfoMessage ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x0, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0009\x4003\x0009", pError, adStatus, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents_Deprecated::BeginTransComplete ( long TransactionLevel, struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x1, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x0009\x4003\x0009", TransactionLevel, pError, adStatus, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents_Deprecated::CommitTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x3, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0009\x4003\x0009", pError, adStatus, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents_Deprecated::RollbackTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x2, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0009\x4003\x0009", pError, adStatus, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents_Deprecated::WillExecute ( BSTR * Source, enum CursorTypeEnum * CursorType, enum LockTypeEnum * LockType, long * Options, enum EventStatusEnum * adStatus, struct _Command_Deprecated * pCommand, struct _Recordset_Deprecated * pRecordset, struct _Connection_Deprecated * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x4, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x4008\x4003\x4003\x4003\x4003\x0009\x0009\x0009", Source, CursorType, LockType, Options, adStatus, pCommand, pRecordset, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents_Deprecated::ExecuteComplete ( long RecordsAffected, struct Error * pError, enum EventStatusEnum * adStatus, struct _Command_Deprecated * pCommand, struct _Recordset_Deprecated * pRecordset, struct _Connection_Deprecated * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x5, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x0009\x4003\x0009\x0009\x0009", RecordsAffected, pError, adStatus, pCommand, pRecordset, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents_Deprecated::WillConnect ( BSTR * ConnectionString, BSTR * UserID, BSTR * Password, long * Options, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x6, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x4008\x4008\x4008\x4003\x4003\x0009", ConnectionString, UserID, Password, Options, adStatus, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents_Deprecated::ConnectComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x7, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0009\x4003\x0009", pError, adStatus, pConnection); + return _result; +} + +inline HRESULT ConnectionEvents_Deprecated::Disconnect ( enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x8, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x4003\x0009", adStatus, pConnection); + return _result; +} + +// +// dispinterface RecordsetEvents_Deprecated wrapper method implementations +// + +inline HRESULT RecordsetEvents_Deprecated::WillChangeField ( long cFields, const _variant_t & Fields, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x9, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x000c\x4003\x0009", cFields, &Fields, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents_Deprecated::FieldChangeComplete ( long cFields, const _variant_t & Fields, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0xa, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x000c\x0009\x4003\x0009", cFields, &Fields, pError, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents_Deprecated::WillChangeRecord ( enum EventReasonEnum adReason, long cRecords, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0xb, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x0003\x4003\x0009", adReason, cRecords, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents_Deprecated::RecordChangeComplete ( enum EventReasonEnum adReason, long cRecords, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0xc, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x0003\x0009\x4003\x0009", adReason, cRecords, pError, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents_Deprecated::WillChangeRecordset ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0xd, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x4003\x0009", adReason, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents_Deprecated::RecordsetChangeComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0xe, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x0009\x4003\x0009", adReason, pError, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents_Deprecated::WillMove ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0xf, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x4003\x0009", adReason, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents_Deprecated::MoveComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x10, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x0009\x4003\x0009", adReason, pError, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents_Deprecated::EndOfRecordset ( VARIANT_BOOL * fMoreData, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x11, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x400b\x4003\x0009", fMoreData, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents_Deprecated::FetchProgress ( long Progress, long MaxProgress, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x12, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0003\x0003\x4003\x0009", Progress, MaxProgress, adStatus, pRecordset); + return _result; +} + +inline HRESULT RecordsetEvents_Deprecated::FetchComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _result = 0; + _com_dispatch_method(this, 0x13, DISPATCH_METHOD, VT_ERROR, (void*)&_result, + L"\x0009\x4003\x0009", pError, adStatus, pRecordset); + return _result; +} + +// +// interface _Stream_Deprecated wrapper method implementations +// + +inline ADO_LONGPTR _Stream_Deprecated::GetSize ( ) { + ADO_LONGPTR _result; + HRESULT _hr = get_Size(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline VARIANT_BOOL _Stream_Deprecated::GetEOS ( ) { + VARIANT_BOOL _result = 0; + HRESULT _hr = get_EOS(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline ADO_LONGPTR _Stream_Deprecated::GetPosition ( ) { + ADO_LONGPTR _result; + HRESULT _hr = get_Position(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Stream_Deprecated::PutPosition ( ADO_LONGPTR pPos ) { + HRESULT _hr = put_Position(pPos); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum StreamTypeEnum _Stream_Deprecated::GetType ( ) { + enum StreamTypeEnum _result; + HRESULT _hr = get_Type(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Stream_Deprecated::PutType ( enum StreamTypeEnum ptype ) { + HRESULT _hr = put_Type(ptype); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum LineSeparatorEnum _Stream_Deprecated::GetLineSeparator ( ) { + enum LineSeparatorEnum _result; + HRESULT _hr = get_LineSeparator(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Stream_Deprecated::PutLineSeparator ( enum LineSeparatorEnum pLS ) { + HRESULT _hr = put_LineSeparator(pLS); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum ObjectStateEnum _Stream_Deprecated::GetState ( ) { + enum ObjectStateEnum _result; + HRESULT _hr = get_State(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline enum ConnectModeEnum _Stream_Deprecated::GetMode ( ) { + enum ConnectModeEnum _result; + HRESULT _hr = get_Mode(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Stream_Deprecated::PutMode ( enum ConnectModeEnum pMode ) { + HRESULT _hr = put_Mode(pMode); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t _Stream_Deprecated::GetCharset ( ) { + BSTR _result = 0; + HRESULT _hr = get_Charset(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void _Stream_Deprecated::PutCharset ( _bstr_t pbstrCharset ) { + HRESULT _hr = put_Charset(pbstrCharset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _variant_t _Stream_Deprecated::Read ( long NumBytes ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = raw_Read(NumBytes, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline HRESULT _Stream_Deprecated::Open ( const _variant_t & Source, enum ConnectModeEnum Mode, enum StreamOpenOptionsEnum Options, _bstr_t UserName, _bstr_t Password ) { + HRESULT _hr = raw_Open(Source, Mode, Options, UserName, Password); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream_Deprecated::Close ( ) { + HRESULT _hr = raw_Close(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream_Deprecated::SkipLine ( ) { + HRESULT _hr = raw_SkipLine(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream_Deprecated::Write ( const _variant_t & Buffer ) { + HRESULT _hr = raw_Write(Buffer); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream_Deprecated::SetEOS ( ) { + HRESULT _hr = raw_SetEOS(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream_Deprecated::CopyTo ( struct _Stream_Deprecated * DestStream, ADO_LONGPTR CharNumber ) { + HRESULT _hr = raw_CopyTo(DestStream, CharNumber); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream_Deprecated::Flush ( ) { + HRESULT _hr = raw_Flush(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream_Deprecated::SaveToFile ( _bstr_t FileName, enum SaveOptionsEnum Options ) { + HRESULT _hr = raw_SaveToFile(FileName, Options); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream_Deprecated::LoadFromFile ( _bstr_t FileName ) { + HRESULT _hr = raw_LoadFromFile(FileName); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline _bstr_t _Stream_Deprecated::ReadText ( long NumChars ) { + BSTR _result = 0; + HRESULT _hr = raw_ReadText(NumChars, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline HRESULT _Stream_Deprecated::WriteText ( _bstr_t Data, enum StreamWriteEnum Options ) { + HRESULT _hr = raw_WriteText(Data, Options); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Stream_Deprecated::Cancel ( ) { + HRESULT _hr = raw_Cancel(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface Field15_Deprecated wrapper method implementations +// + +inline ADO_LONGPTR Field15_Deprecated::GetActualSize ( ) { + ADO_LONGPTR _result; + HRESULT _hr = get_ActualSize(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline long Field15_Deprecated::GetAttributes ( ) { + long _result = 0; + HRESULT _hr = get_Attributes(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline ADO_LONGPTR Field15_Deprecated::GetDefinedSize ( ) { + ADO_LONGPTR _result; + HRESULT _hr = get_DefinedSize(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _bstr_t Field15_Deprecated::GetName ( ) { + BSTR _result = 0; + HRESULT _hr = get_Name(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline enum DataTypeEnum Field15_Deprecated::GetType ( ) { + enum DataTypeEnum _result; + HRESULT _hr = get_Type(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _variant_t Field15_Deprecated::GetValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Value(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void Field15_Deprecated::PutValue ( const _variant_t & pvar ) { + HRESULT _hr = put_Value(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline unsigned char Field15_Deprecated::GetPrecision ( ) { + unsigned char _result = 0; + HRESULT _hr = get_Precision(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline unsigned char Field15_Deprecated::GetNumericScale ( ) { + unsigned char _result = 0; + HRESULT _hr = get_NumericScale(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline HRESULT Field15_Deprecated::AppendChunk ( const _variant_t & Data ) { + HRESULT _hr = raw_AppendChunk(Data); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline _variant_t Field15_Deprecated::GetChunk ( long Length ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = raw_GetChunk(Length, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline _variant_t Field15_Deprecated::GetOriginalValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_OriginalValue(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline _variant_t Field15_Deprecated::GetUnderlyingValue ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_UnderlyingValue(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +// +// interface Command15 wrapper method implementations +// + +inline _ConnectionPtr Command15::GetActiveConnection ( ) { + struct _Connection * _result = 0; + HRESULT _hr = get_ActiveConnection(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _ConnectionPtr(_result, false); +} + +inline void Command15::PutRefActiveConnection ( struct _Connection * ppvObject ) { + HRESULT _hr = putref_ActiveConnection(ppvObject); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Command15::PutActiveConnection ( const _variant_t & ppvObject ) { + HRESULT _hr = put_ActiveConnection(ppvObject); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t Command15::GetCommandText ( ) { + BSTR _result = 0; + HRESULT _hr = get_CommandText(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void Command15::PutCommandText ( _bstr_t pbstr ) { + HRESULT _hr = put_CommandText(pbstr); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Command15::GetCommandTimeout ( ) { + long _result = 0; + HRESULT _hr = get_CommandTimeout(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Command15::PutCommandTimeout ( long pl ) { + HRESULT _hr = put_CommandTimeout(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline VARIANT_BOOL Command15::GetPrepared ( ) { + VARIANT_BOOL _result = 0; + HRESULT _hr = get_Prepared(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Command15::PutPrepared ( VARIANT_BOOL pfPrepared ) { + HRESULT _hr = put_Prepared(pfPrepared); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _RecordsetPtr Command15::Execute ( VARIANT * RecordsAffected, VARIANT * Parameters, long Options ) { + struct _Recordset * _result = 0; + HRESULT _hr = raw_Execute(RecordsAffected, Parameters, Options, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _RecordsetPtr(_result, false); +} + +inline _ParameterPtr Command15::CreateParameter ( _bstr_t Name, enum DataTypeEnum Type, enum ParameterDirectionEnum Direction, long Size, const _variant_t & Value ) { + struct _Parameter * _result = 0; + HRESULT _hr = raw_CreateParameter(Name, Type, Direction, Size, Value, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _ParameterPtr(_result, false); +} + +inline ParametersPtr Command15::GetParameters ( ) { + struct Parameters * _result = 0; + HRESULT _hr = get_Parameters(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return ParametersPtr(_result, false); +} + +inline void Command15::PutCommandType ( enum CommandTypeEnum plCmdType ) { + HRESULT _hr = put_CommandType(plCmdType); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum CommandTypeEnum Command15::GetCommandType ( ) { + enum CommandTypeEnum _result; + HRESULT _hr = get_CommandType(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _bstr_t Command15::GetName ( ) { + BSTR _result = 0; + HRESULT _hr = get_Name(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void Command15::PutName ( _bstr_t pbstrName ) { + HRESULT _hr = put_Name(pbstrName); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +// +// interface Command25 wrapper method implementations +// + +inline long Command25::GetState ( ) { + long _result = 0; + HRESULT _hr = get_State(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline HRESULT Command25::Cancel ( ) { + HRESULT _hr = raw_Cancel(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface _Command wrapper method implementations +// + +inline void _Command::PutRefCommandStream ( IUnknown * pvStream ) { + HRESULT _hr = putref_CommandStream(pvStream); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _variant_t _Command::GetCommandStream ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_CommandStream(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void _Command::PutDialect ( _bstr_t pbstrDialect ) { + HRESULT _hr = put_Dialect(pbstrDialect); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t _Command::GetDialect ( ) { + BSTR _result = 0; + HRESULT _hr = get_Dialect(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void _Command::PutNamedParameters ( VARIANT_BOOL pfNamedParameters ) { + HRESULT _hr = put_NamedParameters(pfNamedParameters); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline VARIANT_BOOL _Command::GetNamedParameters ( ) { + VARIANT_BOOL _result = 0; + HRESULT _hr = get_NamedParameters(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +// +// interface Connection15 wrapper method implementations +// + +inline _bstr_t Connection15::GetConnectionString ( ) { + BSTR _result = 0; + HRESULT _hr = get_ConnectionString(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void Connection15::PutConnectionString ( _bstr_t pbstr ) { + HRESULT _hr = put_ConnectionString(pbstr); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Connection15::GetCommandTimeout ( ) { + long _result = 0; + HRESULT _hr = get_CommandTimeout(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Connection15::PutCommandTimeout ( long plTimeout ) { + HRESULT _hr = put_CommandTimeout(plTimeout); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Connection15::GetConnectionTimeout ( ) { + long _result = 0; + HRESULT _hr = get_ConnectionTimeout(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Connection15::PutConnectionTimeout ( long plTimeout ) { + HRESULT _hr = put_ConnectionTimeout(plTimeout); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t Connection15::GetVersion ( ) { + BSTR _result = 0; + HRESULT _hr = get_Version(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline HRESULT Connection15::Close ( ) { + HRESULT _hr = raw_Close(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline _RecordsetPtr Connection15::Execute ( _bstr_t CommandText, VARIANT * RecordsAffected, long Options ) { + struct _Recordset * _result = 0; + HRESULT _hr = raw_Execute(CommandText, RecordsAffected, Options, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _RecordsetPtr(_result, false); +} + +inline long Connection15::BeginTrans ( ) { + long _result = 0; + HRESULT _hr = raw_BeginTrans(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline HRESULT Connection15::CommitTrans ( ) { + HRESULT _hr = raw_CommitTrans(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Connection15::RollbackTrans ( ) { + HRESULT _hr = raw_RollbackTrans(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Connection15::Open ( _bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long Options ) { + HRESULT _hr = raw_Open(ConnectionString, UserID, Password, Options); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline ErrorsPtr Connection15::GetErrors ( ) { + struct Errors * _result = 0; + HRESULT _hr = get_Errors(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return ErrorsPtr(_result, false); +} + +inline _bstr_t Connection15::GetDefaultDatabase ( ) { + BSTR _result = 0; + HRESULT _hr = get_DefaultDatabase(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void Connection15::PutDefaultDatabase ( _bstr_t pbstr ) { + HRESULT _hr = put_DefaultDatabase(pbstr); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum IsolationLevelEnum Connection15::GetIsolationLevel ( ) { + enum IsolationLevelEnum _result; + HRESULT _hr = get_IsolationLevel(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Connection15::PutIsolationLevel ( enum IsolationLevelEnum Level ) { + HRESULT _hr = put_IsolationLevel(Level); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Connection15::GetAttributes ( ) { + long _result = 0; + HRESULT _hr = get_Attributes(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Connection15::PutAttributes ( long plAttr ) { + HRESULT _hr = put_Attributes(plAttr); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum CursorLocationEnum Connection15::GetCursorLocation ( ) { + enum CursorLocationEnum _result; + HRESULT _hr = get_CursorLocation(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Connection15::PutCursorLocation ( enum CursorLocationEnum plCursorLoc ) { + HRESULT _hr = put_CursorLocation(plCursorLoc); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum ConnectModeEnum Connection15::GetMode ( ) { + enum ConnectModeEnum _result; + HRESULT _hr = get_Mode(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Connection15::PutMode ( enum ConnectModeEnum plMode ) { + HRESULT _hr = put_Mode(plMode); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t Connection15::GetProvider ( ) { + BSTR _result = 0; + HRESULT _hr = get_Provider(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void Connection15::PutProvider ( _bstr_t pbstr ) { + HRESULT _hr = put_Provider(pbstr); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Connection15::GetState ( ) { + long _result = 0; + HRESULT _hr = get_State(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _RecordsetPtr Connection15::OpenSchema ( enum SchemaEnum Schema, const _variant_t & Restrictions, const _variant_t & SchemaID ) { + struct _Recordset * _result = 0; + HRESULT _hr = raw_OpenSchema(Schema, Restrictions, SchemaID, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _RecordsetPtr(_result, false); +} + +// +// interface _Connection wrapper method implementations +// + +inline HRESULT _Connection::Cancel ( ) { + HRESULT _hr = raw_Cancel(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface Recordset15 wrapper method implementations +// + +inline enum PositionEnum Recordset15::GetAbsolutePosition ( ) { + enum PositionEnum _result; + HRESULT _hr = get_AbsolutePosition(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15::PutAbsolutePosition ( enum PositionEnum pl ) { + HRESULT _hr = put_AbsolutePosition(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Recordset15::PutRefActiveConnection ( IDispatch * pvar ) { + HRESULT _hr = putref_ActiveConnection(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Recordset15::PutActiveConnection ( const _variant_t & pvar ) { + HRESULT _hr = put_ActiveConnection(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _variant_t Recordset15::GetActiveConnection ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_ActiveConnection(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline VARIANT_BOOL Recordset15::GetBOF ( ) { + VARIANT_BOOL _result = 0; + HRESULT _hr = get_BOF(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _variant_t Recordset15::GetBookmark ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Bookmark(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void Recordset15::PutBookmark ( const _variant_t & pvBookmark ) { + HRESULT _hr = put_Bookmark(pvBookmark); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Recordset15::GetCacheSize ( ) { + long _result = 0; + HRESULT _hr = get_CacheSize(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15::PutCacheSize ( long pl ) { + HRESULT _hr = put_CacheSize(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum CursorTypeEnum Recordset15::GetCursorType ( ) { + enum CursorTypeEnum _result; + HRESULT _hr = get_CursorType(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15::PutCursorType ( enum CursorTypeEnum plCursorType ) { + HRESULT _hr = put_CursorType(plCursorType); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline VARIANT_BOOL Recordset15::GetadoEOF ( ) { + VARIANT_BOOL _result = 0; + HRESULT _hr = get_adoEOF(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline FieldsPtr Recordset15::GetFields ( ) { + struct Fields * _result = 0; + HRESULT _hr = get_Fields(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return FieldsPtr(_result, false); +} + +inline enum LockTypeEnum Recordset15::GetLockType ( ) { + enum LockTypeEnum _result; + HRESULT _hr = get_LockType(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15::PutLockType ( enum LockTypeEnum plLockType ) { + HRESULT _hr = put_LockType(plLockType); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Recordset15::GetMaxRecords ( ) { + long _result = 0; + HRESULT _hr = get_MaxRecords(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15::PutMaxRecords ( long plMaxRecords ) { + HRESULT _hr = put_MaxRecords(plMaxRecords); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Recordset15::GetRecordCount ( ) { + long _result = 0; + HRESULT _hr = get_RecordCount(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15::PutRefSource ( IDispatch * pvSource ) { + HRESULT _hr = putref_Source(pvSource); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Recordset15::PutSource ( _bstr_t pvSource ) { + HRESULT _hr = put_Source(pvSource); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _variant_t Recordset15::GetSource ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Source(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline HRESULT Recordset15::AddNew ( const _variant_t & FieldList, const _variant_t & Values ) { + HRESULT _hr = raw_AddNew(FieldList, Values); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15::CancelUpdate ( ) { + HRESULT _hr = raw_CancelUpdate(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15::Close ( ) { + HRESULT _hr = raw_Close(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15::Delete ( enum AffectEnum AffectRecords ) { + HRESULT _hr = raw_Delete(AffectRecords); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline _variant_t Recordset15::GetRows ( long Rows, const _variant_t & Start, const _variant_t & Fields ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = raw_GetRows(Rows, Start, Fields, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline HRESULT Recordset15::Move ( long NumRecords, const _variant_t & Start ) { + HRESULT _hr = raw_Move(NumRecords, Start); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15::MoveNext ( ) { + HRESULT _hr = raw_MoveNext(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15::MovePrevious ( ) { + HRESULT _hr = raw_MovePrevious(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15::MoveFirst ( ) { + HRESULT _hr = raw_MoveFirst(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15::MoveLast ( ) { + HRESULT _hr = raw_MoveLast(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15::Open ( const _variant_t & Source, const _variant_t & ActiveConnection, enum CursorTypeEnum CursorType, enum LockTypeEnum LockType, long Options ) { + HRESULT _hr = raw_Open(Source, ActiveConnection, CursorType, LockType, Options); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15::Requery ( long Options ) { + HRESULT _hr = raw_Requery(Options); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15::_xResync ( enum AffectEnum AffectRecords ) { + HRESULT _hr = raw__xResync(AffectRecords); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15::Update ( const _variant_t & Fields, const _variant_t & Values ) { + HRESULT _hr = raw_Update(Fields, Values); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline enum PositionEnum Recordset15::GetAbsolutePage ( ) { + enum PositionEnum _result; + HRESULT _hr = get_AbsolutePage(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15::PutAbsolutePage ( enum PositionEnum pl ) { + HRESULT _hr = put_AbsolutePage(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum EditModeEnum Recordset15::GetEditMode ( ) { + enum EditModeEnum _result; + HRESULT _hr = get_EditMode(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _variant_t Recordset15::GetFilter ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Filter(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void Recordset15::PutFilter ( const _variant_t & Criteria ) { + HRESULT _hr = put_Filter(Criteria); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Recordset15::GetPageCount ( ) { + long _result = 0; + HRESULT _hr = get_PageCount(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline long Recordset15::GetPageSize ( ) { + long _result = 0; + HRESULT _hr = get_PageSize(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15::PutPageSize ( long pl ) { + HRESULT _hr = put_PageSize(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t Recordset15::GetSort ( ) { + BSTR _result = 0; + HRESULT _hr = get_Sort(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void Recordset15::PutSort ( _bstr_t Criteria ) { + HRESULT _hr = put_Sort(Criteria); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Recordset15::GetStatus ( ) { + long _result = 0; + HRESULT _hr = get_Status(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline long Recordset15::GetState ( ) { + long _result = 0; + HRESULT _hr = get_State(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _RecordsetPtr Recordset15::_xClone ( ) { + struct _Recordset * _result = 0; + HRESULT _hr = raw__xClone(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _RecordsetPtr(_result, false); +} + +inline HRESULT Recordset15::UpdateBatch ( enum AffectEnum AffectRecords ) { + HRESULT _hr = raw_UpdateBatch(AffectRecords); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15::CancelBatch ( enum AffectEnum AffectRecords ) { + HRESULT _hr = raw_CancelBatch(AffectRecords); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline enum CursorLocationEnum Recordset15::GetCursorLocation ( ) { + enum CursorLocationEnum _result; + HRESULT _hr = get_CursorLocation(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15::PutCursorLocation ( enum CursorLocationEnum plCursorLoc ) { + HRESULT _hr = put_CursorLocation(plCursorLoc); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _RecordsetPtr Recordset15::NextRecordset ( VARIANT * RecordsAffected ) { + struct _Recordset * _result = 0; + HRESULT _hr = raw_NextRecordset(RecordsAffected, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _RecordsetPtr(_result, false); +} + +inline VARIANT_BOOL Recordset15::Supports ( enum CursorOptionEnum CursorOptions ) { + VARIANT_BOOL _result = 0; + HRESULT _hr = raw_Supports(CursorOptions, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _variant_t Recordset15::GetCollect ( const _variant_t & Index ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Collect(Index, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void Recordset15::PutCollect ( const _variant_t & Index, const _variant_t & pvar ) { + HRESULT _hr = put_Collect(Index, pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum MarshalOptionsEnum Recordset15::GetMarshalOptions ( ) { + enum MarshalOptionsEnum _result; + HRESULT _hr = get_MarshalOptions(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15::PutMarshalOptions ( enum MarshalOptionsEnum peMarshal ) { + HRESULT _hr = put_MarshalOptions(peMarshal); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline HRESULT Recordset15::Find ( _bstr_t Criteria, long SkipRecords, enum SearchDirectionEnum SearchDirection, const _variant_t & Start ) { + HRESULT _hr = raw_Find(Criteria, SkipRecords, SearchDirection, Start); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface Recordset20 wrapper method implementations +// + +inline HRESULT Recordset20::Cancel ( ) { + HRESULT _hr = raw_Cancel(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline IUnknownPtr Recordset20::GetDataSource ( ) { + IUnknown * _result = 0; + HRESULT _hr = get_DataSource(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return IUnknownPtr(_result, false); +} + +inline void Recordset20::PutRefDataSource ( IUnknown * ppunkDataSource ) { + HRESULT _hr = putref_DataSource(ppunkDataSource); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline HRESULT Recordset20::_xSave ( _bstr_t FileName, enum PersistFormatEnum PersistFormat ) { + HRESULT _hr = raw__xSave(FileName, PersistFormat); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline IDispatchPtr Recordset20::GetActiveCommand ( ) { + IDispatch * _result = 0; + HRESULT _hr = get_ActiveCommand(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return IDispatchPtr(_result, false); +} + +inline void Recordset20::PutStayInSync ( VARIANT_BOOL pbStayInSync ) { + HRESULT _hr = put_StayInSync(pbStayInSync); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline VARIANT_BOOL Recordset20::GetStayInSync ( ) { + VARIANT_BOOL _result = 0; + HRESULT _hr = get_StayInSync(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _bstr_t Recordset20::GetString ( enum StringFormatEnum StringFormat, long NumRows, _bstr_t ColumnDelimeter, _bstr_t RowDelimeter, _bstr_t NullExpr ) { + BSTR _result = 0; + HRESULT _hr = raw_GetString(StringFormat, NumRows, ColumnDelimeter, RowDelimeter, NullExpr, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline _bstr_t Recordset20::GetDataMember ( ) { + BSTR _result = 0; + HRESULT _hr = get_DataMember(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void Recordset20::PutDataMember ( _bstr_t pbstrDataMember ) { + HRESULT _hr = put_DataMember(pbstrDataMember); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum CompareEnum Recordset20::CompareBookmarks ( const _variant_t & Bookmark1, const _variant_t & Bookmark2 ) { + enum CompareEnum _result; + HRESULT _hr = raw_CompareBookmarks(Bookmark1, Bookmark2, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _RecordsetPtr Recordset20::Clone ( enum LockTypeEnum LockType ) { + struct _Recordset * _result = 0; + HRESULT _hr = raw_Clone(LockType, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _RecordsetPtr(_result, false); +} + +inline HRESULT Recordset20::Resync ( enum AffectEnum AffectRecords, enum ResyncEnum ResyncValues ) { + HRESULT _hr = raw_Resync(AffectRecords, ResyncValues); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface Recordset21 wrapper method implementations +// + +inline HRESULT Recordset21::Seek ( const _variant_t & KeyValues, enum SeekEnum SeekOption ) { + HRESULT _hr = raw_Seek(KeyValues, SeekOption); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline void Recordset21::PutIndex ( _bstr_t pbstrIndex ) { + HRESULT _hr = put_Index(pbstrIndex); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t Recordset21::GetIndex ( ) { + BSTR _result = 0; + HRESULT _hr = get_Index(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +// +// interface _Recordset wrapper method implementations +// + +inline HRESULT _Recordset::Save ( const _variant_t & Destination, enum PersistFormatEnum PersistFormat ) { + HRESULT _hr = raw_Save(Destination, PersistFormat); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface ConnectionEventsVt wrapper method implementations +// + +inline HRESULT ConnectionEventsVt::InfoMessage ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection ) { + HRESULT _hr = raw_InfoMessage(pError, adStatus, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt::BeginTransComplete ( long TransactionLevel, struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection ) { + HRESULT _hr = raw_BeginTransComplete(TransactionLevel, pError, adStatus, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt::CommitTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection ) { + HRESULT _hr = raw_CommitTransComplete(pError, adStatus, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt::RollbackTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection ) { + HRESULT _hr = raw_RollbackTransComplete(pError, adStatus, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt::WillExecute ( BSTR * Source, enum CursorTypeEnum * CursorType, enum LockTypeEnum * LockType, long * Options, enum EventStatusEnum * adStatus, struct _Command * pCommand, struct _Recordset * pRecordset, struct _Connection * pConnection ) { + HRESULT _hr = raw_WillExecute(Source, CursorType, LockType, Options, adStatus, pCommand, pRecordset, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt::ExecuteComplete ( long RecordsAffected, struct Error * pError, enum EventStatusEnum * adStatus, struct _Command * pCommand, struct _Recordset * pRecordset, struct _Connection * pConnection ) { + HRESULT _hr = raw_ExecuteComplete(RecordsAffected, pError, adStatus, pCommand, pRecordset, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt::WillConnect ( BSTR * ConnectionString, BSTR * UserID, BSTR * Password, long * Options, enum EventStatusEnum * adStatus, struct _Connection * pConnection ) { + HRESULT _hr = raw_WillConnect(ConnectionString, UserID, Password, Options, adStatus, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt::ConnectComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection * pConnection ) { + HRESULT _hr = raw_ConnectComplete(pError, adStatus, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt::Disconnect ( enum EventStatusEnum * adStatus, struct _Connection * pConnection ) { + HRESULT _hr = raw_Disconnect(adStatus, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface RecordsetEventsVt wrapper method implementations +// + +inline HRESULT RecordsetEventsVt::WillChangeField ( long cFields, const _variant_t & Fields, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _hr = raw_WillChangeField(cFields, Fields, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt::FieldChangeComplete ( long cFields, const _variant_t & Fields, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _hr = raw_FieldChangeComplete(cFields, Fields, pError, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt::WillChangeRecord ( enum EventReasonEnum adReason, long cRecords, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _hr = raw_WillChangeRecord(adReason, cRecords, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt::RecordChangeComplete ( enum EventReasonEnum adReason, long cRecords, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _hr = raw_RecordChangeComplete(adReason, cRecords, pError, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt::WillChangeRecordset ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _hr = raw_WillChangeRecordset(adReason, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt::RecordsetChangeComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _hr = raw_RecordsetChangeComplete(adReason, pError, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt::WillMove ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _hr = raw_WillMove(adReason, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt::MoveComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _hr = raw_MoveComplete(adReason, pError, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt::EndOfRecordset ( VARIANT_BOOL * fMoreData, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _hr = raw_EndOfRecordset(fMoreData, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt::FetchProgress ( long Progress, long MaxProgress, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _hr = raw_FetchProgress(Progress, MaxProgress, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt::FetchComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset * pRecordset ) { + HRESULT _hr = raw_FetchComplete(pError, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface _Record wrapper method implementations +// + +inline _variant_t _Record::GetActiveConnection ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_ActiveConnection(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void _Record::PutActiveConnection ( _bstr_t pvar ) { + HRESULT _hr = put_ActiveConnection(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void _Record::PutRefActiveConnection ( struct _Connection * pvar ) { + HRESULT _hr = putref_ActiveConnection(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum ObjectStateEnum _Record::GetState ( ) { + enum ObjectStateEnum _result; + HRESULT _hr = get_State(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _variant_t _Record::GetSource ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Source(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void _Record::PutSource ( _bstr_t pvar ) { + HRESULT _hr = put_Source(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void _Record::PutRefSource ( IDispatch * pvar ) { + HRESULT _hr = putref_Source(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum ConnectModeEnum _Record::GetMode ( ) { + enum ConnectModeEnum _result; + HRESULT _hr = get_Mode(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Record::PutMode ( enum ConnectModeEnum pMode ) { + HRESULT _hr = put_Mode(pMode); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t _Record::GetParentURL ( ) { + BSTR _result = 0; + HRESULT _hr = get_ParentURL(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline _bstr_t _Record::MoveRecord ( _bstr_t Source, _bstr_t Destination, _bstr_t UserName, _bstr_t Password, enum MoveRecordOptionsEnum Options, VARIANT_BOOL Async ) { + BSTR _result = 0; + HRESULT _hr = raw_MoveRecord(Source, Destination, UserName, Password, Options, Async, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline _bstr_t _Record::CopyRecord ( _bstr_t Source, _bstr_t Destination, _bstr_t UserName, _bstr_t Password, enum CopyRecordOptionsEnum Options, VARIANT_BOOL Async ) { + BSTR _result = 0; + HRESULT _hr = raw_CopyRecord(Source, Destination, UserName, Password, Options, Async, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline HRESULT _Record::DeleteRecord ( _bstr_t Source, VARIANT_BOOL Async ) { + HRESULT _hr = raw_DeleteRecord(Source, Async); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Record::Open ( const _variant_t & Source, const _variant_t & ActiveConnection, enum ConnectModeEnum Mode, enum RecordCreateOptionsEnum CreateOptions, enum RecordOpenOptionsEnum Options, _bstr_t UserName, _bstr_t Password ) { + HRESULT _hr = raw_Open(Source, ActiveConnection, Mode, CreateOptions, Options, UserName, Password); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Record::Close ( ) { + HRESULT _hr = raw_Close(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline FieldsPtr _Record::GetFields ( ) { + struct Fields * _result = 0; + HRESULT _hr = get_Fields(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return FieldsPtr(_result, false); +} + +inline enum RecordTypeEnum _Record::GetRecordType ( ) { + enum RecordTypeEnum _result; + HRESULT _hr = get_RecordType(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _RecordsetPtr _Record::GetChildren ( ) { + struct _Recordset * _result = 0; + HRESULT _hr = raw_GetChildren(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _RecordsetPtr(_result, false); +} + +inline HRESULT _Record::Cancel ( ) { + HRESULT _hr = raw_Cancel(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface ConnectionEventsVt_Deprecated wrapper method implementations +// + +inline HRESULT ConnectionEventsVt_Deprecated::InfoMessage ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection ) { + HRESULT _hr = raw_InfoMessage(pError, adStatus, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt_Deprecated::BeginTransComplete ( long TransactionLevel, struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection ) { + HRESULT _hr = raw_BeginTransComplete(TransactionLevel, pError, adStatus, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt_Deprecated::CommitTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection ) { + HRESULT _hr = raw_CommitTransComplete(pError, adStatus, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt_Deprecated::RollbackTransComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection ) { + HRESULT _hr = raw_RollbackTransComplete(pError, adStatus, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt_Deprecated::WillExecute ( BSTR * Source, enum CursorTypeEnum * CursorType, enum LockTypeEnum * LockType, long * Options, enum EventStatusEnum * adStatus, struct _Command_Deprecated * pCommand, struct _Recordset_Deprecated * pRecordset, struct _Connection_Deprecated * pConnection ) { + HRESULT _hr = raw_WillExecute(Source, CursorType, LockType, Options, adStatus, pCommand, pRecordset, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt_Deprecated::ExecuteComplete ( long RecordsAffected, struct Error * pError, enum EventStatusEnum * adStatus, struct _Command_Deprecated * pCommand, struct _Recordset_Deprecated * pRecordset, struct _Connection_Deprecated * pConnection ) { + HRESULT _hr = raw_ExecuteComplete(RecordsAffected, pError, adStatus, pCommand, pRecordset, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt_Deprecated::WillConnect ( BSTR * ConnectionString, BSTR * UserID, BSTR * Password, long * Options, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection ) { + HRESULT _hr = raw_WillConnect(ConnectionString, UserID, Password, Options, adStatus, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt_Deprecated::ConnectComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection ) { + HRESULT _hr = raw_ConnectComplete(pError, adStatus, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT ConnectionEventsVt_Deprecated::Disconnect ( enum EventStatusEnum * adStatus, struct _Connection_Deprecated * pConnection ) { + HRESULT _hr = raw_Disconnect(adStatus, pConnection); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface Connection15_Deprecated wrapper method implementations +// + +inline _bstr_t Connection15_Deprecated::GetConnectionString ( ) { + BSTR _result = 0; + HRESULT _hr = get_ConnectionString(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void Connection15_Deprecated::PutConnectionString ( _bstr_t pbstr ) { + HRESULT _hr = put_ConnectionString(pbstr); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Connection15_Deprecated::GetCommandTimeout ( ) { + long _result = 0; + HRESULT _hr = get_CommandTimeout(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Connection15_Deprecated::PutCommandTimeout ( long plTimeout ) { + HRESULT _hr = put_CommandTimeout(plTimeout); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Connection15_Deprecated::GetConnectionTimeout ( ) { + long _result = 0; + HRESULT _hr = get_ConnectionTimeout(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Connection15_Deprecated::PutConnectionTimeout ( long plTimeout ) { + HRESULT _hr = put_ConnectionTimeout(plTimeout); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t Connection15_Deprecated::GetVersion ( ) { + BSTR _result = 0; + HRESULT _hr = get_Version(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline HRESULT Connection15_Deprecated::Close ( ) { + HRESULT _hr = raw_Close(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline _Recordset_DeprecatedPtr Connection15_Deprecated::Execute ( _bstr_t CommandText, VARIANT * RecordsAffected, long Options ) { + struct _Recordset_Deprecated * _result = 0; + HRESULT _hr = raw_Execute(CommandText, RecordsAffected, Options, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _Recordset_DeprecatedPtr(_result, false); +} + +inline long Connection15_Deprecated::BeginTrans ( ) { + long _result = 0; + HRESULT _hr = raw_BeginTrans(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline HRESULT Connection15_Deprecated::CommitTrans ( ) { + HRESULT _hr = raw_CommitTrans(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Connection15_Deprecated::RollbackTrans ( ) { + HRESULT _hr = raw_RollbackTrans(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Connection15_Deprecated::Open ( _bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long Options ) { + HRESULT _hr = raw_Open(ConnectionString, UserID, Password, Options); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline ErrorsPtr Connection15_Deprecated::GetErrors ( ) { + struct Errors * _result = 0; + HRESULT _hr = get_Errors(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return ErrorsPtr(_result, false); +} + +inline _bstr_t Connection15_Deprecated::GetDefaultDatabase ( ) { + BSTR _result = 0; + HRESULT _hr = get_DefaultDatabase(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void Connection15_Deprecated::PutDefaultDatabase ( _bstr_t pbstr ) { + HRESULT _hr = put_DefaultDatabase(pbstr); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum IsolationLevelEnum Connection15_Deprecated::GetIsolationLevel ( ) { + enum IsolationLevelEnum _result; + HRESULT _hr = get_IsolationLevel(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Connection15_Deprecated::PutIsolationLevel ( enum IsolationLevelEnum Level ) { + HRESULT _hr = put_IsolationLevel(Level); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Connection15_Deprecated::GetAttributes ( ) { + long _result = 0; + HRESULT _hr = get_Attributes(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Connection15_Deprecated::PutAttributes ( long plAttr ) { + HRESULT _hr = put_Attributes(plAttr); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum CursorLocationEnum Connection15_Deprecated::GetCursorLocation ( ) { + enum CursorLocationEnum _result; + HRESULT _hr = get_CursorLocation(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Connection15_Deprecated::PutCursorLocation ( enum CursorLocationEnum plCursorLoc ) { + HRESULT _hr = put_CursorLocation(plCursorLoc); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum ConnectModeEnum Connection15_Deprecated::GetMode ( ) { + enum ConnectModeEnum _result; + HRESULT _hr = get_Mode(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Connection15_Deprecated::PutMode ( enum ConnectModeEnum plMode ) { + HRESULT _hr = put_Mode(plMode); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t Connection15_Deprecated::GetProvider ( ) { + BSTR _result = 0; + HRESULT _hr = get_Provider(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void Connection15_Deprecated::PutProvider ( _bstr_t pbstr ) { + HRESULT _hr = put_Provider(pbstr); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Connection15_Deprecated::GetState ( ) { + long _result = 0; + HRESULT _hr = get_State(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _Recordset_DeprecatedPtr Connection15_Deprecated::OpenSchema ( enum SchemaEnum Schema, const _variant_t & Restrictions, const _variant_t & SchemaID ) { + struct _Recordset_Deprecated * _result = 0; + HRESULT _hr = raw_OpenSchema(Schema, Restrictions, SchemaID, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _Recordset_DeprecatedPtr(_result, false); +} + +// +// interface _Connection_Deprecated wrapper method implementations +// + +inline HRESULT _Connection_Deprecated::Cancel ( ) { + HRESULT _hr = raw_Cancel(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface Recordset15_Deprecated wrapper method implementations +// + +inline PositionEnum_Param Recordset15_Deprecated::GetAbsolutePosition ( ) { + PositionEnum_Param _result; + HRESULT _hr = get_AbsolutePosition(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15_Deprecated::PutAbsolutePosition ( PositionEnum_Param pl ) { + HRESULT _hr = put_AbsolutePosition(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Recordset15_Deprecated::PutRefActiveConnection ( IDispatch * pvar ) { + HRESULT _hr = putref_ActiveConnection(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Recordset15_Deprecated::PutActiveConnection ( const _variant_t & pvar ) { + HRESULT _hr = put_ActiveConnection(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _variant_t Recordset15_Deprecated::GetActiveConnection ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_ActiveConnection(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline VARIANT_BOOL Recordset15_Deprecated::GetBOF ( ) { + VARIANT_BOOL _result = 0; + HRESULT _hr = get_BOF(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _variant_t Recordset15_Deprecated::GetBookmark ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Bookmark(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void Recordset15_Deprecated::PutBookmark ( const _variant_t & pvBookmark ) { + HRESULT _hr = put_Bookmark(pvBookmark); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Recordset15_Deprecated::GetCacheSize ( ) { + long _result = 0; + HRESULT _hr = get_CacheSize(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15_Deprecated::PutCacheSize ( long pl ) { + HRESULT _hr = put_CacheSize(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum CursorTypeEnum Recordset15_Deprecated::GetCursorType ( ) { + enum CursorTypeEnum _result; + HRESULT _hr = get_CursorType(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15_Deprecated::PutCursorType ( enum CursorTypeEnum plCursorType ) { + HRESULT _hr = put_CursorType(plCursorType); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline VARIANT_BOOL Recordset15_Deprecated::GetadoEOF ( ) { + VARIANT_BOOL _result = 0; + HRESULT _hr = get_adoEOF(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline Fields_DeprecatedPtr Recordset15_Deprecated::GetFields ( ) { + struct Fields_Deprecated * _result = 0; + HRESULT _hr = get_Fields(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return Fields_DeprecatedPtr(_result, false); +} + +inline enum LockTypeEnum Recordset15_Deprecated::GetLockType ( ) { + enum LockTypeEnum _result; + HRESULT _hr = get_LockType(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15_Deprecated::PutLockType ( enum LockTypeEnum plLockType ) { + HRESULT _hr = put_LockType(plLockType); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline ADO_LONGPTR Recordset15_Deprecated::GetMaxRecords ( ) { + ADO_LONGPTR _result; + HRESULT _hr = get_MaxRecords(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15_Deprecated::PutMaxRecords ( ADO_LONGPTR plMaxRecords ) { + HRESULT _hr = put_MaxRecords(plMaxRecords); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline ADO_LONGPTR Recordset15_Deprecated::GetRecordCount ( ) { + ADO_LONGPTR _result; + HRESULT _hr = get_RecordCount(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15_Deprecated::PutRefSource ( IDispatch * pvSource ) { + HRESULT _hr = putref_Source(pvSource); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Recordset15_Deprecated::PutSource ( _bstr_t pvSource ) { + HRESULT _hr = put_Source(pvSource); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _variant_t Recordset15_Deprecated::GetSource ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Source(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline HRESULT Recordset15_Deprecated::AddNew ( const _variant_t & FieldList, const _variant_t & Values ) { + HRESULT _hr = raw_AddNew(FieldList, Values); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15_Deprecated::CancelUpdate ( ) { + HRESULT _hr = raw_CancelUpdate(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15_Deprecated::Close ( ) { + HRESULT _hr = raw_Close(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15_Deprecated::Delete ( enum AffectEnum AffectRecords ) { + HRESULT _hr = raw_Delete(AffectRecords); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline _variant_t Recordset15_Deprecated::GetRows ( long Rows, const _variant_t & Start, const _variant_t & Fields ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = raw_GetRows(Rows, Start, Fields, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline HRESULT Recordset15_Deprecated::Move ( ADO_LONGPTR NumRecords, const _variant_t & Start ) { + HRESULT _hr = raw_Move(NumRecords, Start); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15_Deprecated::MoveNext ( ) { + HRESULT _hr = raw_MoveNext(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15_Deprecated::MovePrevious ( ) { + HRESULT _hr = raw_MovePrevious(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15_Deprecated::MoveFirst ( ) { + HRESULT _hr = raw_MoveFirst(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15_Deprecated::MoveLast ( ) { + HRESULT _hr = raw_MoveLast(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15_Deprecated::Open ( const _variant_t & Source, const _variant_t & ActiveConnection, enum CursorTypeEnum CursorType, enum LockTypeEnum LockType, long Options ) { + HRESULT _hr = raw_Open(Source, ActiveConnection, CursorType, LockType, Options); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15_Deprecated::Requery ( long Options ) { + HRESULT _hr = raw_Requery(Options); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15_Deprecated::_xResync ( enum AffectEnum AffectRecords ) { + HRESULT _hr = raw__xResync(AffectRecords); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15_Deprecated::Update ( const _variant_t & Fields, const _variant_t & Values ) { + HRESULT _hr = raw_Update(Fields, Values); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline PositionEnum_Param Recordset15_Deprecated::GetAbsolutePage ( ) { + PositionEnum_Param _result; + HRESULT _hr = get_AbsolutePage(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15_Deprecated::PutAbsolutePage ( PositionEnum_Param pl ) { + HRESULT _hr = put_AbsolutePage(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum EditModeEnum Recordset15_Deprecated::GetEditMode ( ) { + enum EditModeEnum _result; + HRESULT _hr = get_EditMode(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _variant_t Recordset15_Deprecated::GetFilter ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Filter(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void Recordset15_Deprecated::PutFilter ( const _variant_t & Criteria ) { + HRESULT _hr = put_Filter(Criteria); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline ADO_LONGPTR Recordset15_Deprecated::GetPageCount ( ) { + ADO_LONGPTR _result; + HRESULT _hr = get_PageCount(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline long Recordset15_Deprecated::GetPageSize ( ) { + long _result = 0; + HRESULT _hr = get_PageSize(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15_Deprecated::PutPageSize ( long pl ) { + HRESULT _hr = put_PageSize(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t Recordset15_Deprecated::GetSort ( ) { + BSTR _result = 0; + HRESULT _hr = get_Sort(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void Recordset15_Deprecated::PutSort ( _bstr_t Criteria ) { + HRESULT _hr = put_Sort(Criteria); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Recordset15_Deprecated::GetStatus ( ) { + long _result = 0; + HRESULT _hr = get_Status(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline long Recordset15_Deprecated::GetState ( ) { + long _result = 0; + HRESULT _hr = get_State(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _Recordset_DeprecatedPtr Recordset15_Deprecated::_xClone ( ) { + struct _Recordset_Deprecated * _result = 0; + HRESULT _hr = raw__xClone(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _Recordset_DeprecatedPtr(_result, false); +} + +inline HRESULT Recordset15_Deprecated::UpdateBatch ( enum AffectEnum AffectRecords ) { + HRESULT _hr = raw_UpdateBatch(AffectRecords); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT Recordset15_Deprecated::CancelBatch ( enum AffectEnum AffectRecords ) { + HRESULT _hr = raw_CancelBatch(AffectRecords); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline enum CursorLocationEnum Recordset15_Deprecated::GetCursorLocation ( ) { + enum CursorLocationEnum _result; + HRESULT _hr = get_CursorLocation(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15_Deprecated::PutCursorLocation ( enum CursorLocationEnum plCursorLoc ) { + HRESULT _hr = put_CursorLocation(plCursorLoc); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _Recordset_DeprecatedPtr Recordset15_Deprecated::NextRecordset ( VARIANT * RecordsAffected ) { + struct _Recordset_Deprecated * _result = 0; + HRESULT _hr = raw_NextRecordset(RecordsAffected, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _Recordset_DeprecatedPtr(_result, false); +} + +inline VARIANT_BOOL Recordset15_Deprecated::Supports ( enum CursorOptionEnum CursorOptions ) { + VARIANT_BOOL _result = 0; + HRESULT _hr = raw_Supports(CursorOptions, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _variant_t Recordset15_Deprecated::GetCollect ( const _variant_t & Index ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Collect(Index, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void Recordset15_Deprecated::PutCollect ( const _variant_t & Index, const _variant_t & pvar ) { + HRESULT _hr = put_Collect(Index, pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum MarshalOptionsEnum Recordset15_Deprecated::GetMarshalOptions ( ) { + enum MarshalOptionsEnum _result; + HRESULT _hr = get_MarshalOptions(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Recordset15_Deprecated::PutMarshalOptions ( enum MarshalOptionsEnum peMarshal ) { + HRESULT _hr = put_MarshalOptions(peMarshal); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline HRESULT Recordset15_Deprecated::Find ( _bstr_t Criteria, ADO_LONGPTR SkipRecords, enum SearchDirectionEnum SearchDirection, const _variant_t & Start ) { + HRESULT _hr = raw_Find(Criteria, SkipRecords, SearchDirection, Start); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface Recordset20_Deprecated wrapper method implementations +// + +inline HRESULT Recordset20_Deprecated::Cancel ( ) { + HRESULT _hr = raw_Cancel(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline IUnknownPtr Recordset20_Deprecated::GetDataSource ( ) { + IUnknown * _result = 0; + HRESULT _hr = get_DataSource(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return IUnknownPtr(_result, false); +} + +inline void Recordset20_Deprecated::PutRefDataSource ( IUnknown * ppunkDataSource ) { + HRESULT _hr = putref_DataSource(ppunkDataSource); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline HRESULT Recordset20_Deprecated::_xSave ( _bstr_t FileName, enum PersistFormatEnum PersistFormat ) { + HRESULT _hr = raw__xSave(FileName, PersistFormat); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline IDispatchPtr Recordset20_Deprecated::GetActiveCommand ( ) { + IDispatch * _result = 0; + HRESULT _hr = get_ActiveCommand(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return IDispatchPtr(_result, false); +} + +inline void Recordset20_Deprecated::PutStayInSync ( VARIANT_BOOL pbStayInSync ) { + HRESULT _hr = put_StayInSync(pbStayInSync); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline VARIANT_BOOL Recordset20_Deprecated::GetStayInSync ( ) { + VARIANT_BOOL _result = 0; + HRESULT _hr = get_StayInSync(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _bstr_t Recordset20_Deprecated::GetString ( enum StringFormatEnum StringFormat, long NumRows, _bstr_t ColumnDelimeter, _bstr_t RowDelimeter, _bstr_t NullExpr ) { + BSTR _result = 0; + HRESULT _hr = raw_GetString(StringFormat, NumRows, ColumnDelimeter, RowDelimeter, NullExpr, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline _bstr_t Recordset20_Deprecated::GetDataMember ( ) { + BSTR _result = 0; + HRESULT _hr = get_DataMember(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void Recordset20_Deprecated::PutDataMember ( _bstr_t pbstrDataMember ) { + HRESULT _hr = put_DataMember(pbstrDataMember); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum CompareEnum Recordset20_Deprecated::CompareBookmarks ( const _variant_t & Bookmark1, const _variant_t & Bookmark2 ) { + enum CompareEnum _result; + HRESULT _hr = raw_CompareBookmarks(Bookmark1, Bookmark2, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _Recordset_DeprecatedPtr Recordset20_Deprecated::Clone ( enum LockTypeEnum LockType ) { + struct _Recordset_Deprecated * _result = 0; + HRESULT _hr = raw_Clone(LockType, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _Recordset_DeprecatedPtr(_result, false); +} + +inline HRESULT Recordset20_Deprecated::Resync ( enum AffectEnum AffectRecords, enum ResyncEnum ResyncValues ) { + HRESULT _hr = raw_Resync(AffectRecords, ResyncValues); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface Recordset21_Deprecated wrapper method implementations +// + +inline HRESULT Recordset21_Deprecated::Seek ( const _variant_t & KeyValues, enum SeekEnum SeekOption ) { + HRESULT _hr = raw_Seek(KeyValues, SeekOption); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline void Recordset21_Deprecated::PutIndex ( _bstr_t pbstrIndex ) { + HRESULT _hr = put_Index(pbstrIndex); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t Recordset21_Deprecated::GetIndex ( ) { + BSTR _result = 0; + HRESULT _hr = get_Index(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +// +// interface _Recordset_Deprecated wrapper method implementations +// + +inline HRESULT _Recordset_Deprecated::Save ( const _variant_t & Destination, enum PersistFormatEnum PersistFormat ) { + HRESULT _hr = raw_Save(Destination, PersistFormat); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface Command15_Deprecated wrapper method implementations +// + +inline _Connection_DeprecatedPtr Command15_Deprecated::GetActiveConnection ( ) { + struct _Connection_Deprecated * _result = 0; + HRESULT _hr = get_ActiveConnection(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _Connection_DeprecatedPtr(_result, false); +} + +inline void Command15_Deprecated::PutRefActiveConnection ( struct _Connection_Deprecated * ppvObject ) { + HRESULT _hr = putref_ActiveConnection(ppvObject); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void Command15_Deprecated::PutActiveConnection ( const _variant_t & ppvObject ) { + HRESULT _hr = put_ActiveConnection(ppvObject); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t Command15_Deprecated::GetCommandText ( ) { + BSTR _result = 0; + HRESULT _hr = get_CommandText(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void Command15_Deprecated::PutCommandText ( _bstr_t pbstr ) { + HRESULT _hr = put_CommandText(pbstr); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline long Command15_Deprecated::GetCommandTimeout ( ) { + long _result = 0; + HRESULT _hr = get_CommandTimeout(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Command15_Deprecated::PutCommandTimeout ( long pl ) { + HRESULT _hr = put_CommandTimeout(pl); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline VARIANT_BOOL Command15_Deprecated::GetPrepared ( ) { + VARIANT_BOOL _result = 0; + HRESULT _hr = get_Prepared(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void Command15_Deprecated::PutPrepared ( VARIANT_BOOL pfPrepared ) { + HRESULT _hr = put_Prepared(pfPrepared); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _Recordset_DeprecatedPtr Command15_Deprecated::Execute ( VARIANT * RecordsAffected, VARIANT * Parameters, long Options ) { + struct _Recordset_Deprecated * _result = 0; + HRESULT _hr = raw_Execute(RecordsAffected, Parameters, Options, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _Recordset_DeprecatedPtr(_result, false); +} + +inline _Parameter_DeprecatedPtr Command15_Deprecated::CreateParameter ( _bstr_t Name, enum DataTypeEnum Type, enum ParameterDirectionEnum Direction, ADO_LONGPTR Size, const _variant_t & Value ) { + struct _Parameter_Deprecated * _result = 0; + HRESULT _hr = raw_CreateParameter(Name, Type, Direction, Size, Value, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _Parameter_DeprecatedPtr(_result, false); +} + +inline Parameters_DeprecatedPtr Command15_Deprecated::GetParameters ( ) { + struct Parameters_Deprecated * _result = 0; + HRESULT _hr = get_Parameters(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return Parameters_DeprecatedPtr(_result, false); +} + +inline void Command15_Deprecated::PutCommandType ( enum CommandTypeEnum plCmdType ) { + HRESULT _hr = put_CommandType(plCmdType); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum CommandTypeEnum Command15_Deprecated::GetCommandType ( ) { + enum CommandTypeEnum _result; + HRESULT _hr = get_CommandType(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _bstr_t Command15_Deprecated::GetName ( ) { + BSTR _result = 0; + HRESULT _hr = get_Name(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void Command15_Deprecated::PutName ( _bstr_t pbstrName ) { + HRESULT _hr = put_Name(pbstrName); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +// +// interface Command25_Deprecated wrapper method implementations +// + +inline long Command25_Deprecated::GetState ( ) { + long _result = 0; + HRESULT _hr = get_State(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline HRESULT Command25_Deprecated::Cancel ( ) { + HRESULT _hr = raw_Cancel(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface _Command_Deprecated wrapper method implementations +// + +inline void _Command_Deprecated::PutRefCommandStream ( IUnknown * pvStream ) { + HRESULT _hr = putref_CommandStream(pvStream); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _variant_t _Command_Deprecated::GetCommandStream ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_CommandStream(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void _Command_Deprecated::PutDialect ( _bstr_t pbstrDialect ) { + HRESULT _hr = put_Dialect(pbstrDialect); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t _Command_Deprecated::GetDialect ( ) { + BSTR _result = 0; + HRESULT _hr = get_Dialect(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline void _Command_Deprecated::PutNamedParameters ( VARIANT_BOOL pfNamedParameters ) { + HRESULT _hr = put_NamedParameters(pfNamedParameters); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline VARIANT_BOOL _Command_Deprecated::GetNamedParameters ( ) { + VARIANT_BOOL _result = 0; + HRESULT _hr = get_NamedParameters(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +// +// interface RecordsetEventsVt_Deprecated wrapper method implementations +// + +inline HRESULT RecordsetEventsVt_Deprecated::WillChangeField ( long cFields, const _variant_t & Fields, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _hr = raw_WillChangeField(cFields, Fields, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt_Deprecated::FieldChangeComplete ( long cFields, const _variant_t & Fields, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _hr = raw_FieldChangeComplete(cFields, Fields, pError, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt_Deprecated::WillChangeRecord ( enum EventReasonEnum adReason, long cRecords, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _hr = raw_WillChangeRecord(adReason, cRecords, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt_Deprecated::RecordChangeComplete ( enum EventReasonEnum adReason, long cRecords, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _hr = raw_RecordChangeComplete(adReason, cRecords, pError, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt_Deprecated::WillChangeRecordset ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _hr = raw_WillChangeRecordset(adReason, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt_Deprecated::RecordsetChangeComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _hr = raw_RecordsetChangeComplete(adReason, pError, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt_Deprecated::WillMove ( enum EventReasonEnum adReason, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _hr = raw_WillMove(adReason, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt_Deprecated::MoveComplete ( enum EventReasonEnum adReason, struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _hr = raw_MoveComplete(adReason, pError, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt_Deprecated::EndOfRecordset ( VARIANT_BOOL * fMoreData, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _hr = raw_EndOfRecordset(fMoreData, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt_Deprecated::FetchProgress ( long Progress, long MaxProgress, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _hr = raw_FetchProgress(Progress, MaxProgress, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT RecordsetEventsVt_Deprecated::FetchComplete ( struct Error * pError, enum EventStatusEnum * adStatus, struct _Recordset_Deprecated * pRecordset ) { + HRESULT _hr = raw_FetchComplete(pError, adStatus, pRecordset); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +// +// interface _Record_Deprecated wrapper method implementations +// + +inline _variant_t _Record_Deprecated::GetActiveConnection ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_ActiveConnection(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void _Record_Deprecated::PutActiveConnection ( _bstr_t pvar ) { + HRESULT _hr = put_ActiveConnection(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void _Record_Deprecated::PutRefActiveConnection ( struct _Connection_Deprecated * pvar ) { + HRESULT _hr = putref_ActiveConnection(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum ObjectStateEnum _Record_Deprecated::GetState ( ) { + enum ObjectStateEnum _result; + HRESULT _hr = get_State(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _variant_t _Record_Deprecated::GetSource ( ) { + VARIANT _result; + VariantInit(&_result); + HRESULT _hr = get_Source(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _variant_t(_result, false); +} + +inline void _Record_Deprecated::PutSource ( _bstr_t pvar ) { + HRESULT _hr = put_Source(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline void _Record_Deprecated::PutRefSource ( IDispatch * pvar ) { + HRESULT _hr = putref_Source(pvar); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline enum ConnectModeEnum _Record_Deprecated::GetMode ( ) { + enum ConnectModeEnum _result; + HRESULT _hr = get_Mode(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline void _Record_Deprecated::PutMode ( enum ConnectModeEnum pMode ) { + HRESULT _hr = put_Mode(pMode); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); +} + +inline _bstr_t _Record_Deprecated::GetParentURL ( ) { + BSTR _result = 0; + HRESULT _hr = get_ParentURL(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline _bstr_t _Record_Deprecated::MoveRecord ( _bstr_t Source, _bstr_t Destination, _bstr_t UserName, _bstr_t Password, enum MoveRecordOptionsEnum Options, VARIANT_BOOL Async ) { + BSTR _result = 0; + HRESULT _hr = raw_MoveRecord(Source, Destination, UserName, Password, Options, Async, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline _bstr_t _Record_Deprecated::CopyRecord ( _bstr_t Source, _bstr_t Destination, _bstr_t UserName, _bstr_t Password, enum CopyRecordOptionsEnum Options, VARIANT_BOOL Async ) { + BSTR _result = 0; + HRESULT _hr = raw_CopyRecord(Source, Destination, UserName, Password, Options, Async, &_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _bstr_t(_result, false); +} + +inline HRESULT _Record_Deprecated::DeleteRecord ( _bstr_t Source, VARIANT_BOOL Async ) { + HRESULT _hr = raw_DeleteRecord(Source, Async); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Record_Deprecated::Open ( const _variant_t & Source, const _variant_t & ActiveConnection, enum ConnectModeEnum Mode, enum RecordCreateOptionsEnum CreateOptions, enum RecordOpenOptionsEnum Options, _bstr_t UserName, _bstr_t Password ) { + HRESULT _hr = raw_Open(Source, ActiveConnection, Mode, CreateOptions, Options, UserName, Password); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline HRESULT _Record_Deprecated::Close ( ) { + HRESULT _hr = raw_Close(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +} + +inline Fields_DeprecatedPtr _Record_Deprecated::GetFields ( ) { + struct Fields_Deprecated * _result = 0; + HRESULT _hr = get_Fields(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return Fields_DeprecatedPtr(_result, false); +} + +inline enum RecordTypeEnum _Record_Deprecated::GetRecordType ( ) { + enum RecordTypeEnum _result; + HRESULT _hr = get_RecordType(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _result; +} + +inline _Recordset_DeprecatedPtr _Record_Deprecated::GetChildren ( ) { + struct _Recordset_Deprecated * _result = 0; + HRESULT _hr = raw_GetChildren(&_result); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _Recordset_DeprecatedPtr(_result, false); +} + +inline HRESULT _Record_Deprecated::Cancel ( ) { + HRESULT _hr = raw_Cancel(); + if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this)); + return _hr; +}