ReactOS  0.4.15-dev-3723-g8d70159
localui.c File Reference
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winreg.h"
#include "winuser.h"
#include "winspool.h"
#include "ddk/winsplp.h"
#include "wine/debug.h"
#include "localui.h"
Include dependency graph for localui.c:

Go to the source code of this file.

Classes

struct  tag_addportui_t
 
struct  tag_lptconfig_t
 

Typedefs

typedef struct tag_addportui_t addportui_t
 
typedef struct tag_lptconfig_t lptconfig_t
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (localui)
 
static INT_PTR CALLBACK dlgproc_lptconfig (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
 
static LPWSTR strdupWW (LPCWSTR pPrefix, LPCWSTR pSuffix)
 
static BOOL dlg_configure_com (HANDLE hXcv, HWND hWnd, PCWSTR pPortName)
 
static BOOL dlg_configure_lpt (HANDLE hXcv, HWND hWnd)
 
static void dlg_port_already_exists (HWND hWnd, LPCWSTR portname)
 
static void dlg_invalid_portname (HWND hWnd, LPCWSTR portname)
 
static void dlg_nothingtoconfig (HWND hWnd)
 
static void dlg_win32error (HWND hWnd, DWORD lasterror)
 
static INT_PTR CALLBACK dlgproc_addport (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
 
static DWORD get_type_from_name (LPCWSTR name)
 
static BOOL open_monitor_by_name (LPCWSTR pPrefix, LPCWSTR pPort, HANDLE *phandle)
 
static BOOL WINAPI localui_AddPortUI (PCWSTR pName, HWND hWnd, PCWSTR pMonitorName, PWSTR *ppPortName)
 
static BOOL WINAPI localui_ConfigurePortUI (PCWSTR pName, HWND hWnd, PCWSTR pPortName)
 
static BOOL WINAPI localui_DeletePortUI (PCWSTR pName, HWND hWnd, PCWSTR pPortName)
 
PMONITORUI WINAPI InitializePrintMonitorUI (void)
 
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 

Variables

static HINSTANCE LOCALUI_hInstance
 
static const WCHAR cmd_AddPortW [] = {'A','d','d','P','o','r','t',0}
 
static const WCHAR cmd_ConfigureLPTPortCommandOKW []
 
static const WCHAR cmd_DeletePortW [] = {'D','e','l','e','t','e','P','o','r','t',0}
 
static const WCHAR cmd_GetDefaultCommConfigW []
 
static const WCHAR cmd_GetTransmissionRetryTimeoutW []
 
static const WCHAR cmd_PortIsValidW [] = {'P','o','r','t','I','s','V','a','l','i','d',0}
 
static const WCHAR cmd_SetDefaultCommConfigW []
 
static const WCHAR fmt_uW [] = {'%','u',0}
 
static const WCHAR portname_LPT [] = {'L','P','T',0}
 
static const WCHAR portname_COM [] = {'C','O','M',0}
 
static const WCHAR portname_FILE [] = {'F','I','L','E',':',0}
 
static const WCHAR portname_CUPS [] = {'C','U','P','S',':',0}
 
static const WCHAR portname_LPR [] = {'L','P','R',':',0}
 
static const WCHAR XcvMonitorW [] = {',','X','c','v','M','o','n','i','t','o','r',' ',0}
 
static const WCHAR XcvPortW [] = {',','X','c','v','P','o','r','t',' ',0}
 

Typedef Documentation

◆ addportui_t

◆ lptconfig_t

Function Documentation

◆ dlg_configure_com()

static BOOL dlg_configure_com ( HANDLE  hXcv,
HWND  hWnd,
PCWSTR  pPortName 
)
static

Definition at line 108 of file localui.c.

109 {
110  COMMCONFIG cfg;
111  LPWSTR shortname;
112  DWORD status;
113  DWORD dummy;
114  DWORD len;
115  BOOL res;
116 
117  /* strip the colon (pPortName is never empty here) */
118  len = lstrlenW(pPortName);
119  shortname = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
120  if (shortname) {
121  memcpy(shortname, pPortName, (len -1) * sizeof(WCHAR));
122  shortname[len-1] = '\0';
123 
124  /* get current settings */
125  len = FIELD_OFFSET(COMMCONFIG, wcProviderData[1]);
128  (PBYTE) shortname,
129  (lstrlenW(shortname) +1) * sizeof(WCHAR),
130  (PBYTE) &cfg, len, &len, &status);
131 
132  if (res && (status == ERROR_SUCCESS)) {
133  /* display the Dialog */
134  res = CommConfigDialogW(pPortName, hWnd, &cfg);
135  if (res) {
137  /* set new settings */
139  (PBYTE) &cfg, len,
140  (PBYTE) &dummy, 0, &len, &status);
141  }
142  }
143  HeapFree(GetProcessHeap(), 0, shortname);
144  return res;
145  }
146  return FALSE;
147 }
#define ERROR_SUCCESS
Definition: deptool.c:10
WINBOOL WINAPI XcvDataW(HANDLE hXcv, PCWSTR pszDataName, PBYTE pInputData, DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData, PDWORD pcbOutputNeeded, PDWORD pdwStatus)
Definition: printers.c:487
HWND hWnd
Definition: settings.c:17
static const WCHAR cmd_SetDefaultCommConfigW[]
Definition: localui.c:56
#define lstrlenW
Definition: compat.h:609
static const WCHAR cmd_GetDefaultCommConfigW[]
Definition: localui.c:49
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
#define GetProcessHeap()
Definition: compat.h:595
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned long DWORD
Definition: ntddk_ex.h:95
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
GLenum GLsizei len
Definition: glext.h:6722
unsigned char dummy
Definition: maze.c:118
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255
GLuint res
Definition: glext.h:9613
BOOL WINAPI CommConfigDialogW(LPCWSTR lpszDevice, HWND hWnd, LPCOMMCONFIG lpCommConfig)
Definition: comm.c:1239
static HANDLE hXcv
Definition: localmon.c:73
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static SERVICE_STATUS status
Definition: service.c:31
BYTE * PBYTE
Definition: pedump.c:66
#define HeapFree(x, y, z)
Definition: compat.h:594
Definition: ps.c:97

Referenced by localui_ConfigurePortUI().

◆ dlg_configure_lpt()

static BOOL dlg_configure_lpt ( HANDLE  hXcv,
HWND  hWnd 
)
static

Definition at line 155 of file localui.c.

156 {
158  BOOL res;
159 
160 
161  data.hXcv = hXcv;
162 
165 
166  TRACE("got %u with %u\n", res, GetLastError());
167 
169  return res;
170 }
INT_PTR WINAPI DialogBoxParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
static HINSTANCE LOCALUI_hInstance
Definition: localui.c:42
HWND hWnd
Definition: settings.c:17
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1040
#define LPTCONFIG_DIALOG
Definition: localui.h:31
static INT_PTR CALLBACK dlgproc_lptconfig(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
Definition: localui.c:343
unsigned int BOOL
Definition: ntddk_ex.h:94
LONG_PTR LPARAM
Definition: windef.h:208
#define TRACE(s)
Definition: solgame.cpp:4
#define SetLastError(x)
Definition: compat.h:611
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
#define ERROR_CANCELLED
Definition: winerror.h:726
GLuint res
Definition: glext.h:9613
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
static HANDLE hXcv
Definition: localmon.c:73

Referenced by localui_ConfigurePortUI().

◆ dlg_invalid_portname()

static void dlg_invalid_portname ( HWND  hWnd,
LPCWSTR  portname 
)
static

Definition at line 202 of file localui.c.

203 {
204  WCHAR res_PortW[IDS_LOCALPORT_MAXLEN];
205  WCHAR res_InvalidNameW[IDS_INVALIDNAME_MAXLEN];
206  LPWSTR message;
207  DWORD len;
208 
209  res_PortW[0] = '\0';
210  res_InvalidNameW[0] = '\0';
213 
214  len = lstrlenW(portname) + IDS_INVALIDNAME_MAXLEN;
215  message = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
216  if (message) {
217  message[0] = '\0';
218  swprintf(message, res_InvalidNameW, portname);
219  MessageBoxW(hWnd, message, res_PortW, MB_OK | MB_ICONERROR);
221  }
222 }
Definition: tftpd.h:59
static HINSTANCE LOCALUI_hInstance
Definition: localui.c:42
GLenum GLuint GLenum GLsizei const GLchar * message
Definition: glext.h:5579
HWND hWnd
Definition: settings.c:17
#define IDS_LOCALPORT
Definition: localui.h:35
#define swprintf
Definition: precomp.h:40
#define lstrlenW
Definition: compat.h:609
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
#define GetProcessHeap()
Definition: compat.h:595
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
int WINAPI MessageBoxW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ UINT)
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define IDS_INVALIDNAME_MAXLEN
Definition: localui.h:42
unsigned long DWORD
Definition: ntddk_ex.h:95
#define MB_ICONERROR
Definition: winuser.h:781
GLenum GLsizei len
Definition: glext.h:6722
#define IDS_INVALIDNAME
Definition: localui.h:36
#define MB_OK
Definition: winuser.h:784
#define IDS_LOCALPORT_MAXLEN
Definition: localui.h:41
WCHAR * LPWSTR
Definition: xmlstorage.h:184
#define HeapFree(x, y, z)
Definition: compat.h:594

Referenced by dlgproc_addport().

◆ dlg_nothingtoconfig()

static void dlg_nothingtoconfig ( HWND  hWnd)
static

Definition at line 229 of file localui.c.

230 {
231  WCHAR res_PortW[IDS_LOCALPORT_MAXLEN];
232  WCHAR res_nothingW[IDS_NOTHINGTOCONFIG_MAXLEN];
233 
234  res_PortW[0] = '\0';
235  res_nothingW[0] = '\0';
238 
239  MessageBoxW(hWnd, res_nothingW, res_PortW, MB_OK | MB_ICONINFORMATION);
240 }
static HINSTANCE LOCALUI_hInstance
Definition: localui.c:42
HWND hWnd
Definition: settings.c:17
#define IDS_LOCALPORT
Definition: localui.h:35
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
int WINAPI MessageBoxW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ UINT)
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define MB_ICONINFORMATION
Definition: winuser.h:796
#define IDS_NOTHINGTOCONFIG
Definition: localui.h:38
#define MB_OK
Definition: winuser.h:784
#define IDS_LOCALPORT_MAXLEN
Definition: localui.h:41
#define IDS_NOTHINGTOCONFIG_MAXLEN
Definition: localui.h:44

Referenced by localui_ConfigurePortUI().

◆ dlg_port_already_exists()

static void dlg_port_already_exists ( HWND  hWnd,
LPCWSTR  portname 
)
static

Definition at line 176 of file localui.c.

