Author: cfinck Date: Fri Jun 19 15:05:58 2015 New Revision: 68194
URL: http://svn.reactos.org/svn/reactos?rev=68194&view=rev Log: [LOCALSPL_APITEST] Put the calls that eventually give us the function pointers to localspl into a separate procedure GetLocalsplFuncs to enable further tests easily.
Modified: branches/colins-printing-for-freedom/rostests/apitests/localspl/dll/fpEnumPrinters.c branches/colins-printing-for-freedom/rostests/apitests/localspl/dll/main.c
Modified: branches/colins-printing-for-freedom/rostests/apitests/localspl/dll/fpEnumPrinters.c URL: http://svn.reactos.org/svn/reactos/branches/colins-printing-for-freedom/rost... ============================================================================== --- branches/colins-printing-for-freedom/rostests/apitests/localspl/dll/fpEnumPrinters.c [iso-8859-1] (original) +++ branches/colins-printing-for-freedom/rostests/apitests/localspl/dll/fpEnumPrinters.c [iso-8859-1] Fri Jun 19 15:05:58 2015 @@ -18,40 +18,20 @@ #include "../localspl_apitest.h" #include <spoolss.h>
+extern BOOL GetLocalsplFuncs(LPPRINTPROVIDOR pp); + START_TEST(fpEnumPrinters) { DWORD cbNeeded; DWORD cbTemp; DWORD dwReturned; DWORD i; - HMODULE hLocalspl; - PInitializePrintProvidor pfnInitializePrintProvidor; PRINTPROVIDOR pp; PPRINTER_INFO_1W pPrinterInfo1; PVOID pMem;
- // Get us a handle to the loaded localspl.dll. - hLocalspl = GetModuleHandleW(L"localspl"); - if (!hLocalspl) - { - skip("GetModuleHandleW failed with error %lu!\n", GetLastError()); + if (!GetLocalsplFuncs(&pp)) return; - } - - // Get a pointer to its InitializePrintProvidor function. - pfnInitializePrintProvidor = (PInitializePrintProvidor)GetProcAddress(hLocalspl, "InitializePrintProvidor"); - if (!pfnInitializePrintProvidor) - { - skip("GetProcAddress failed with error %lu!\n", GetLastError()); - return; - } - - // Get localspl's function pointers. - if (!pfnInitializePrintProvidor(&pp, sizeof(pp), NULL)) - { - skip("pfnInitializePrintProvidor failed with error %lu!\n", GetLastError()); - return; - }
// Verify that localspl only returns information about a single print provider (namely itself). cbNeeded = 0xDEADBEEF;
Modified: branches/colins-printing-for-freedom/rostests/apitests/localspl/dll/main.c URL: http://svn.reactos.org/svn/reactos/branches/colins-printing-for-freedom/rost... ============================================================================== --- branches/colins-printing-for-freedom/rostests/apitests/localspl/dll/main.c [iso-8859-1] (original) +++ branches/colins-printing-for-freedom/rostests/apitests/localspl/dll/main.c [iso-8859-1] Fri Jun 19 15:05:58 2015 @@ -33,6 +33,38 @@
{ 0, 0 } }; + +BOOL +GetLocalsplFuncs(LPPRINTPROVIDOR pp) +{ + HMODULE hLocalspl; + PInitializePrintProvidor pfnInitializePrintProvidor; + + // Get us a handle to the loaded localspl.dll. + hLocalspl = GetModuleHandleW(L"localspl"); + if (!hLocalspl) + { + skip("GetModuleHandleW failed with error %u!\n", GetLastError()); + return FALSE; + } + + // Get a pointer to its InitializePrintProvidor function. + pfnInitializePrintProvidor = (PInitializePrintProvidor)GetProcAddress(hLocalspl, "InitializePrintProvidor"); + if (!pfnInitializePrintProvidor) + { + skip("GetProcAddress failed with error %u!\n", GetLastError()); + return FALSE; + } + + // Get localspl's function pointers. + if (!pfnInitializePrintProvidor(pp, sizeof(PRINTPROVIDOR), NULL)) + { + skip("pfnInitializePrintProvidor failed with error %u!\n", GetLastError()); + return FALSE; + } + + return TRUE; +}
// Running the tests from the injected DLL and redirecting their output to the pipe. BOOL WINAPI