青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

面對現(xiàn)實(shí),超越自己
逆水行舟,不進(jìn)則退
posts - 269,comments - 32,trackbacks - 0

獲取驅(qū)動相關(guān)文件列表可用DRIVER_INFO_3,GetPrinterDriver

MSDN中解釋:

DRIVER_INFO_3

The DRIVER_INFO_3 structure contains printer driver information.

typedef struct _DRIVER_INFO_3 { 
  DWORD  cVersion; 
  LPTSTR pName; 
  LPTSTR pEnvironment; 
  LPTSTR pDriverPath; 
  LPTSTR pDataFile; 
  LPTSTR pConfigFile; 
  LPTSTR pHelpFile; 
  LPTSTR pDependentFiles; 
  LPTSTR pMonitorName; 
  LPTSTR pDefaultDataType; 
} DRIVER_INFO_3, *PDRIVER_INFO_3; 

Members

cVersion
Specifies the operating system version for which the driver was written. It can be one of the following.
Value Meaning
0 Driver for Windows 95/98/Me.
2 Driver for Windows NT 4.0.
3 Driver for Windows 2000/XP.

pName
Pointer to a null-terminated string that specifies the name of the driver (for example, "QMS 810").
pEnvironment
Pointer to a null-terminated string that specifies the environment for which the driver was written (for example, Windows NT x86, Windows IA64, Windows x64, Windows NT R4000, Windows NT Alpha_AXP, Windows 4.0, or Windows NT PowerPC).
Note Windows IA64 is available in Windows XP, Windows XP 64-Bit Edition, Windows Server 2003, and later versions. Windows x64 is available in Windows XP Service Pack 2 (SP2), Windows XP Professional x64 Edition, Windows Server 2003 Service Pack 1 (SP1), and later versions.
pDriverPath
Pointer to a null-terminated string that specifies a file name or full path and file name for the file that contains the device driver (for example, "C:\DRIVERS\Pscript.dll").
pDataFile
Pointer to a null-terminated string that specifies a file name or a full path and file name for the file that contains driver data (for example, "C:\DRIVERS\Qms810.ppd").
pConfigFile
Pointer to a null-terminated string that specifies a file name or a full path and file name for the device driver's configuration dynamic-link library (for example, "C:\DRIVERS\Pscrptui.dll").
pHelpFile
Pointer to a null-terminated string that specifies a file name or a full path and file name for the device driver's help file.
pDependentFiles
Pointer to a null-terminated string that specifies the files the driver is dependent on. Each file name in the string is also terminated with a null (for example, "Pscript.dll\0Qms810.PPD\0Pscrptui.dll\0Pspcriptui.hlp\0Pstest.txt\0\0").
pMonitorName
Pointer to a null-terminated string that specifies a language monitor (for example, "PJL monitor"). This member can be NULL and should be specified only for printers capable of bidirectional communication.
pDefaultDataType
Pointer to a null-terminated string that specifies the default data type of the print job (for example, "EMF").

Requirements

  Windows NT/2000/XP/Vista: Included in Windows NT 4.0 and later.
  Windows 95/98/Me: Included in Windows 95 and later.
  Header: Declared in Winspool.h; include Windows.h.
  Unicode: Declared as Unicode and ANSI structures.

GetPrinterDriver

The GetPrinterDriver function retrieves driver data for the specified printer. If the driver is not installed on the local computer, GetPrinterDriver installs it.

BOOL GetPrinterDriver(
  HANDLE hPrinter,     // printer object
  LPTSTR pEnvironment, // environment name
  DWORD Level,         // information level
  LPBYTE pDriverInfo,  // driver data buffer
  DWORD cbBuf,         // size of buffer
  LPDWORD pcbNeeded    // bytes received or required
);

Parameters

hPrinter
[in] Handle to the printer for which the driver data should be retrieved. Use the OpenPrinter or AddPrinter function to retrieve a printer handle.
pEnvironment
[in] Pointer to a null-terminated string that specifies the environment (for example, Windows NT x86, Windows IA64, Windows x64, Windows NT R4000, Windows NT Alpha_AXP, Windows 4.0, or Windows NT PowerPC). 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.
Note Windows IA64 is available in Windows XP, Windows XP 64-Bit Edition, Windows Server 2003, and later versions. Windows x64 is available in Windows XP Service Pack 2 (SP2), Windows XP Professional x64 Edition, Windows Server 2003 Service Pack 1 (SP1), and later versions.
Level
[in] Specifies the printer driver structure returned in the pDriverInfo buffer. This parameter can be one of the following values.
Level Structure
1 DRIVER_INFO_1
2 DRIVER_INFO_2
3 Windows 95/98/Me, Windows NT4.0 and later: DRIVER_INFO_3
4 Windows 2000/XP: DRIVER_INFO_4
5 Windows 2000/XP: DRIVER_INFO_5
6 Windows Me, Windows 2000/XP: DRIVER_INFO_6

