|
|
/*++
Copyright (c) 1997 Microsoft Corporation
Abstract:
This module provides functionality for publishing printers
Author:
Steve Wilson (NT) November 1997
Revision History:
--*/
#define BAIL_ON_NULL(p) \
if (!(p)) { \ goto error; \ }
#define BAIL_ON_FAILURE(hr) \
if (FAILED(hr)) { \ goto error; \ }
#define FREE_INTERFACE(pInterface) \
if (pInterface) { \ pInterface->Release(); \ pInterface=NULL; \ }
#define FREE_UNICODE_STRING(pString) \
if (pString) { \ FreeUnicodeString(pString); \ }
#define FREE_BSTR(bstr) \
if (bstr) { \ SysFreeString(bstr); \ bstr = NULL; \ }
// Declarations
DWORD PublishDownlevelPrinter( HANDLE hPrinter, PWSTR pszDN, PWSTR pszCN, PWSTR pszServerName, PWSTR pszShortServerName, PWSTR pszUNCName, PWSTR pszPrinterName, DWORD dwVersion, PWSTR *ppszObjectDN );
DWORD PublishNT5Printer( HANDLE hPrinter, PWSTR pszDN, PWSTR pszCN, PWSTR *ppszObjectDN );
HRESULT PublishDsData( IADs *pADs, PWSTR pValue, DWORD dwType, PBYTE pData );
HRESULT SetProperties( HANDLE hPrinter, PWSTR pszServerName, PWSTR pszShortServerName, PWSTR pszUNCName, PWSTR pszPrinterName, DWORD dwVersion, IADs *pPrintQueue );
HRESULT SetMandatoryProperties( PWSTR pszServerName, PWSTR pszShortServerName, PWSTR pszUNCName, PWSTR pszPrinterName, DWORD dwVersion, IADs *pPrintQueue );
HRESULT SetSpoolerProperties( HANDLE hPrinter, IADs *pPrintQueue, DWORD dwVersion );
HRESULT SetDriverProperties( HANDLE hPrinter, IADs *pPrintQueue );
|