12#define LISTVIEW_NUM_ICONS 2
38#define MAX_LIST_COLUMNS (IDS_LIST_COLUMN_LAST - IDS_LIST_COLUMN_FIRST + 1)
68 return lineinfo->
name;
77 for(
i = 0;
i <
c;
i++)
81 if (pszValueName ==
NULL || pszValueName[0] == 0)
86 fi.
psz = pszValueName;
124 memcpy(&linfo[1], ValBuf, dwCount);
125 linfo->
val = &linfo[1];
136 if (
item.cchTextMax == 0)
153#if (_WIN32_IE >= 0x0300)
206 if(dwCount ==
sizeof(
DWORD))
226 for (
i = 0;
i < dwCount;
i++)
230 strBinary[dwCount * 3] = 0;
254 lvC.pszText = szText;
259 lvC.iSubItem =
index;
304 plvdi->item.pszText =
NULL;
305 plvdi->item.cchTextMax = 0;
307 switch (plvdi->item.iSubItem)
311 plvdi->item.pszText =
buffer;
314 switch (((
LINE_INFO*)plvdi->item.lParam)->dwValType)
317 plvdi->item.pszText =
L"REG_NONE";
320 plvdi->item.pszText =
L"REG_SZ";
323 plvdi->item.pszText =
L"REG_EXPAND_SZ";
326 plvdi->item.pszText =
L"REG_BINARY";
329 plvdi->item.pszText =
L"REG_DWORD";
332 plvdi->item.pszText =
L"REG_DWORD_BIG_ENDIAN";
335 plvdi->item.pszText =
L"REG_LINK";
338 plvdi->item.pszText =
L"REG_MULTI_SZ";
341 plvdi->item.pszText =
L"REG_RESOURCE_LIST";
344 plvdi->item.pszText =
L"REG_FULL_RESOURCE_DESCRIPTOR";
347 plvdi->item.pszText =
L"REG_RESOURCE_REQUIREMENTS_LIST";
350 plvdi->item.pszText =
L"REG_QWORD";
357 plvdi->item.pszText =
buffer;
363 plvdi->item.pszText =
L"";
382 return ((
int)
l->dwValType - (
int)
r->dwValType);
384 return ((
int)
r->dwValType - (
int)
l->dwValType);
389 if (
l->dwValType !=
r->dwValType)
392 return ((
int)
l->dwValType - (
int)
r->dwValType);
394 return ((
int)
r->dwValType - (
int)
l->dwValType);
423 return ((
int)dw1 - (
int)dw2);
426 return ((
int)dw2 - (
int)dw1);
435 return ((
int)qw1 - (
int)qw2);
438 return ((
int)qw2 - (
int)qw1);
447 nCompare =
memcmp(
l->val,
r->val,
min(
l->val_len,
r->val_len));
449 nCompare =
l->val_len -
r->val_len;
453 nCompare =
memcmp(
r->val,
l->val,
min(
r->val_len,
l->val_len));
455 nCompare =
r->val_len -
l->val_len;
470 (iSortingColumn >= 0) )
629 if (!hwndLV)
return NULL;
659 DWORD max_sub_key_len;
660 DWORD max_val_name_len;
668 if (!hwndLV)
return FALSE;
684 &val_count, &max_val_name_len, &max_val_size,
NULL,
NULL);
689 DWORD dwValNameLen = max_val_name_len;
691 DWORD dwValSize = max_val_size;
701 ValBuf[dwValSize] = ValBuf[dwValSize + 1] = 0;
704 dwValNameLen = max_val_name_len;
705 dwValSize = max_val_size;
723 for(
i = 0;
i <
c;
i++)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
static BOOL bSortAscending
BOOL CreateListView(PMAIN_WND_INFO Info)
LONG RenameValue(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpDestValue, LPCWSTR lpSrcValue)
BOOL IsDefaultValue(HWND hwndLV, int i)
static BOOL CreateListColumns(HWND hWndListView, INT cxTotal)
static BOOL InitListViewImageLists(HWND hwndLV)
VOID SetValueName(HWND hwndLV, LPCWSTR pszValueName)
static void OnGetDispInfo(NMLVDISPINFO *plvdi)
#define LISTVIEW_NUM_ICONS
BOOL RefreshListView(HWND hwndLV, HKEY hKey, LPCWSTR keyPath, BOOL bSelectNone)
static const int column_alignment[MAX_LIST_COLUMNS]
BOOL ListWndNotifyProc(HWND hWnd, WPARAM wParam, LPARAM lParam, BOOL *Result)
static INT g_iSortedColumn
struct tagLINE_INFO LINE_INFO
struct tagSORT_INFO SORT_INFO
static const int default_column_widths[MAX_LIST_COLUMNS]
struct tagLINE_INFO * PLINE_INFO
struct tagSORT_INFO * PSORT_INFO
static int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
static void AddEntryToList(HWND hwndLV, LPWSTR Name, DWORD dwValType, void *ValBuf, DWORD dwCount, int Position, BOOL ValExists)
WCHAR * GetValueName(HWND hwndLV, int iStartAt)
void DestroyListView(HWND hwndLV)
LPCWSTR GetItemPath(HWND hwndTV, HTREEITEM hItem, HKEY *phRootKey)
#define IDS_ERR_RENVAL_CAPTION
#define IDS_VALUE_NOT_SET
#define IDS_DEFAULT_VALUE_NAME
#define IDS_LIST_COLUMN_FIRST
#define IDS_INVALID_DWORD
#define IDS_ERR_RENVAL_TOEMPTY
#define RegCloseKey(hKey)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegEnumValueW(_In_ HKEY hKey, _In_ DWORD index, _Out_ LPWSTR value, _Inout_ PDWORD val_count, _Reserved_ PDWORD reserved, _Out_opt_ PDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ PDWORD count)
LONG WINAPI RegQueryInfoKeyW(HKEY hKey, LPWSTR lpClass, LPDWORD lpcClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcMaxSubKeyLen, LPDWORD lpcMaxClassLen, LPDWORD lpcValues, LPDWORD lpcMaxValueNameLen, LPDWORD lpcMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime)
INT WINAPI ImageList_GetImageCount(HIMAGELIST himl)
HIMAGELIST WINAPI ImageList_Create(INT cx, INT cy, UINT flags, INT cInitial, INT cGrow)
#define HeapFree(x, y, z)
INT WINAPI StrCmpLogicalW(LPCWSTR lpszStr, LPCWSTR lpszComp)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLuint GLuint GLsizei count
GLdouble GLdouble GLdouble r
GLenum GLuint GLenum GLsizei const GLchar * buf
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)
unsigned long long DWORDLONG
#define ListView_Sort(hListView, iSortingColumn)
#define memcpy(s1, s2, n)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
#define REG_DWORD_BIG_ENDIAN
#define REG_RESOURCE_LIST
#define REG_RESOURCE_REQUIREMENTS_LIST
#define REG_FULL_RESOURCE_DESCRIPTOR
#define UNREFERENCED_PARAMETER(P)
#define Header_GetItem(hwndHD, i, phdi)
#define ListView_InsertItem(hwnd, pitem)
#define ListView_SetItemState(hwndLV, i, data, mask)
#define ListView_EditLabel(hwndLV, i)
#define ListView_InsertColumn(hwnd, iCol, pcol)
#define ListView_SetImageList(hwnd, himl, iImageList)
#define Header_SetItem(hwndHD, i, phdi)
#define ListView_GetHeader(hwnd)
#define LVS_SHOWSELALWAYS
#define ListView_GetNextItem(hwnd, i, flags)
#define LPSTR_TEXTCALLBACK
#define ListView_GetItemCount(hwnd)
#define LVN_BEGINLABELEDIT
#define ListView_SortItems(hwndLV, _pfnCompare, _lPrm)
struct tagNMLISTVIEW * LPNMLISTVIEW
#define ListView_DeleteAllItems(hwnd)
#define ListView_SetItemText(hwndLV, i, iSubItem_, pszText_)
#define ImageList_AddIcon(himl, hicon)
#define ListView_GetItem(hwnd, pitem)
#define ListView_FindItem(hwnd, iStart, plvfi)
#define ListView_EnsureVisible(hwndLV, i, fPartialOK)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_Check_return_ _CRTIMP wchar_t *__cdecl _wcsdup(_In_z_ const wchar_t *_Str)
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
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 hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
#define MAKEINTRESOURCEW(i)
BOOL WINAPI DestroyWindow(_In_ HWND)
HICON WINAPI LoadIconW(_In_opt_ HINSTANCE hInstance, _In_ LPCWSTR lpIconName)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO