diff options
author | sanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-10 17:38:06 +0000 |
---|---|---|
committer | sanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-10 17:38:06 +0000 |
commit | ecdc9d4c11a997c23b2e8cbb588732ceea823047 (patch) | |
tree | 807f488f60df6249e1d1fa2b5af3e0661b166786 /chrome/service | |
parent | 15a3ebf01a2e6ea982c1d952abfa60e14e7e0357 (diff) | |
download | chromium_src-ecdc9d4c11a997c23b2e8cbb588732ceea823047.zip chromium_src-ecdc9d4c11a997c23b2e8cbb588732ceea823047.tar.gz chromium_src-ecdc9d4c11a997c23b2e8cbb588732ceea823047.tar.bz2 |
Used GetProcAddress to load exported functions from prntvpt.dll instead of using DELAYLOAD.
BUG=62421
TEST=ui_tests on XP without the XPS Framework installed should run.
Review URL: http://codereview.chromium.org/4637004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65678 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/service')
-rw-r--r-- | chrome/service/cloud_print/print_system_win.cc | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/chrome/service/cloud_print/print_system_win.cc b/chrome/service/cloud_print/print_system_win.cc index ea5ede2..62a5b54 100644 --- a/chrome/service/cloud_print/print_system_win.cc +++ b/chrome/service/cloud_print/print_system_win.cc @@ -5,7 +5,6 @@ #include "chrome/service/cloud_print/print_system.h" #include <objidl.h> -#include <prntvpt.h> #include <winspool.h> #include "base/file_path.h" @@ -24,8 +23,6 @@ #include "printing/native_metafile.h" #include "printing/page_range.h" -#pragma comment(lib, "prntvpt.lib") - using base::win::ScopedBstr; using base::win::ScopedComPtr; @@ -85,23 +82,25 @@ HRESULT PrintTicketToDevMode(const std::string& printer_name, return hr; HPTPROVIDER provider = NULL; - hr = PTOpenProvider(UTF8ToWide(printer_name).c_str(), 1, &provider); + hr = printing::XPSModule::OpenProvider(UTF8ToWide(printer_name), + 1, + &provider); if (SUCCEEDED(hr)) { ULONG size = 0; DEVMODE* dm = NULL; - hr = PTConvertPrintTicketToDevMode(provider, - pt_stream, - kUserDefaultDevmode, - kPTDocumentScope, - &size, - &dm, - NULL); + hr = printing::XPSModule::ConvertPrintTicketToDevMode(provider, + pt_stream, + kUserDefaultDevmode, + kPTDocumentScope, + &size, + &dm, + NULL); if (SUCCEEDED(hr)) { dev_mode->Allocate(size); memcpy(dev_mode->dm_, dm, size); - PTReleaseMemory(dm); + printing::XPSModule::ReleaseMemory(dm); } - PTCloseProvider(provider); + printing::XPSModule::CloseProvider(provider); } return hr; } @@ -377,7 +376,7 @@ class PrintSystemWin : public PrintSystem { return false; } - if (!printing::InitXPSModule()) { + if (!printing::XPSModule::Init()) { // TODO(sanjeevr): Handle legacy proxy case (with no prntvpt.dll) return false; } @@ -543,13 +542,15 @@ bool PrintSystemWin::IsValidPrinter(const std::string& printer_name) { bool PrintSystemWin::ValidatePrintTicket( const std::string& printer_name, const std::string& print_ticket_data) { - if (!printing::InitXPSModule()) { + if (!printing::XPSModule::Init()) { // TODO(sanjeevr): Handle legacy proxy case (with no prntvpt.dll) return false; } bool ret = false; HPTPROVIDER provider = NULL; - PTOpenProvider(UTF8ToWide(printer_name.c_str()).c_str(), 1, &provider); + printing::XPSModule::OpenProvider(UTF8ToWide(printer_name.c_str()), + 1, + &provider); if (provider) { ScopedComPtr<IStream> print_ticket_stream; CreateStreamOnHGlobal(NULL, TRUE, print_ticket_stream.Receive()); @@ -564,13 +565,14 @@ bool PrintSystemWin::ValidatePrintTicket( ScopedBstr error; ScopedComPtr<IStream> result_ticket_stream; CreateStreamOnHGlobal(NULL, TRUE, result_ticket_stream.Receive()); - ret = SUCCEEDED(PTMergeAndValidatePrintTicket(provider, - print_ticket_stream.get(), - NULL, - kPTJobScope, - result_ticket_stream.get(), - error.Receive())); - PTCloseProvider(provider); + ret = SUCCEEDED(printing::XPSModule::MergeAndValidatePrintTicket( + provider, + print_ticket_stream.get(), + NULL, + kPTJobScope, + result_ticket_stream.get(), + error.Receive())); + printing::XPSModule::CloseProvider(provider); } return ret; } |