55 Info.lpFile = szCommandLine;
56 Info.lpParameters = szParam;
61 CommandLine.ReleaseBuffer();
100 if (cbData %
sizeof(
WCHAR) != 0)
111 szBuffer[cbData /
sizeof(
WCHAR)] =
L'\0';
117 ExpandStr.ReleaseBuffer();
135 m_SectionName(lpSubKeyName)
139 DWORD dwMaxValueNameLen;
147 &dwValueNum, &dwMaxValueNameLen,
152 for (
DWORD i = 0;
i < dwValueNum;
i++)
155 DWORD dwcchName = dwMaxValueNameLen + 1;
157 szValueName =
ValueName.GetBuffer(dwMaxValueNameLen + 1);
181 m_SectionName(Section.m_SectionName),
182 m_bSuccess(Section.m_bSuccess),
183 m_SectionTitle(Section.m_SectionTitle),
184 m_EntryList(Section.m_EntryList)
231 DWORD dwMaxSubKeyNameLen;
236 L"Software\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx\\");
259 &dwSubKeyNum, &dwMaxSubKeyNameLen,
266 for (
DWORD i = 0;
i < dwSubKeyNum;
i++)
269 DWORD dwcchName = dwMaxSubKeyNameLen + 1;
271 szSubKeyName =
SubKeyName.GetBuffer(dwMaxSubKeyNameLen + 1);
298 UINT CompleteCnt = 0;
RunOnceExInstance(_In_ HKEY BaseKey)
BOOL HandleSubKey(_In_ CRegKeyEx &hKey, _In_ const CStringW &SubKeyName)
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ PNDIS_STRING SubKeyName
int RunOnceExEntryCmp(_In_ const void *a, _In_ const void *b)
void WINAPI PathRemoveArgsW(LPWSTR lpszPath)
CSimpleArray< RunOnceExSection > m_SectionList
IN BOOLEAN OUT PSTR Buffer
#define SEE_MASK_NOCLOSEPROCESS
ATL::CStringW m_SectionName
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
BOOL Exec(_Inout_ UINT &iCompleteCnt, _In_ const UINT iTotalCnt)
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
RUNONCEEX_CALLBACK g_Callback
BOOL Delete(_In_ CRegKeyEx &hParentKey)
void __cdecl qsort(_Inout_updates_bytes_(_NumOfElements *_SizeOfElements) void *_Base, _In_ size_t _NumOfElements, _In_ size_t _SizeOfElements, _In_ int(__cdecl *_PtFuncCompare)(const void *, const void *))
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)
#define FLAGS_NO_STAT_DIALOG
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
LONG QueryDWORDValue(LPCTSTR pszValueName, DWORD &dwValue)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
ATL::CStringW m_SectionTitle
GLboolean GLboolean GLboolean b
BOOL Run(_In_ BOOL bSilence)
LONG Open(HKEY hKeyParent, LPCTSTR lpszKeyName, REGSAM samDesired=KEY_READ|KEY_WRITE)
LONG QueryStringValue(LPCTSTR pszValueName, LPTSTR pszValue, ULONG *pnChars)
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
_Check_return_ _CRTIMP int __cdecl wcsncmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
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)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
LONG EnumKey(DWORD iIndex, LPTSTR pszName, LPDWORD pnNameLength, FILETIME *pftLastWriteTime=NULL)
VOID(CALLBACK * RUNONCEEX_CALLBACK)(_In_ UINT CompleteCnt, _In_ UINT TotalCnt, _In_ DWORD_PTR dwReserved)
CSimpleArray< RunOnceExEntry > m_EntryList
RunOnceExSection(_In_ CRegKeyEx &hParentKey, _In_ const CStringW &lpSubKeyName)
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
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LPWSTR WINAPI PathGetArgsW(LPCWSTR lpszPath)
int RunOnceExSectionCmp(_In_ const void *a, _In_ const void *b)
BOOL HandleValue(_In_ CRegKeyEx &hKey, _In_ const CStringW &ValueName)
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
LONG EnumValueName(_In_ DWORD iIndex, _Out_ LPTSTR pszName, _Inout_ LPDWORD pnNameLength)
BOOL Exec(_In_opt_ HWND hwnd)
RunOnceExEntry(_In_ const ATL::CStringW &Name, _In_ const ATL::CStringW &Value)
LONG DeleteValue(LPCTSTR lpszValue)
GLboolean GLboolean GLboolean GLboolean a
BOOL CloseAndDelete(_In_ CRegKeyEx &hParentKey)