59 if (Level < 2 || Level == 5 || Level == 7 || Level > 8)
267 TRACE(
"AddPrinterDriverExW(%S, %lu, %p, %lu)\n",
pName,
Level, pDriverInfo, dwFileCopyFlags);
282 pdi->cchColorProfiles = 0;
291 pdi->cchCoreDependencies = 0;
318 pdi->cchPreviousNames = 0;
335 pdi->cchDependentFiles = 0;
374 ERR(
"_RpcAddPrinterDriverEx failed with exception code %lu!\n", dwErrorCode);
394 TRACE(
"DeletePrinterDriverA(%s, %s, %s)\n",
pName, pEnvironment, pDriverName);
405 TRACE(
"DeletePrinterDriverExA(%s, %s, %s, %lu, %lu)\n",
pName, pEnvironment, pDriverName, dwDeleteFlag, dwVersionFlag);
428 TRACE(
"DeletePrinterDriverExW(%S, %S, %S, %lu, %lu)\n",
pName, pEnvironment, pDriverName, dwDeleteFlag, dwVersionFlag);
430 if ( !pDriverName || !*pDriverName )
436 if ( !pEnvironment || !*pEnvironment )
449 ERR(
"_RpcDeletePrinterDriverEx failed with exception code %lu!\n", dwErrorCode);
461 TRACE(
"DeletePrinterDriverW(%S, %S, %S)\n",
pName, pEnvironment, pDriverName);
471 PWSTR pwstrNameW, pwstrEnvironmentW;
475 FIXME(
"EnumPrinterDriversA(%s, %s, %lu, %p, %lu, %p, %p)\n",
pName, pEnvironment,
Level, pDriverInfo, cbBuf,
pcbNeeded, pcReturned);
486 for (
i = 0;
i < *pcReturned;
i++ )
637 FIXME(
"EnumPrinterDriversW(%S, %S, %lu, %p, %lu, %p, %p)\n",
pName, pEnvironment,
Level, pDriverInfo, cbBuf,
pcbNeeded, pcReturned);
640 if (Level < 1 || Level == 7 || Level > 8)
646 if ( !pEnvironment || !*pEnvironment )
651 if (cbBuf && pDriverInfo)
662 ERR(
"_RpcEnumPrinterDrivers failed with exception code %lu!\n", dwErrorCode);
674 SetLastError(dwErrorCode);
FIXME(
"EnumPrinterDriversW Exit Err %d\n",dwErrorCode);
693 TRACE(
"GetPrinterDriverA(%p, %s, %lu, %p, %lu, %p)\n", hPrinter, pEnvironment,
Level, pDriverInfo, cbBuf,
pcbNeeded);
696 if (Level < 1 || Level == 7 || Level > 8)
709 if (!pwszEnvironment)
712 ERR(
"HeapAlloc failed!\n");
878 TRACE(
"GetPrinterDriverW(%p, %S, %lu, %p, %lu, %p)\n", hPrinter, pEnvironment,
Level, pDriverInfo, cbBuf,
pcbNeeded);
894 if ( !pEnvironment || !*pEnvironment )
899 if (cbBuf && pDriverInfo)
910 ERR(
"_RpcGetPrinterDriver failed with exception code %lu!\n", dwErrorCode);
935 TRACE(
"GetPrinterDriverDirectoryA(%s, %s, %d, %p, %d, %p)\n",
debugstr_a(
pName),
debugstr_a(pEnvironment),
Level, pDriverDirectory, cbBuf,
pcbNeeded);
965 ret = needed <= cbBuf;
986 TRACE(
"GetPrinterDriverDirectoryW(%S, %S, %lu, %p, %lu, %p)\n",
pName, pEnvironment,
Level, pDriverDirectory, cbBuf,
pcbNeeded);
994 if ( !pEnvironment || !*pEnvironment )
1007 ERR(
"_RpcGetPrinterDriverDirectory failed with exception code %lu!\n", dwErrorCode);
ACPI_SIZE strlen(const char *String)
static const WCHAR nameW[]
BOOL WINAPI AddPrinterDriverW(PWSTR pName, DWORD Level, PBYTE pDriverInfo)
BOOL WINAPI DeletePrinterDriverW(PWSTR pName, PWSTR pEnvironment, PWSTR pDriverName)
BOOL WINAPI GetPrinterDriverDirectoryW(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pDriverDirectory, DWORD cbBuf, PDWORD pcbNeeded)
BOOL WINAPI GetPrinterDriverW(HANDLE hPrinter, PWSTR pEnvironment, DWORD Level, PBYTE pDriverInfo, DWORD cbBuf, PDWORD pcbNeeded)
BOOL WINAPI AddPrinterDriverExW(PWSTR pName, DWORD Level, PBYTE pDriverInfo, DWORD dwFileCopyFlags)
BOOL WINAPI EnumPrinterDriversW(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pDriverInfo, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
BOOL WINAPI DeletePrinterDriverExW(PWSTR pName, PWSTR pEnvironment, PWSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag)
DWORD _RpcAddPrinterDriverEx(WINSPOOL_HANDLE pName, WINSPOOL_DRIVER_CONTAINER *pDriverContainer, DWORD dwFileCopyFlags)
DWORD _RpcDeletePrinterDriverEx(WINSPOOL_HANDLE pName, WCHAR *pEnvironment, WCHAR *pDriverName, DWORD dwDeleteFlag, DWORD dwVersionNum)
DWORD _RpcEnumPrinterDrivers(WINSPOOL_HANDLE pName, WCHAR *pEnvironment, DWORD Level, BYTE *pDrivers, DWORD cbBuf, DWORD *pcbNeeded, DWORD *pcReturned)
DWORD _RpcGetPrinterDriver(WINSPOOL_PRINTER_HANDLE hPrinter, WCHAR *pEnvironment, DWORD Level, BYTE *pDriver, DWORD cbBuf, DWORD *pcbNeeded)
DWORD _RpcGetPrinterDriverDirectory(WINSPOOL_HANDLE pName, WCHAR *pEnvironment, DWORD Level, BYTE *pDriverDirectory, DWORD cbBuf, DWORD *pcbNeeded)
BOOL WINAPI DeletePrinterDriverA(PSTR pName, PSTR pEnvironment, PSTR pDriverName)
BOOL WINAPI AddPrinterDriverExA(PSTR pName, DWORD Level, PBYTE pDriverInfo, DWORD dwFileCopyFlags)
static int multi_sz_lenW(const WCHAR *str)
const WCHAR wszCurrentEnvironment[]
BOOL WINAPI EnumPrinterDriversA(PSTR pName, PSTR pEnvironment, DWORD Level, PBYTE pDriverInfo, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
BOOL WINAPI DeletePrinterDriverExA(PSTR pName, PSTR pEnvironment, PSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag)
static int multi_sz_lenA(const char *str)
BOOL WINAPI AddPrinterDriverA(PSTR pName, DWORD Level, PBYTE pDriverInfo)
BOOL WINAPI GetPrinterDriverDirectoryA(PSTR pName, PSTR pEnvironment, DWORD Level, PBYTE pDriverDirectory, DWORD cbBuf, PDWORD pcbNeeded)
BOOL WINAPI GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded)
#define ERROR_NOT_ENOUGH_MEMORY
#define ERROR_INVALID_PARAMETER
#define HeapFree(x, y, z)
#define ERROR_INVALID_HANDLE
#define WideCharToMultiByte
#define MultiByteToWideChar
static const WCHAR Cleanup[]
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define EXCEPTION_EXECUTE_HANDLER
int WINAPI lstrlenA(LPCSTR lpString)
BOOL WINAPI MarshallUpStructuresArray(DWORD cbSize, PVOID pStructuresArray, DWORD cElements, const MARSHALLING_INFO *pInfo, DWORD cbStructureSize, BOOL bSomeBoolean)
BOOL WINAPI MarshallUpStructure(DWORD cbSize, PVOID pStructure, const MARSHALLING_INFO *pInfo, DWORD cbStructureSize, BOOL bSomeBoolean)
wstring AsciiToUnicode(const char *AsciiString)
static DWORD DWORD void LPSTR DWORD cch
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeStringFromAsciiz(_Out_ PUNICODE_STRING Destination, _In_ PCSZ Source)
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
static const MARSHALLING * pPrinterDriverMarshalling[]
#define RpcExceptionCode()
DWORDLONG dwlDriverVersion
FILETIME ftMinInboxDriverVerDate
DWORD dwPrinterDriverAttributes
DWORDLONG dwlDriverVersion
LPSTR pszzCoreDriverDependencies
DWORDLONG dwlMinInboxDriverVerVersion
DWORDLONG dwlMinInboxDriverVerVersion
LPWSTR pszzCoreDriverDependencies
DWORDLONG dwlDriverVersion
FILETIME ftMinInboxDriverVerDate
DWORD dwPrinterDriverAttributes
WINSPOOL_DRIVER_INFO_8 * Level8
union _WINSPOOL_DRIVER_CONTAINER::@3443 DriverInfo
struct _SPOOLER_HANDLE * PSPOOLER_HANDLE
DWORD UnicodeToAnsiInPlace(PWSTR pwszField)
DWORD UnicodeToAnsiZZInPlace(PWSTR pwszzField)
DWORD WINAPI GetLastError(void)
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO * pdi
_In_ DWORD _Out_ PDWORD pcbNeeded
#define ERROR_INVALID_LEVEL
struct _DRIVER_INFO_6W * PDRIVER_INFO_6W
struct _DRIVER_INFO_3W * PDRIVER_INFO_3W
struct _DRIVER_INFO_4W * PDRIVER_INFO_4W
struct _DRIVER_INFO_8W * PDRIVER_INFO_8W
struct _DRIVER_INFO_2W * PDRIVER_INFO_2W
struct _DRIVER_INFO_1W * PDRIVER_INFO_1W
#define APD_COPY_NEW_FILES
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level