pDriverInfo
[out] Pointer to a buffer that receives a structure containing information about the driver, as specified by Level. The buffer must be large enough to store the strings pointed to by the structure members.

To determine the required buffer size, call GetPrinterDriver with cbBuf set to zero. GetPrinterDriver fails, GetLastError returns ERROR_INSUFFICIENT_BUFFER, and the pcbNeeded parameter returns the size, in bytes, of the buffer required to hold the array of structures and their data.

cbBuf
[in] Specifies the size, in bytes, of the array at which pDriverInfo points.
pcbNeeded
[out] Pointer to a value that receives 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 a nonzero value.

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

Windows 95/98/Me: For a non-existent driver, the function returns ERROR_INVALID_NAMES.

Windows NT/2000/XP: For a non-existent driver, the function returns ERROR_UNKNOWN_PRINTER_DRIVER.

Remarks

The DRIVER_INFO_2, DRIVER_INFO_3, DRIVER_INFO_4, DRIVER_INFO_5, and DRIVER_INFO_6 structures contain the file name or the full path and file name of the printer driver in the pDriverPath member. An application can use the path and file name to load a printer driver by calling the LoadLibrary function and supplying the path and file name as the single argument.

Requirements

  Windows NT/2000/XP/Vista: Included in Windows NT 3.1 and later.
  Windows 95/98/Me: Included in Windows 95 and later.
  Header: Declared in Winspool.h; include Windows.h.
  Library: Use Winspool.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000/XP.


相關(guān)代碼:

 1 BOOL CCommonFun::GetPrinterDriverInfo(HANDLE hPrinter, CStringArray &arsDriverFiles, CString &sDriverInstallPath)
 2 {
 3     DWORD dwNeed = 0;
 4     BOOL bOK = GetPrinterDriver(hPrinter, NULL, 3, NULL, NULL, &dwNeed);
 5     if (dwNeed > 0)
 6     {
 7         BYTE *pData = new BYTE[dwNeed];
 8 
 9         bOK = GetPrinterDriver(hPrinter, NULL, 3, pData, dwNeed, &dwNeed);
10         if(bOK)
11         {
12             DRIVER_INFO_3 *pInfo3 = (DRIVER_INFO_3*)pData;
13             sDriverInstallPath = GetFilePath(pInfo3->pDriverPath);
14             if (sDriverInstallPath.IsEmpty())
15             {
16                 return FALSE;
17             }
18             //GetFileList
19             arsDriverFiles.Add(GetFileFullName(pInfo3->pDriverPath));            
20             arsDriverFiles.Add(GetFileFullName(pInfo3->pDataFile));        
21             arsDriverFiles.Add(GetFileFullName(pInfo3->pConfigFile));
22             arsDriverFiles.Add(GetFileFullName(pInfo3->pHelpFile));
23 
24             LPSTR __pdependentFiles = pInfo3->pDependentFiles;
25             CString dependentFiles;
26             //get dependent files
27             if (__pdependentFiles)
28             {
29                 while (__pdependentFiles[0!= '\0')
30                 {
31                     dependentFiles = GetFileFullName(__pdependentFiles);
32                     arsDriverFiles.Add(dependentFiles);
33                     __pdependentFiles += (strlen(__pdependentFiles)+1);
34                 }
35             }
36         }
37         else
38         {
39             return FALSE;
40         }
41 
42         delete []pData;
43     }
44     else
45     {
46         return FALSE;
47     }
48 
49     return TRUE;
50 }

 

posted on 2012-09-04 17:51 王海光 閱讀(615) 評論(0)  編輯 收藏 引用 所屬分類: MFC
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美精品在线免费播放| 久久三级福利| 国产精品久久网站| 欧美一区深夜视频| 久久av二区| 激情国产一区| 亚洲日本黄色| 国产精品综合网站| 另类春色校园亚洲| 欧美日产国产成人免费图片| 新狼窝色av性久久久久久| 亚洲欧洲av一区二区| 亚洲高清电影| 亚洲最快最全在线视频| 国产性天天综合网| 亚洲激情图片小说视频| 国产精品午夜国产小视频| 裸体歌舞表演一区二区| 欧美日韩在线三级| 久久精品在线播放| 欧美精品亚洲精品| 欧美一区深夜视频| 欧美激情a∨在线视频播放| 欧美一级播放| 欧美国产在线视频| 久久蜜桃资源一区二区老牛| 欧美精品久久99| 久久精品国亚洲| 欧美日韩国产在线看| 欧美77777| 国产亚洲人成网站在线观看| 亚洲人成免费| 尤物九九久久国产精品的特点| 日韩一级不卡| 亚洲精品123区| 欧美有码视频| 亚洲男人的天堂在线观看| 久久亚洲电影| 欧美在线一二三区| 欧美午夜大胆人体| 亚洲日本中文字幕| 亚洲风情亚aⅴ在线发布| 欧美一区二区大片| 亚洲在线不卡| 欧美日韩一二三四五区| 亚洲大片在线| 精品福利免费观看| 欧美一区二区三区另类| 性伦欧美刺激片在线观看| 欧美日韩国产在线一区| 亚洲激情校园春色| 亚洲国产精品va在看黑人| 校园春色综合网| 午夜久久tv| 国产精品久久久亚洲一区| 亚洲精品一区二区在线| 亚洲精品你懂的| 免费看亚洲片| 亚洲高清视频一区二区| 亚洲激情网站| 欧美成人一区二区在线| 亚洲国产精品成人一区二区| 亚洲国产精品久久久| 久久综合亚州| 亚洲国产视频直播| 99re6热在线精品视频播放速度| 久久综合色一综合色88| 亚洲国产99精品国自产| 99re66热这里只有精品3直播| 欧美国产欧美亚洲国产日韩mv天天看完整 | 国产精品少妇自拍| 亚洲午夜一区| 欧美有码视频| 极品少妇一区二区三区精品视频| 久久精品国产久精国产思思| 女女同性女同一区二区三区91| 亚洲电影免费观看高清完整版在线观看 | 亚洲日本中文字幕区| 一本久久综合亚洲鲁鲁| 欧美天天在线| 午夜电影亚洲| 免费成人在线视频网站| 日韩视频在线一区| 国产精品二区二区三区| 性伦欧美刺激片在线观看| 久久综合999| 日韩一级视频免费观看在线| 欧美视频一区二区三区…| 午夜精品久久久久久久| 欧美 日韩 国产精品免费观看| 亚洲日本国产| 国产精品久久久久影院色老大 | 久久久国产精品一区二区三区| 欧美激情乱人伦| 午夜欧美大片免费观看| 在线精品在线| 国产精品久久毛片a| 久久综合网络一区二区| 亚洲天堂成人在线观看| 美女啪啪无遮挡免费久久网站| 99国产一区| 狠狠色狠色综合曰曰| 欧美日韩一区二区在线观看| 欧美在线不卡| 亚洲一区二区欧美日韩| 欧美高清在线精品一区| 午夜宅男欧美| 亚洲精选视频在线| 一色屋精品视频免费看| 国产精品三级视频| 欧美精品一区二区精品网| 欧美影院在线| 中日韩美女免费视频网站在线观看| 美女国产一区| 久久精品一区二区| 亚洲欧美成人精品| 亚洲免费精品| 亚洲激情婷婷| 激情综合久久| 国产亚洲精品美女| 国产精品午夜在线观看| 欧美精品一卡二卡| 免费成人激情视频| 久久青草欧美一区二区三区| 亚洲欧美在线一区| 亚洲男人第一网站| 在线亚洲成人| 一区二区三区国产| 99精品热6080yy久久| 亚洲人成在线播放| 亚洲国产精品精华液2区45| 欧美.www| 欧美成人免费全部| 欧美阿v一级看视频| 老鸭窝91久久精品色噜噜导演| 欧美在线亚洲一区| 久久精品国产亚洲一区二区三区| 欧美一区二区三区播放老司机| 亚洲一区久久久| 午夜精品久久| 欧美怡红院视频| 久久精品系列| 毛片一区二区| 欧美国产日韩一区二区三区| 欧美成人精品| 91久久久久久国产精品| 亚洲韩国一区二区三区| 亚洲精品美女在线观看| 日韩一级片网址| 亚洲一区二区欧美日韩| 香蕉久久夜色精品国产使用方法| 亚洲欧美精品在线观看| 久久成人国产| 免费观看成人| 欧美日韩国产一区二区| 欧美性开放视频| 国产私拍一区| 亚洲高清久久久| 一区二区三区日韩精品| 亚洲综合第一| 老司机aⅴ在线精品导航| 亚洲国产1区| 在线亚洲电影| 久久久水蜜桃| 欧美日韩国产免费| 国产欧美日韩三级| 亚洲第一网站免费视频| 一区二区三区欧美日韩| 久久国产一区二区| 亚洲国产精品一区二区www在线| 一区二区三区精密机械公司| 久久国产加勒比精品无码| 欧美激情网友自拍| 国产精品视频你懂的| 亚洲黑丝在线| 欧美一区二区三区视频| 欧美国产日韩一区二区三区| 国产精品99久久久久久久久久久久 | 日韩一级在线| 久久精品综合| 国产精品福利网站| 在线日本成人| 亚洲午夜高清视频| 欧美1区3d| 亚洲一区欧美激情| 欧美激情国产高清| 国产综合色精品一区二区三区| 亚洲精品乱码久久久久久久久| 欧美一级久久久| 亚洲激情校园春色| 久久精品国产99精品国产亚洲性色 | 欧美日韩专区在线| 在线观看一区二区精品视频| 午夜在线视频观看日韩17c| 暖暖成人免费视频| 欧美一区高清| 国产精品亚洲人在线观看| aa日韩免费精品视频一| 欧美激情成人在线| 久久久91精品|