GetPrinterDriverPackagePath function

Retrieves the path to the specified printer driver package on a print server.

Syntax


HRESULT GetPrinterDriverPackagePath(
  _In_     LPCTSTR pszServer,
  _In_     LPCTSTR pszEnvironment,
  _In_     LPCTSTR pszLanguage,
  _In_     LPCTSTR pszPackageID,
  _Inout_  LPTSTR pszDriverPackageCab,
  _In_     DWORD cchDriverPackageCab,
  _Out_    LPDWORD pcchRequiredSize
);

Parameters

pszServer [in]

A pointer to a constant, null-terminated string that specifies the name of the print server. Use NULL for the local computer.

pszEnvironment [in]

A pointer to a constant, null-terminated string that specifies the processor architecture (for example, Windows NT x86). This can be NULL.

pszLanguage [in]

A pointer to a constant, null-terminated string that specifies the Multilingual User Interface language for the driver being installed. This can be NULL.

pszPackageID [in]

A pointer to a constant, null-terminated string that specifies the ID of the driver package.

pszDriverPackageCab [in, out]

A pointer to a null-terminated string that specifies the path to the cabinet file for the driver package. This can be NULL. See Remarks.

cchDriverPackageCab [in]

The size, in characters, of the pszDriverPackageCab buffer. This can be NULL.

pcchRequiredSize [out]

A pointer to the required size of the pszDriverPackageCab buffer.

Return value

If the operation succeeds, the return value is S_OK, otherwise the HRESULT will contain an error code.

For more information about COM error codes, see Error Handling.

Remarks

Note  This is a blocking or synchronous function and might not return immediately. How quickly this function returns depends on run-time factors such as network status, print server configuration, and printer driver implementation—factors that are difficult to predict when writing an application. Calling this function from a thread that manages interaction with the user interface could make the application appear to be unresponsive.

To obtain a value for cchDriverPackageCab, call the function with NULL as the value of pszDriverPackageCab. Use the value returned in pcchRequiredSize as the value of cchDriverPackageCab and call the function again.

The pszPackageID is typically obtained from a call to GetCorePrinterDrivers.

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]

Header

Winspool.h (include Windows.h)

Library

Winspool.lib

DLL

Spoolss.dll

Unicode and ANSI names

GetPrinterDriverPackagePathW (Unicode) and GetPrinterDriverPackagePathA (ANSI)

See also

Printing
Print Spooler API Functions

 

 

Community Additions

ADD
Show:
© 2014 Microsoft