23#define MAX_SYSTEM_DIRID DIRID_PRINTPROCESSOR
24#define MIN_CSIDL_DIRID 0x4000
25#define MAX_CSIDL_DIRID 0x403f
42 static WCHAR *unknown_dirid;
43 static const WCHAR unknown_str[] = {
'\\',
'u',
'n',
'k',
'n',
'o',
'w',
'n',0};
50 strcatW( unknown_dirid, unknown_str );
60 static const WCHAR Null[] = {0};
61 static const WCHAR C_Root[] = {
'C',
':',
'\\',0};
62 static const WCHAR Drivers[] = {
'\\',
'd',
'r',
'i',
'v',
'e',
'r',
's',0};
63 static const WCHAR Inf[] = {
'\\',
'i',
'n',
'f',0};
64 static const WCHAR Help[] = {
'\\',
'h',
'e',
'l',
'p',0};
65 static const WCHAR Fonts[] = {
'\\',
'f',
'o',
'n',
't',
's',0};
66 static const WCHAR Viewers[] = {
'\\',
'v',
'i',
'e',
'w',
'e',
'r',
's',0};
67 static const WCHAR System[] = {
'\\',
's',
'y',
's',
't',
'e',
'm',0};
68 static const WCHAR Spool[] = {
'\\',
's',
'p',
'o',
'o',
'l',0};
69 static const WCHAR UserProfile[] = {
'U',
'S',
'E',
'R',
'P',
'R',
'O',
'F',
'I',
'L',
'E',0};
129 WARN(
"cannot retrieve print processor directory\n" );
135 FIXME(
"unknown dirid %d\n", dirid );
150 FIXME(
"CSIDL %x not found\n", csidl );
169 WARN(
"user id %d not found\n", dirid );
205 new_size *
sizeof(*
new) );
208 new_size *
sizeof(*
new) );
210 if (!
new)
return FALSE;
#define ERROR_NOT_ENOUGH_MEMORY
static int alloc_user_dirids
static const WCHAR * create_system_dirid(int dirid)
static struct user_dirid * user_dirids
BOOL WINAPI SetupSetDirectoryIdA(HINF hinf, DWORD id, PCSTR dir)
static const WCHAR * csidl_dirids[MAX_CSIDL_DIRID-MIN_CSIDL_DIRID+1]
static int nb_user_dirids
const WCHAR * DIRID_get_string(int dirid)
static const WCHAR * get_unknown_dirid(void)
BOOL WINAPI SetupSetDirectoryIdW(HINF hinf, DWORD id, PCWSTR dir)
static const WCHAR * system_dirids[MAX_SYSTEM_DIRID+1]
static const WCHAR * get_csidl_dir(DWORD csidl)
static BOOL store_user_dirid(HINF hinf, int id, WCHAR *str)
#define ERROR_INVALID_PARAMETER
#define GetEnvironmentVariableW(x, y, z)
#define HeapFree(x, y, z)
UINT WINAPI GetSystemDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
UINT WINAPI GetWindowsDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
BOOL WINAPI SHGetSpecialFolderPathW(HWND hwndOwner, LPWSTR szPath, int nFolder, BOOL bCreate)
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 memcpy(s1, s2, n)
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeStringFromAsciiz(_Out_ PUNICODE_STRING Destination, _In_ PCSZ Source)
#define DIRID_USERPROFILE
#define DIRID_ABSOLUTE_16BIT
#define DIRID_SPOOLDRIVERS
#define DIRID_PRINTPROCESSOR
WINBOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level, LPBYTE pPrintProcessorInfo, DWORD cbBuf, LPDWORD pcbNeeded)