177 {
178  WCHAR res_PortW[IDS_LOCALPORT_MAXLEN];
179  WCHAR res_PortExistsW[IDS_PORTEXISTS_MAXLEN];
180  LPWSTR message;
181  DWORD len;
182 
183  res_PortW[0] = '\0';
184  res_PortExistsW[0] = '\0';
187 
188  len = lstrlenW(portname) + IDS_PORTEXISTS_MAXLEN + 1;
189  message = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
190  if (message) {
191  message[0] = '\0';
192  swprintf(message, res_PortExistsW, portname);
193  MessageBoxW(hWnd, message, res_PortW, MB_OK | MB_ICONERROR);
195  }
196 }
Definition: tftpd.h:59
static HINSTANCE LOCALUI_hInstance
Definition: localui.c:42
GLenum GLuint GLenum GLsizei const GLchar * message
Definition: glext.h:5579
HWND hWnd
Definition: settings.c:17
#define IDS_LOCALPORT
Definition: localui.h:35
#define swprintf
Definition: precomp.h:40
#define lstrlenW
Definition: compat.h:609
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
#define IDS_PORTEXISTS
Definition: localui.h:37
#define GetProcessHeap()
Definition: compat.h:595
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
int WINAPI MessageBoxW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ UINT)
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned long DWORD
Definition: ntddk_ex.h:95
#define MB_ICONERROR
Definition: winuser.h:781
GLenum GLsizei len
Definition: glext.h:6722
#define IDS_PORTEXISTS_MAXLEN
Definition: localui.h:43
#define MB_OK
Definition: winuser.h:784
#define IDS_LOCALPORT_MAXLEN
Definition: localui.h:41
WCHAR * LPWSTR
Definition: xmlstorage.h:184
#define HeapFree(x, y, z)
Definition: compat.h:594

Referenced by localui_AddPortUI().

◆ dlg_win32error()

static void dlg_win32error ( HWND  hWnd,
DWORD  lasterror 
)
static

Definition at line 246 of file localui.c.

247 {
248  WCHAR res_PortW[IDS_LOCALPORT_MAXLEN];
249  LPWSTR message = NULL;
250  DWORD res;
251 
252  res_PortW[0] = '\0';
254 
255 
257  NULL, lasterror, 0, (LPWSTR) &message, 0, NULL);
258 
259  if (res > 0) {
260  MessageBoxW(hWnd, message, res_PortW, MB_OK | MB_ICONERROR);
262  }
263 }
Definition: tftpd.h:59
static HINSTANCE LOCALUI_hInstance
Definition: localui.c:42
HWND hWnd
Definition: settings.c:17
#define IDS_LOCALPORT
Definition: localui.h:35
DWORD WINAPI FormatMessageW(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPWSTR lpBuffer, DWORD nSize, __ms_va_list *args)
Definition: format_msg.c:583
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
#define FORMAT_MESSAGE_ALLOCATE_BUFFER
Definition: winbase.h:416
#define FORMAT_MESSAGE_FROM_SYSTEM
Definition: winbase.h:420
int WINAPI MessageBoxW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ UINT)
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned long DWORD
Definition: ntddk_ex.h:95
#define MB_ICONERROR
Definition: winuser.h:781
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1577
#define NULL
Definition: types.h:112
#define MB_OK
Definition: winuser.h:784
#define IDS_LOCALPORT_MAXLEN
Definition: localui.h:41
GLuint res
Definition: glext.h:9613
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by dlgproc_addport().

◆ dlgproc_addport()

static INT_PTR CALLBACK dlgproc_addport ( HWND  hwnd,
UINT  msg,
WPARAM  wparam,
LPARAM  lparam 
)
static

Definition at line 269 of file localui.c.

270 {
271  addportui_t * data;
272  DWORD status;
273  DWORD dummy;
274  DWORD len;
275  DWORD res;
276 
277  switch(msg)
278  {
279  case WM_INITDIALOG:
281  return TRUE;
282 
283  case WM_COMMAND:
284  if (wparam == MAKEWPARAM(IDOK, BN_CLICKED))
285  {
287  /* length in WCHAR, without the '\0' */
289  data->portname = HeapAlloc(GetProcessHeap(), 0, (len + 1) * sizeof(WCHAR));
290 
291  if (!data->portname) {
292  EndDialog(hwnd, FALSE);
293  return TRUE;
294  }
295  /* length is in WCHAR, including the '\0' */
296  GetDlgItemTextW(hwnd, ADDPORT_EDIT, data->portname, len + 1);
298  res = XcvDataW( data->hXcv, cmd_PortIsValidW, (PBYTE) data->portname,
299  (lstrlenW(data->portname) + 1) * sizeof(WCHAR),
300  (PBYTE) &dummy, 0, &len, &status);
301 
302  TRACE("got %u with status %u\n", res, status);
303  if (res && (status == ERROR_SUCCESS)) {
304  /* The caller must free data->portname */
305  EndDialog(hwnd, TRUE);
306  return TRUE;
307  }
308 
309  if (res && (status == ERROR_INVALID_NAME)) {
310  dlg_invalid_portname(hwnd, data->portname);
311  HeapFree(GetProcessHeap(), 0, data->portname);
312  data->portname = NULL;
313  return TRUE;
314  }
315 
317  HeapFree(GetProcessHeap(), 0, data->portname);
318  data->portname = NULL;
319  return TRUE;
320  }
321 
323  {
324  EndDialog(hwnd, FALSE);
325  return TRUE;
326  }
327  return FALSE;
328  }
329  return FALSE;
330 }
#define WM_GETTEXTLENGTH
Definition: winuser.h:1606
UINT WINAPI GetDlgItemTextW(HWND hDlg, int nIDDlgItem, LPWSTR lpString, int nMaxCount)
Definition: dialog.c:2263
#define MAKEWPARAM(l, h)
Definition: winuser.h:3989
#define IDOK
Definition: winuser.h:824
#define ERROR_SUCCESS
Definition: deptool.c:10
WINBOOL WINAPI XcvDataW(HANDLE hXcv, PCWSTR pszDataName, PBYTE pInputData, DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData, PDWORD pcbOutputNeeded, PDWORD pdwStatus)
Definition: printers.c:487
#define TRUE
Definition: types.h:120
#define ADDPORT_EDIT
Definition: localui.h:29
#define GetWindowLongPtrW
Definition: winuser.h:4809
#define lstrlenW
Definition: compat.h:609
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
static const WCHAR cmd_PortIsValidW[]
Definition: localui.c:55
#define FALSE
Definition: types.h:117
static UINT WPARAM LPARAM lparam
Definition: combo.c:716
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:595
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define BN_CLICKED
Definition: winuser.h:1912
unsigned long DWORD
Definition: ntddk_ex.h:95
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
#define DWLP_USER
Definition: winuser.h:866
GLenum GLsizei len
Definition: glext.h:6722
#define WM_COMMAND
Definition: winuser.h:1727
static void dlg_invalid_portname(HWND hWnd, LPCWSTR portname)
Definition: localui.c:202
unsigned char dummy
Definition: maze.c:118
#define NULL
Definition: types.h:112
#define msg(x)
Definition: auth_time.c:54
GLuint res
Definition: glext.h:9613
#define ERROR_INVALID_NAME
Definition: compat.h:103
#define SetWindowLongPtrW
Definition: winuser.h:5326
#define IDCANCEL
Definition: winuser.h:825
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4022
static SERVICE_STATUS status
Definition: service.c:31
BYTE * PBYTE
Definition: pedump.c:66
#define WM_INITDIALOG
Definition: winuser.h:1726
#define HeapFree(x, y, z)
Definition: compat.h:594
static UINT WPARAM wparam
Definition: combo.c:716
static void dlg_win32error(HWND hWnd, DWORD lasterror)
Definition: localui.c:246
Definition: ps.c:97

Referenced by localui_AddPortUI().

◆ dlgproc_lptconfig()

static INT_PTR CALLBACK dlgproc_lptconfig ( HWND  hwnd,
UINT  msg,
WPARAM  wparam,
LPARAM  lparam 
)
static

Definition at line 343 of file localui.c.

344 {
345  lptconfig_t * data;
346  WCHAR bufferW[16];
347  DWORD status;
348  DWORD dummy;
349  DWORD len;
350  DWORD res;
351 
352 
353  switch(msg)
354  {
355  case WM_INITDIALOG:
357  data = (lptconfig_t *) lparam;
358 
359  /* Get current setting */
360  data->value = 45;
363  (PBYTE) &dummy, 0,
364  (PBYTE) &data->value, sizeof(data->value), &len, &status);
365 
366  TRACE("got %u with status %u\n", res, status);
367 
368  /* Set current setting as the initial value in the Dialog */
370  return TRUE;
371 
372  case WM_COMMAND:
373  if (wparam == MAKEWPARAM(IDOK, BN_CLICKED))
374  {
376 
377  status = FALSE;
379  /* length is in WCHAR, including the '\0' */
380  GetDlgItemTextW(hwnd, LPTCONFIG_EDIT, bufferW, ARRAY_SIZE(bufferW));
381  TRACE("got %s and %u (translated: %u)\n", debugstr_w(bufferW), res, status);
382 
383  /* native localui.dll use the same limits */
384  if ((res > 0) && (res < 1000000) && status) {
385  swprintf(bufferW, fmt_uW, res);
387  (PBYTE) bufferW,
388  (lstrlenW(bufferW) +1) * sizeof(WCHAR),
389  (PBYTE) &dummy, 0, &len, &status);
390 
391  TRACE("got %u with status %u\n", res, status);
392  EndDialog(hwnd, TRUE);
393  return TRUE;
394  }
395 
396  /* Set initial value and rerun the Dialog */
398  return TRUE;
399  }
400 
402  {
403  EndDialog(hwnd, FALSE);
404  return TRUE;
405  }
406  return FALSE;
407  }
408  return FALSE;
409 }
UINT WINAPI GetDlgItemTextW(HWND hDlg, int nIDDlgItem, LPWSTR lpString, int nMaxCount)
Definition: dialog.c:2263
#define MAKEWPARAM(l, h)
Definition: winuser.h:3989
#define IDOK
Definition: winuser.h:824
#define ERROR_SUCCESS
Definition: deptool.c:10
WINBOOL WINAPI XcvDataW(HANDLE hXcv, PCWSTR pszDataName, PBYTE pInputData, DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData, PDWORD pcbOutputNeeded, PDWORD pdwStatus)
Definition: printers.c:487
#define TRUE
Definition: types.h:120
#define GetWindowLongPtrW
Definition: winuser.h:4809
#define swprintf
Definition: precomp.h:40
#define lstrlenW
Definition: compat.h:609
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
static UINT WPARAM LPARAM lparam
Definition: combo.c:716
#define debugstr_w
Definition: kernel32.h:32
static const WCHAR cmd_GetTransmissionRetryTimeoutW[]
Definition: localui.c:52
UINT WINAPI GetDlgItemInt(_In_ HWND, _In_ int, _Out_opt_ PBOOL, _In_ BOOL)
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define BN_CLICKED
Definition: winuser.h:1912
unsigned long DWORD
Definition: ntddk_ex.h:95
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
static const WCHAR cmd_ConfigureLPTPortCommandOKW[]
Definition: localui.c:45
BOOL WINAPI SetDlgItemInt(_In_ HWND, _In_ int, _In_ UINT, _In_ BOOL)
#define DWLP_USER
Definition: winuser.h:866
GLenum GLsizei len
Definition: glext.h:6722
char * value
Definition: compiler.c:67
#define WM_COMMAND
Definition: winuser.h:1727
#define ARRAY_SIZE(a)
Definition: main.h:24
unsigned char dummy
Definition: maze.c:118
#define msg(x)
Definition: auth_time.c:54
GLuint res
Definition: glext.h:9613
static const WCHAR fmt_uW[]
Definition: localui.c:60
#define LPTCONFIG_EDIT
Definition: localui.h:33
#define SetWindowLongPtrW
Definition: winuser.h:5326
#define IDCANCEL
Definition: winuser.h:825
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4022
static SERVICE_STATUS status
Definition: service.c:31
BYTE * PBYTE
Definition: pedump.c:66
#define WM_INITDIALOG
Definition: winuser.h:1726
static UINT WPARAM wparam
Definition: combo.c:716
Definition: ps.c:97

