10#define FORMINFOSIG '.2'
11#define FORMMAXNAMESIZE CCHDEVICENAME-1
234 FIXME(
"InitializeFormList\n");
237 L"SYSTEM\\CurrentControlSet\\Control\\Print\\Forms",
248 ERR(
"RegCreateKeyExW failed for the Forms with error %lu!\n", dwErrorCode);
256 ERR(
"RegOpenKeyExW failed for \"Forms\" with error %lu!\n", dwErrorCode);
280 pfil->pKeyword =
NULL;
282 pfil->pMuiDll =
NULL;
283 pfil->dwResourceId = 0;
284 pfil->pDisplayName =
NULL;
289 rfi.
Size = pfil->Size;
292 rfi.
Flags = pfil->Flags;
297 TRACE(
"Init : RQVEW : %S added\n",pfil->pName);
321 ListEntry = ListEntry->
Flink;
323 if ( pFormName && !
_wcsicmp( pfil->pName, pFormName ) )
326 if ( pKeyword && !
_wcsicmp( (
WCHAR*)pfil->pKeyword, pKeyword ) )
338 pwszStrings[0] = pfil->pName;
352 (*ppFormInfo)->Flags = pfil->Flags;
353 (*ppFormInfo)->Size = pfil->Size;
354 (*ppFormInfo)->ImageableArea = pfil->ImageableArea;
367 pwszStrings[0] = pfil->pName;
368 pwszStrings[1] = (
PCWSTR)pfil->pKeyword;
369 pwszStrings[2] = pfil->pMuiDll;
370 pwszStrings[3] = pfil->pDisplayName;
386 (*ppFormInfo)->Flags = pfil->Flags;
387 (*ppFormInfo)->Size = pfil->Size;
388 (*ppFormInfo)->ImageableArea = pfil->ImageableArea;
389 (*ppFormInfo)->StringType = pfil->StringType;
390 (*ppFormInfo)->dwResourceId = pfil->dwResourceId;
418 FIXME(
"AddForm(%p, %lu, %p)\n", hPrinter,
Level, pForm);
422 if (pHandle->
HandleType != HandleType_Printer)
429 if (Level < 1 || Level > 2)
468 pfil->Flags = pfi1w->
Flags;
469 pfil->Size = pfi1w->
Size;
476 pfil->pMuiDll = pfi2w->
pMuiDll;
482 rfi.
Size = pfil->Size;
485 rfi.
Flags = pfil->Flags;
501 DWORD dwErrorCode, cbNeeded;
506 FIXME(
"DeleteForm(%p, %S)\n", hPrinter, pFormName);
510 if (pHandle->
HandleType != HandleType_Printer)
553 PBYTE pEnd = &pForm[cbBuf];
557 FIXME(
"EnumForms(%p, %lu, %p, %lu, %p, %p)\n", hPrinter,
Level, pForm, cbBuf,
pcbNeeded, pcReturned);
561 if (pHandle->
HandleType != HandleType_Printer)
568 if (Level < 1 || Level > 2)
589 ListEntry = ListEntry->
Flink;
597 ERR(
"Insuffisient Buffer size\n");
610 ListEntry = ListEntry->
Flink;
628 PBYTE pEnd = &pForm[cbBuf];
631 FIXME(
"GetForm(%p, %S, %lu, %p, %lu, %p)\n", hPrinter, pFormName,
Level, pForm, cbBuf,
pcbNeeded);
635 if (pHandle->
HandleType != HandleType_Printer)
642 if (Level < 1 || Level > 2)
664 ERR(
"Insuffisient Buffer size\n");
684 DWORD dwErrorCode, cbNeeded;
691 FIXME(
"SetFormW(%p, %S, %lu, %p)\n", hPrinter, pFormName,
Level, pForm);
695 if (pHandle->
HandleType != HandleType_Printer)
702 if (Level < 1 || Level > 2)
722 pfil->Flags = pfi1w->
Flags;
723 pfil->Size = pfi1w->
Size;
729 pfil->pMuiDll = pfi2w->
pMuiDll;
735 rfi.
Size = pfil->Size;
737 rfi.
Flags = pfil->Flags;
#define ERROR_NOT_ENOUGH_MEMORY
#define ERROR_INSUFFICIENT_BUFFER
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
LONG WINAPI RegDeleteValueW(HKEY hKey, LPCWSTR lpValueName)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
#define ERROR_INVALID_PARAMETER
#define ERROR_INVALID_HANDLE
static const WCHAR Cleanup[]
#define RemoveEntryList(Entry)
#define InsertTailList(ListHead, Entry)
#define IsListEmpty(ListHead)
#define InitializeListHead(ListHead)
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
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define ERROR_ALREADY_EXISTS
#define REG_OPTION_VOLATILE
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
struct _LIST_ENTRY * Flink
enum _LOCAL_HANDLE::@5120 HandleType
#define FIELD_OFFSET(t, f)
#define CONTAINING_RECORD(address, type, field)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ WDFCMRESLIST List
BOOL WINAPI DllFreeSplMem(PVOID pMem)
PVOID WINAPI DllAllocSplMem(DWORD dwBytes)
VOID BroadcastChange(PLOCAL_HANDLE pHandle)
struct _LOCAL_HANDLE * PLOCAL_HANDLE
_In_ DWORD _Out_ PDWORD pcbNeeded
#define ERROR_INVALID_LEVEL
#define ERROR_FILE_EXISTS
#define HKEY_LOCAL_MACHINE
struct _FORM_INFO_2W * PFORM_INFO_2W
struct _FORM_INFO_2W FORM_INFO_2W
struct _FORM_INFO_1W * PFORM_INFO_1W
struct _FORM_INFO_1W FORM_INFO_1W
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level