16 TRACE(
"AdvancedSetupDialog(%p, %d, %p, %p)\n",
hWnd,
Unknown, pDevModeOutput, pDevModeInput);
29 TRACE(
"AdvancedDocumentPropertiesA(%p, %p, %s, %p, %p)\n",
hWnd, hPrinter, pDeviceName, pDevModeOutput, pDevModeInput);
37 TRACE(
"AdvancedDocumentPropertiesW(%p, %p, %S, %p, %p)\n",
hWnd, hPrinter, pDeviceName, pDevModeOutput, pDevModeInput);
49 TRACE(
"DeletePrinterDataA(%p, %s)\n", hPrinter, pValueName);
74 TRACE(
"DeletePrinterDataExA(%p, %s, %s)\n", hPrinter, pKeyName, pValueName);
101 TRACE(
"DeletePrinterDataExW(%p, %S, %S)\n", hPrinter, pKeyName, pValueName);
109 TRACE(
"DeletePrinterDataW(%p, %S)\n", hPrinter, pValueName);
121 TRACE(
"DeletePrinterKeyA(%p, %s)\n", hPrinter, pKeyName);
140 TRACE(
"DeletePrinterKeyW(%p, %S)\n", hPrinter, pKeyName);
148 TRACE(
"EnumPrinterDataA(%p, %lu, %s, %lu, %p, %p, %p, %lu, %p)\n", hPrinter, dwIndex, pValueName, cbValueName, pcbValueName, pType,
pData, cbData,
pcbData);
162 TRACE(
"EnumPrinterDataExA(%p, %s, %p, %lu, %p, %p)\n", hPrinter, pKeyName, pEnumValues, cbEnumValues, pcbEnumValues, pnEnumValues);
164 if (pKeyName ==
NULL || *pKeyName == 0)
171 ERR (
"MultiByteToWideChar failed with code %i\n",
ret);
178 ERR (
"GetProcessHeap failed\n");
183 if (pKeyNameW ==
NULL)
185 ERR (
"Failed to allocate %i bytes from process heap\n",
193 ERR (
"MultiByteToWideChar failed with code %i\n",
ret);
194 if (
HeapFree (hHeap, 0, pKeyNameW) == 0)
199 ret =
EnumPrinterDataExW (hPrinter, pKeyNameW, pEnumValues, cbEnumValues, pcbEnumValues, pnEnumValues);
203 if (
HeapFree (hHeap, 0, pKeyNameW) == 0)
205 TRACE (
"EnumPrinterDataExW returned %i\n",
ret);
209 if (
HeapFree (hHeap, 0, pKeyNameW) == 0)
212 ERR (
"HeapFree failed with code %i\n",
ret);
216 if (*pnEnumValues == 0)
220 for (dwIndex = 0; dwIndex < *pnEnumValues; ++dwIndex)
224 if (dwBufSize < ppev->cbValueName)
227 if ( dwBufSize < ppev->cbData &&
232 FIXME (
"Largest Unicode name or value is %i bytes\n", dwBufSize);
237 ERR (
"Failed to allocate %i bytes from process heap\n", dwBufSize);
241 for (dwIndex = 0; dwIndex < *pnEnumValues; ++dwIndex)
252 ERR (
"WideCharToMultiByte failed with code %i\n",
ret);
260 TRACE (
"Converted '%s' from Unicode to ASCII\n",
pBuffer);
271 ERR (
"WideCharToMultiByte failed with code %i\n",
ret);
279 TRACE (
"Converted '%s' from Unicode to ASCII\n",
pBuffer);
280 TRACE (
" (only first string of REG_MULTI_SZ printed)\n");
286 ERR (
"HeapFree failed with code %i\n",
ret);
296 TRACE(
"EnumPrinterDataExW(%p, %S, %p, %lu, %p, %p)\n", hPrinter, pKeyName, pEnumValues, cbEnumValues, pcbEnumValues, pnEnumValues);
304 TRACE(
"EnumPrinterDataW(%p, %lu, %S, %lu, %p, %p, %p, %lu, %p)\n", hPrinter, dwIndex, pValueName, cbValueName, pcbValueName, pType,
pData, cbData,
pcbData);
312 TRACE(
"EnumPrinterKeyA(%p, %s, %s, %lu, %p)\n", hPrinter, pKeyName, pSubkey, cbSubkey, pcbSubkey);
320 TRACE(
"EnumPrinterKeyW(%p, %S, %S, %lu, %p)\n", hPrinter, pKeyName, pSubkey, cbSubkey, pcbSubkey);
328 TRACE(
"GetPrinterDataA(%p, %s, %p, %p, %lu, %p)\n", hPrinter, pValueName, pType,
pData,
nSize,
pcbNeeded);
345 TRACE(
"GetPrinterDataExA(%p, %s, %s, %p, %p, %lu, %p)\n", hPrinter, pKeyName, pValueName, pType,
pData,
nSize,
pcbNeeded);
356 ERR(
"HeapAlloc failed!\n");
372 ERR(
"HeapAlloc failed!\n");
431 ERR(
"HeapAlloc failed!\n");
492 return dwReturnValue;
498 const WCHAR wszEmptyString[] =
L"";
505 TRACE(
"GetPrinterDataExW(%p, %S, %S, %p, %p, %lu, %p)\n", hPrinter, pKeyName, pValueName, pType,
pData,
nSize,
pcbNeeded);
514 pKeyName = wszEmptyString;
539 TRACE(
"GetPrinterDataW(%p, %S, %p, %p, %lu, %p)\n", hPrinter, pValueName, pType,
pData,
nSize,
pcbNeeded);
546 TRACE(
"SetPrinterDataA(%p, %s, %lu, %p, %lu)\n", hPrinter, pValueName,
Type,
pData, cbData);
559 TRACE(
"SetPrinterDataExA(%p, %s, %s, %lu, %p, %lu)\n", hPrinter, pKeyName, pValueName,
Type,
pData, cbData);
570 ERR(
"HeapAlloc failed!\n");
586 ERR(
"HeapAlloc failed!\n");
600 ERR(
"HeapAlloc failed!\n");
607 cbData *=
sizeof(
WCHAR);
622 return dwReturnValue;
628 const WCHAR wszEmptyString[] =
L"";
633 TRACE(
"SetPrinterDataExW(%p, %S, %S, %lu, %p, %lu)\n", hPrinter, pKeyName, pValueName,
Type,
pData, cbData);
640 pKeyName = wszEmptyString;
659 TRACE(
"SetPrinterDataW(%p, %S, %lu, %p, %lu)\n", hPrinter, pValueName,
Type,
pData, cbData);
DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter, PCSTR pKeyName, PBYTE pEnumValues, DWORD cbEnumValues, PDWORD pcbEnumValues, PDWORD pnEnumValues)
#define ERROR_INVALID_PARAMETER
DWORD WINAPI DeletePrinterDataW(HANDLE hPrinter, PWSTR pValueName)
DWORD WINAPI SetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, LPCWSTR pValueName, DWORD Type, LPBYTE pData, DWORD cbData)
#define WideCharToMultiByte
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList
ACPI_SIZE strlen(const char *String)
struct _OSVERSIONINFOEXW * POSVERSIONINFOEXW
DWORD _RpcSetPrinterDataEx(WINSPOOL_PRINTER_HANDLE hPrinter, const WCHAR *pKeyName, const WCHAR *pValueName, DWORD Type, BYTE *pData, DWORD cbData)
#define ERROR_INVALID_HANDLE
*nSize LPSTR _Inout_ LPDWORD nSize
#define ERROR_NOT_ENOUGH_MEMORY
DWORD WINAPI GetLastError(VOID)
LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd, HANDLE hPrinter, PSTR pDeviceName, PDEVMODEA pDevModeOutput, PDEVMODEA pDevModeInput)
DWORD WINAPI GetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, LPCWSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded)
DWORD WINAPI EnumPrinterKeyA(HANDLE hPrinter, PCSTR pKeyName, PSTR pSubkey, DWORD cbSubkey, PDWORD pcbSubkey)
DWORD WINAPI DeletePrinterDataExA(HANDLE hPrinter, PCSTR pKeyName, PCSTR pValueName)
DWORD WINAPI DeletePrinterKeyW(HANDLE hPrinter, PCWSTR pKeyName)
WINBOOL WINAPI ClosePrinter(HANDLE hPrinter)
DWORD WINAPI EnumPrinterKeyW(HANDLE hPrinter, PCWSTR pKeyName, PWSTR pSubkey, DWORD cbSubkey, PDWORD pcbSubkey)
WINBOOL WINAPI OpenPrinterA(LPSTR pPrinterName, LPHANDLE phPrinter, LPPRINTER_DEFAULTSA pDefault)
DWORD WINAPI DeletePrinterDataExW(HANDLE hPrinter, PCWSTR pKeyName, PCWSTR pValueName)
struct _OSVERSIONINFOEXA OSVERSIONINFOEXA
struct _PRINTER_ENUM_VALUESW * PPRINTER_ENUM_VALUESW
#define RpcExceptionCode()
ULONG dwOSVersionInfoSize
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName, LPCSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded)
_In_z_ PCWSTR pwszValueName
#define EXCEPTION_EXECUTE_HANDLER
DWORD WINAPI SetPrinterDataA(HANDLE hPrinter, PSTR pValueName, DWORD Type, PBYTE pData, DWORD cbData)
DWORD WINAPI SetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName, LPCSTR pValueName, DWORD Type, LPBYTE pData, DWORD cbData)
DWORD WINAPI DeletePrinterKeyA(HANDLE hPrinter, PCSTR pKeyName)
DWORD WINAPI EnumPrinterDataW(HANDLE hPrinter, DWORD dwIndex, PWSTR pValueName, DWORD cbValueName, PDWORD pcbValueName, PDWORD pType, PBYTE pData, DWORD cbData, PDWORD pcbData)
#define memcpy(s1, s2, n)
static const WCHAR Cleanup[]
DWORD WINAPI GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded)
DWORD _RpcGetPrinterDataEx(WINSPOOL_PRINTER_HANDLE hPrinter, const WCHAR *pKeyName, const WCHAR *pValueName, DWORD *pType, BYTE *pData, DWORD nSize, DWORD *pcbNeeded)
struct _OSVERSIONINFOA OSVERSIONINFOA
_In_ DWORD _Out_ PDWORD pcbNeeded
#define SPLREG_OS_VERSIONEX
struct _OSVERSIONINFOEXA * POSVERSIONINFOEXA
BYTE dmDeviceName[CCHDEVICENAME]
#define SPLREG_OS_VERSION
#define MultiByteToWideChar
LONG WINAPI AdvancedSetupDialog(HWND hWnd, INT Unknown, PDEVMODEA pDevModeInput, PDEVMODEA pDevModeOutput)
#define ERROR_NOT_SUPPORTED
DWORD WINAPI GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded)
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
DWORD WINAPI SetPrinterDataW(HANDLE hPrinter, PWSTR pValueName, DWORD Type, PBYTE pData, DWORD cbData)
DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter, PCWSTR pKeyName, PBYTE pEnumValues, DWORD cbEnumValues, PDWORD pcbEnumValues, PDWORD pnEnumValues)
struct _SPOOLER_HANDLE * PSPOOLER_HANDLE
#define HeapFree(x, y, z)
DWORD WINAPI DeletePrinterDataA(HANDLE hPrinter, PSTR pValueName)
_In_ DWORD _Out_writes_bytes_to_opt_ pcbData void _Inout_ DWORD * pcbData
DWORD WINAPI EnumPrinterDataA(HANDLE hPrinter, DWORD dwIndex, PSTR pValueName, DWORD cbValueName, PDWORD pcbValueName, PDWORD pType, PBYTE pData, DWORD cbData, PDWORD pcbData)
LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter, PWSTR pDeviceName, PDEVMODEW pDevModeOutput, PDEVMODEW pDevModeInput)