ReactOS 0.4.16-dev-963-g182f353
CAsyncLoadIcon Struct Reference
Collaboration diagram for CAsyncLoadIcon:

Public Member Functions

void Free ()
 

Static Public Member Functions

static CAsyncLoadIconQueue (HWND hAppsList, CAppInfo &AppInfo, bool Parse)
 
static void StartTasks ()
 

Public Attributes

CAsyncLoadIconpNext
 
HWND hAppsList
 
CAppInfoAppInfo
 
UINT TaskId
 
bool Parse
 
WCHAR Location [ANYSIZE_ARRAY]
 

Detailed Description

Definition at line 1045 of file appview.cpp.

Member Function Documentation

◆ Free()

void CAsyncLoadIcon::Free ( )
inline

Definition at line 1053 of file appview.cpp.

1053{ free(this); }
#define free
Definition: debug_ros.c:5

◆ Queue()

CAsyncLoadIcon * CAsyncLoadIcon::Queue ( HWND  hAppsList,
CAppInfo AppInfo,
bool  Parse 
)
static

Definition at line 1087 of file appview.cpp.

1088{
1090 CStringW szIconPath;
1091 if (!AppInfo.RetrieveIcon(szIconPath))
1092 return NULL;
1093 SIZE_T cbstr = (szIconPath.GetLength() + 1) * sizeof(WCHAR);
1094 CAsyncLoadIcon *task = (CAsyncLoadIcon*)malloc(sizeof(CAsyncLoadIcon) + cbstr);
1095 if (!task)
1096 return NULL;
1097 task->hAppsList = hAppsList;
1098 task->AppInfo = &AppInfo;
1099 task->TaskId = g_AsyncIconTaskId;
1100 task->Parse = Parse;
1101 CopyMemory(task->Location, szIconPath.GetBuffer(), cbstr);
1102 szIconPath.ReleaseBuffer();
1103 task->pNext = g_AsyncIconTasks;
1104 g_AsyncIconTasks = task;
1105 return task;
1106}
#define ATLASSERT(x)
Definition: CComVariant.cpp:10
static UINT g_AsyncIconTaskId
Definition: appview.cpp:1057
struct CAsyncLoadIcon * g_AsyncIconTasks
void ReleaseBuffer(_In_ int nNewLength=-1)
Definition: atlsimpstr.h:387
int GetLength() const noexcept
Definition: atlsimpstr.h:362
virtual BOOL RetrieveIcon(CStringW &Path) const =0
#define malloc
Definition: debug_ros.c:4
#define NULL
Definition: types.h:112
CAsyncLoadIcon * pNext
Definition: appview.cpp:1046
CAppInfo * AppInfo
Definition: appview.cpp:1048
WCHAR Location[ANYSIZE_ARRAY]
Definition: appview.cpp:1051
ULONG_PTR SIZE_T
Definition: typedefs.h:80
DWORD WINAPI GetCurrentThreadId(void)
Definition: thread.c:459
DWORD WINAPI GetWindowThreadProcessId(HWND hWnd, PDWORD lpdwProcessId)
#define CopyMemory
Definition: winbase.h:1741
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by CAppsListView::AddApplication().

◆ StartTasks()

void CAsyncLoadIcon::StartTasks ( )
static

Definition at line 1109 of file appview.cpp.

1110{
1113 if (HANDLE hThread = CreateThread(NULL, 0, AsyncLoadIconProc, tasks, 0, NULL))
1115 else
1116 AsyncLoadIconProc(tasks); // Insist so we at least free the tasks
1117}
static DWORD CALLBACK AsyncLoadIconProc(LPVOID Param)
Definition: appview.cpp:1060
#define CloseHandle
Definition: compat.h:739
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
Definition: thread.c:137
HANDLE hThread
Definition: wizard.c:28

Referenced by CAppsListView::AddApplication().

Member Data Documentation

◆ AppInfo

CAppInfo* CAsyncLoadIcon::AppInfo

Definition at line 1048 of file appview.cpp.

Referenced by CAppsListView::OnAsyncIcon(), and Queue().

◆ hAppsList

HWND CAsyncLoadIcon::hAppsList

Definition at line 1047 of file appview.cpp.

Referenced by Queue().

◆ Location

WCHAR CAsyncLoadIcon::Location[ANYSIZE_ARRAY]

Definition at line 1051 of file appview.cpp.

Referenced by Queue().

◆ Parse

bool CAsyncLoadIcon::Parse

Definition at line 1050 of file appview.cpp.

Referenced by Queue().

◆ pNext

CAsyncLoadIcon* CAsyncLoadIcon::pNext

Definition at line 1046 of file appview.cpp.

Referenced by Queue().

◆ TaskId

UINT CAsyncLoadIcon::TaskId

Definition at line 1049 of file appview.cpp.

Referenced by CAppsListView::OnAsyncIcon(), and Queue().


The documentation for this struct was generated from the following file: