GetPrinterDriverDirectory

The GetPrinterDriverDirectory function retrieves the path of the printer-driver directory.

BOOL GetPrinterDriverDirectory(
  LPTSTR pName,         // address of server name
  LPTSTR pEnvironment,  // address of environment
  DWORD Level,          // address of structure
  LPBYTE pDriverDirectory,  // address of structure array that 
                            // receives path
  DWORD cbBuf,          // size, in bytes, of array
  LPDWORD pcbNeeded     // address of variable with number of bytes 
                        // retrieved (or required)
);
 

Parameters

pName
Pointer to a null-terminated string that specifies the name of the server on which the printer driver resides. If this parameter is NULL, the local driver-directory path is retrieved.
pEnvironment
Pointer to a null-terminated string that specifies the environment (for example, "Windows NT x86", "Windows NT R4000", "Windows NT Alpha_AXP", or "Windows 4.0"). If this parameter is NULL, the current environment of the calling application and client machine (not of the destination application and print server) is used.
Level
Specifies the structure level. This value must be 1.
pDriverDirectory
Pointer to an array of bytes that receives the path.
cbBuf
Specifies the size of the array to which pDriverDirectory points.
pcbNeeded
Pointer to a value that specifies the number of bytes copied if the function succeeds, or the number of bytes required if cbBuf is too small.

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in winspool.h.
  Import Library: Use winspool.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

Printing and Print Spooler Overview, Printing and Print Spooler Functions, AddPrinterDriver