Referenced by dlg_configure_lpt().

◆ DllMain()

BOOL WINAPI DllMain ( HINSTANCE  hinstDLL,
DWORD  fdwReason,
LPVOID  lpvReserved 
)

Definition at line 682 of file localui.c.

683 {
684  TRACE("(%p, %d, %p)\n",hinstDLL, fdwReason, lpvReserved);
685 
686  switch(fdwReason)
687  {
688  case DLL_PROCESS_ATTACH:
689  DisableThreadLibraryCalls( hinstDLL );
690  LOCALUI_hInstance = hinstDLL;
691  break;
692  }
693  return TRUE;
694 }
#define TRUE
Definition: types.h:120
static HINSTANCE LOCALUI_hInstance
Definition: localui.c:42
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition: loader.c:85
#define DLL_PROCESS_ATTACH
Definition: compat.h:131
static IN DWORD IN LPVOID lpvReserved
#define TRACE(s)
Definition: solgame.cpp:4

◆ get_type_from_name()

static DWORD get_type_from_name ( LPCWSTR  name)
static

Definition at line 417 of file localui.c.

418 {
419  HANDLE hfile;
420 
422  return PORT_IS_LPT;
423 
425  return PORT_IS_COM;
426 
427  if (!wcsicmp(name, portname_FILE))
428  return PORT_IS_FILE;
429 
430  if (name[0] == '/')
431  return PORT_IS_UNIXNAME;
432 
433  if (name[0] == '|')
434  return PORT_IS_PIPE;
435 
437  return PORT_IS_CUPS;
438 
440  return PORT_IS_LPR;
441 
442  /* Must be a file or a directory. Does the file exist ? */
444  TRACE("%p for OPEN_EXISTING on %s\n", hfile, debugstr_w(name));
445  if (hfile == INVALID_HANDLE_VALUE) {
446  /* Can we create the file? */
448  TRACE("%p for OPEN_ALWAYS\n", hfile);
449  }
450  if (hfile != INVALID_HANDLE_VALUE) {
451  CloseHandle(hfile);
452  return PORT_IS_FILENAME;
453  }
454  /* We can't use the name. use GetLastError() for the reason */
455  return PORT_IS_UNKNOWN;
456 }
#define PORT_IS_FILENAME
Definition: spoolss.h:18
#define PORT_IS_CUPS
Definition: localui.h:58
#define CloseHandle
Definition: compat.h:598
#define PORT_IS_UNKNOWN
Definition: spoolss.h:14
#define PORT_IS_PIPE
Definition: spoolss.h:21
_Check_return_ _CRTIMP int __cdecl _wcsnicmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
#define INVALID_HANDLE_VALUE
Definition: compat.h:590
#define PORT_IS_COM
Definition: spoolss.h:16
static const WCHAR portname_CUPS[]
Definition: localui.c:64
#define GENERIC_WRITE
Definition: nt_native.h:90
#define debugstr_w
Definition: kernel32.h:32
#define OPEN_EXISTING
Definition: compat.h:634
#define TRACE(s)
Definition: solgame.cpp:4
#define PORT_IS_LPR
Definition: localui.h:59
#define FILE_FLAG_DELETE_ON_CLOSE
Definition: disk.h:42
#define OPEN_ALWAYS
Definition: disk.h:70
_Check_return_ _CRTIMP int __cdecl wcsncmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
#define wcsicmp
Definition: compat.h:15
#define FILE_ATTRIBUTE_NORMAL
Definition: compat.h:137
static const WCHAR portname_COM[]
Definition: localui.c:62
#define PORT_IS_LPT
Definition: spoolss.h:15
#define PORT_IS_UNIXNAME
Definition: spoolss.h:20
#define ARRAY_SIZE(a)
Definition: main.h:24
#define PORT_IS_FILE
Definition: spoolss.h:17
#define NULL
Definition: types.h:112
#define CreateFileW
Definition: compat.h:600
Definition: name.c:38
static const WCHAR portname_FILE[]
Definition: localui.c:63
static const WCHAR portname_LPT[]
Definition: localui.c:61
static const WCHAR portname_LPR[]
Definition: localui.c:65

Referenced by localui_ConfigurePortUI().

◆ InitializePrintMonitorUI()

PMONITORUI WINAPI InitializePrintMonitorUI ( void  )

Definition at line 665 of file localui.c.

666 {
667  static MONITORUI mymonitorui =
668  {
669  sizeof(MONITORUI),
673  };
674 
675  TRACE("=> %p\n", &mymonitorui);
676  return &mymonitorui;
677 }
static BOOL WINAPI localui_AddPortUI(PCWSTR pName, HWND hWnd, PCWSTR pMonitorName, PWSTR *ppPortName)
Definition: localui.c:502
struct _MONITORUI MONITORUI
static BOOL WINAPI localui_ConfigurePortUI(PCWSTR pName, HWND hWnd, PCWSTR pPortName)
Definition: localui.c:572
static BOOL WINAPI localui_DeletePortUI(PCWSTR pName, HWND hWnd, PCWSTR pPortName)
Definition: localui.c:623
#define TRACE(s)
Definition: solgame.cpp:4

◆ localui_AddPortUI()

static BOOL WINAPI localui_AddPortUI ( PCWSTR  pName,
HWND  hWnd,
PCWSTR  pMonitorName,
PWSTR ppPortName 
)
static

Definition at line 502 of file localui.c.

503 {
505  HANDLE hXcv;
506  DWORD needed;
507  DWORD dummy;
508  DWORD status;
509  DWORD res = FALSE;
510 
511  TRACE( "(%s, %p, %s, %p) (*ppPortName: %p)\n", debugstr_w(pName), hWnd,
512  debugstr_w(pMonitorName), ppPortName, ppPortName ? *ppPortName : NULL);
513 
514  if (open_monitor_by_name(XcvMonitorW, pMonitorName, &hXcv)) {
515 
516  ZeroMemory(&data, sizeof(addportui_t));
517  data.hXcv = hXcv;
520 
521  TRACE("got %u with %u for %s\n", res, GetLastError(), debugstr_w(data.portname));
522 
523  if (ppPortName) *ppPortName = NULL;
524 
525  if (res) {
526  res = XcvDataW(hXcv, cmd_AddPortW, (PBYTE) data.portname,
527  (lstrlenW(data.portname)+1) * sizeof(WCHAR),
528  (PBYTE) &dummy, 0, &needed, &status);
529 
530  TRACE("got %u with status %u\n", res, status);
531  if (res && (status == ERROR_SUCCESS) && ppPortName) {
532  /* Native localui uses GlobalAlloc also.
533  The caller must GlobalFree the buffer */
534  *ppPortName = GlobalAlloc(GPTR, (lstrlenW(data.portname)+1) * sizeof(WCHAR));
535  if (*ppPortName) lstrcpyW(*ppPortName, data.portname);
536  }
537 
538  if (res && (status == ERROR_ALREADY_EXISTS)) {
539  dlg_port_already_exists(hWnd, data.portname);
540  /* Native localui also return "TRUE" from AddPortUI in this case */
541  }
542 
543  HeapFree(GetProcessHeap(), 0, data.portname);
544  }
545  else
546  {
548  }
550  }
551 
552  TRACE("=> %u with %u\n", res, GetLastError());
553  return res;
554 }
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:368
INT_PTR WINAPI DialogBoxParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
#define ERROR_SUCCESS
Definition: deptool.c:10
WINBOOL WINAPI XcvDataW(HANDLE hXcv, PCWSTR pszDataName, PBYTE pInputData, DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData, PDWORD pcbOutputNeeded, PDWORD pdwStatus)
Definition: printers.c:487
#define GPTR
Definition: winbase.h:293
static HINSTANCE LOCALUI_hInstance
Definition: localui.c:42
HWND hWnd
Definition: settings.c:17
static BOOL open_monitor_by_name(LPCWSTR pPrefix, LPCWSTR pPort, HANDLE *phandle)
Definition: localui.c:462
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1040
#define ZeroMemory
Definition: winbase.h:1664
#define lstrlenW
Definition: compat.h:609
#define FALSE
Definition: types.h:117
#define debugstr_w
Definition: kernel32.h:32
WINBOOL WINAPI ClosePrinter(HANDLE hPrinter)
Definition: printers.c:176
LONG_PTR LPARAM
Definition: windef.h:208
#define TRACE(s)
Definition: solgame.cpp:4
static LPSTR pName
Definition: security.c:75
#define GetProcessHeap()
Definition: compat.h:595
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned long DWORD
Definition: ntddk_ex.h:95
#define SetLastError(x)
Definition: compat.h:611
#define ADDPORT_DIALOG
Definition: localui.h:28
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
static const WCHAR XcvMonitorW[]
Definition: localui.c:67
static INT_PTR CALLBACK dlgproc_addport(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
Definition: localui.c:269
static const WCHAR cmd_AddPortW[]
Definition: localui.c:44
#define lstrcpyW
Definition: compat.h:608
#define ERROR_CANCELLED
Definition: winerror.h:726
unsigned char dummy
Definition: maze.c:118
static void dlg_port_already_exists(HWND hWnd, LPCWSTR portname)
Definition: localui.c:176
#define NULL
Definition: types.h:112
GLuint res
Definition: glext.h:9613
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
#define ERROR_ALREADY_EXISTS
Definition: disk.h:80
static HANDLE hXcv
Definition: localmon.c:73
static SERVICE_STATUS status
Definition: service.c:31
BYTE * PBYTE
Definition: pedump.c:66
#define HeapFree(x, y, z)
Definition: compat.h:594
Definition: ps.c:97

Referenced by InitializePrintMonitorUI().

◆ localui_ConfigurePortUI()

static BOOL WINAPI localui_ConfigurePortUI ( PCWSTR  pName,
HWND  hWnd,
PCWSTR  pPortName 
)
static

Definition at line 572 of file localui.c.

573 {
574  HANDLE hXcv;
575  DWORD res;
576 
577  TRACE("(%s, %p, %s)\n", debugstr_w(pName), hWnd, debugstr_w(pPortName));
578  if (open_monitor_by_name(XcvPortW, pPortName, &hXcv)) {
579 
580  res = get_type_from_name(pPortName);
581  switch(res)
582  {
583 
584  case PORT_IS_COM:
585  res = dlg_configure_com(hXcv, hWnd, pPortName);
586  break;
587 
588  case PORT_IS_LPT:
590  break;
591 
592  default:
595  res = FALSE;
596  }
597 
599  return res;
600  }
601  return FALSE;
602 
603 }
HWND hWnd
Definition: settings.c:17
static BOOL open_monitor_by_name(LPCWSTR pPrefix, LPCWSTR pPort, HANDLE *phandle)
Definition: localui.c:462
#define PORT_IS_COM
Definition: spoolss.h:16
#define FALSE
Definition: types.h:117
static const WCHAR XcvPortW[]
Definition: localui.c:68
#define debugstr_w
Definition: kernel32.h:32
WINBOOL WINAPI ClosePrinter(HANDLE hPrinter)
Definition: printers.c:176
#define TRACE(s)
Definition: solgame.cpp:4
static LPSTR pName
Definition: security.c:75
static BOOL dlg_configure_lpt(HANDLE hXcv, HWND hWnd)
Definition: localui.c:155
unsigned long DWORD
Definition: ntddk_ex.h:95
#define SetLastError(x)
Definition: compat.h:611
static void dlg_nothingtoconfig(HWND hWnd)
Definition: localui.c:229
#define PORT_IS_LPT
Definition: spoolss.h:15
static DWORD get_type_from_name(LPCWSTR name)
Definition: localui.c:417
#define ERROR_CANCELLED
Definition: winerror.h:726
static BOOL dlg_configure_com(HANDLE hXcv, HWND hWnd, PCWSTR pPortName)
Definition: localui.c:108
GLuint res
Definition: glext.h:9613
static HANDLE hXcv
Definition: localmon.c:73

Referenced by InitializePrintMonitorUI().

◆ localui_DeletePortUI()

static BOOL WINAPI localui_DeletePortUI ( PCWSTR  pName,
HWND  hWnd,
PCWSTR  pPortName 
)
static

Definition at line 623 of file localui.c.

624 {
625  HANDLE hXcv;
626  DWORD dummy;
627  DWORD needed;
628  DWORD status;
629 
630  TRACE("(%s, %p, %s)\n", debugstr_w(pName), hWnd, debugstr_w(pPortName));
631 
632  if ((!pPortName) || (!pPortName[0])) {
634  return FALSE;
635  }
636 
637  if (open_monitor_by_name(XcvPortW, pPortName, &hXcv)) {
638  /* native localui tests here for LPT / COM - Ports and failed with
639  ERROR_NOT_SUPPORTED. */
640  if (XcvDataW(hXcv, cmd_DeletePortW, (LPBYTE) pPortName,
641  (lstrlenW(pPortName)+1) * sizeof(WCHAR), (LPBYTE) &dummy, 0, &needed, &status)) {
642 
645  return (status == ERROR_SUCCESS);
646  }
648  return FALSE;
649  }
651  return FALSE;
652 }
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101
#define ERROR_SUCCESS
Definition: deptool.c:10
WINBOOL WINAPI XcvDataW(HANDLE hXcv, PCWSTR pszDataName, PBYTE pInputData, DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData, PDWORD pcbOutputNeeded, PDWORD pdwStatus)
Definition: printers.c:487
HWND hWnd
Definition: settings.c:17
static BOOL open_monitor_by_name(LPCWSTR pPrefix, LPCWSTR pPort, HANDLE *phandle)
Definition: localui.c:462
#define lstrlenW
Definition: compat.h:609
static const WCHAR cmd_DeletePortW[]
Definition: localui.c:48
unsigned char * LPBYTE
Definition: typedefs.h:53
#define FALSE
Definition: types.h:117
static const WCHAR XcvPortW[]
Definition: localui.c:68
#define debugstr_w
Definition: kernel32.h:32
#define ERROR_UNKNOWN_PORT
Definition: winerror.h:1103
WINBOOL WINAPI ClosePrinter(HANDLE hPrinter)
Definition: printers.c:176
#define TRACE(s)
Definition: solgame.cpp:4
static LPSTR pName
Definition: security.c:75
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned long DWORD
Definition: ntddk_ex.h:95
#define SetLastError(x)
Definition: compat.h:611
unsigned char dummy
Definition: maze.c:118
static HANDLE hXcv
Definition: localmon.c:73
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

Referenced by InitializePrintMonitorUI().

◆ open_monitor_by_name()

static BOOL open_monitor_by_name ( LPCWSTR  pPrefix,
LPCWSTR  pPort,
HANDLE phandle 
)
static

Definition at line 462 of file localui.c.

463 {
466  BOOL res;
467 
468  * phandle = 0;
469  TRACE("(%s,%s)\n", debugstr_w(pPrefix),debugstr_w(pPort) );
470 
471  fullname = strdupWW(pPrefix, pPort);
472  pd.pDatatype = NULL;
473  pd.pDevMode = NULL;
475 
476  res = OpenPrinterW(fullname, phandle, &pd);
478  return res;
479 }
LPDEVMODEW pDevMode
Definition: winspool.h:862
unsigned int BOOL
Definition: ntddk_ex.h:94
#define debugstr_w
Definition: kernel32.h:32
static LPWSTR strdupWW(LPCWSTR pPrefix, LPCWSTR pSuffix)
Definition: localui.c:89
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:595
ACCESS_MASK DesiredAccess
Definition: winspool.h:863
const char * fullname
Definition: shader.c:1766
WINBOOL WINAPI OpenPrinterW(LPWSTR pPrinterName, LPHANDLE phPrinter, LPPRINTER_DEFAULTSW pDefault)
Definition: printers.c:2624
#define NULL
Definition: types.h:112
#define SERVER_ACCESS_ADMINISTER
Definition: winspool.h:1366
GLuint res
Definition: glext.h:9613
WCHAR * LPWSTR
Definition: xmlstorage.h:184
#define HeapFree(x, y, z)
Definition: compat.h:594

Referenced by localui_AddPortUI(), localui_ConfigurePortUI(), and localui_DeletePortUI().

◆ strdupWW()

static LPWSTR strdupWW ( LPCWSTR  pPrefix,
LPCWSTR  pSuffix 
)
static

Definition at line 89 of file localui.c.

90 {
91  LPWSTR ptr;
92  DWORD len;
93 
94  len = lstrlenW(pPrefix) + (pSuffix ? lstrlenW(pSuffix) : 0) + 1;
95  ptr = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
96  if (ptr) {
97  lstrcpyW(ptr, pPrefix);
98  if (pSuffix) lstrcatW(ptr, pSuffix);
99  }
100  return ptr;
101 }
#define lstrlenW
Definition: compat.h:609
static PVOID ptr
Definition: dispmode.c:27
#define GetProcessHeap()
Definition: compat.h:595
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum GLsizei len
Definition: glext.h:6722
#define lstrcpyW
Definition: compat.h:608
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:274
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by open_monitor_by_name().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( localui  )

Variable Documentation

◆ cmd_AddPortW

const WCHAR cmd_AddPortW[] = {'A','d','d','P','o','r','t',0}
static

Definition at line 44 of file localui.c.

Referenced by localui_AddPortUI().

◆ cmd_ConfigureLPTPortCommandOKW

const WCHAR cmd_ConfigureLPTPortCommandOKW[]
static
Initial value:
= {'C','o','n','f','i','g','u','r','e',
'L','P','T','P','o','r','t',
'C','o','m','m','a','n','d','O','K',0}

Definition at line 45 of file localui.c.

Referenced by dlgproc_lptconfig().

◆ cmd_DeletePortW

const WCHAR cmd_DeletePortW[] = {'D','e','l','e','t','e','P','o','r','t',0}
static

Definition at line 48 of file localui.c.

Referenced by localui_DeletePortUI().

◆ cmd_GetDefaultCommConfigW

const WCHAR cmd_GetDefaultCommConfigW[]
static
Initial value:
= {'G','e','t',
'D','e','f','a','u','l','t',
'C','o','m','m','C','o','n','f','i','g',0}

Definition at line 49 of file localui.c.

Referenced by dlg_configure_com().

◆ cmd_GetTransmissionRetryTimeoutW

const WCHAR cmd_GetTransmissionRetryTimeoutW[]
static
Initial value:
= {'G','e','t',
'T','r','a','n','s','m','i','s','s','i','o','n',
'R','e','t','r','y','T','i','m','e','o','u','t',0}

Definition at line 52 of file localui.c.

Referenced by dlgproc_lptconfig().

◆ cmd_PortIsValidW

const WCHAR cmd_PortIsValidW[] = {'P','o','r','t','I','s','V','a','l','i','d',0}
static

Definition at line 55 of file localui.c.

Referenced by dlgproc_addport().

◆ cmd_SetDefaultCommConfigW

const WCHAR cmd_SetDefaultCommConfigW[]
static
Initial value:
= {'S','e','t',
'D','e','f','a','u','l','t',
'C','o','m','m','C','o','n','f','i','g',0}

Definition at line 56 of file localui.c.

Referenced by dlg_configure_com().

◆ fmt_uW

const WCHAR fmt_uW[] = {'%','u',0}
static

Definition at line 60 of file localui.c.

Referenced by dlgproc_lptconfig().

◆ LOCALUI_hInstance

◆ portname_COM

const WCHAR portname_COM[] = {'C','O','M',0}
static

Definition at line 62 of file localui.c.

Referenced by get_type_from_name().

◆ portname_CUPS

const WCHAR portname_CUPS[] = {'C','U','P','S',':',0}
static

Definition at line 64 of file localui.c.

Referenced by get_type_from_name().

◆ portname_FILE

const WCHAR portname_FILE[] = {'F','I','L','E',':',0}
static

Definition at line 63 of file localui.c.

Referenced by get_type_from_name().

◆ portname_LPR

const WCHAR portname_LPR[] = {'L','P','R',':',0}
static

Definition at line 65 of file localui.c.

Referenced by get_type_from_name().

◆ portname_LPT

const WCHAR portname_LPT[] = {'L','P','T',0}
static

Definition at line 61 of file localui.c.

Referenced by get_type_from_name().

◆ XcvMonitorW

const WCHAR XcvMonitorW[] = {',','X','c','v','M','o','n','i','t','o','r',' ',0}
static

Definition at line 67 of file localui.c.

Referenced by localui_AddPortUI().

◆ XcvPortW

const WCHAR XcvPortW[] = {',','X','c','v','P','o','r','t',' ',0}
static

Definition at line 68 of file localui.c.

Referenced by localui_ConfigurePortUI(), and localui_DeletePortUI().