Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenstopwatch.c
Go to the documentation of this file.
00001 /* 00002 * Stopwatch Functions 00003 * 00004 * Copyright 2004 Jon Griffiths 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Lesser General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2.1 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Lesser General Public 00017 * License along with this library; if not, write to the Free Software 00018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00019 * 00020 * NOTES 00021 * These functions probably never need to be implemented unless we 00022 * A) Rewrite explorer from scratch, and 00023 * B) Want to use a substandard API to tune its performance. 00024 */ 00025 00026 #include "config.h" 00027 #include "wine/port.h" 00028 00029 #include <stdarg.h> 00030 #include <string.h> 00031 #include <stdlib.h> 00032 00033 #define NONAMELESSUNION 00034 #define NONAMELESSSTRUCT 00035 #include "windef.h" 00036 #include "winbase.h" 00037 #include "winreg.h" 00038 #include "winternl.h" 00039 #include "wine/debug.h" 00040 00041 WINE_DEFAULT_DEBUG_CHANNEL(shell); 00042 00043 /************************************************************************* 00044 * @ [SHLWAPI.241] 00045 * 00046 * Get the current performance monitoring mode. 00047 * 00048 * PARAMS 00049 * None. 00050 * 00051 * RETURNS 00052 * The current performance monitoring mode. This is zero if monitoring 00053 * is disabled (the default). 00054 * 00055 * NOTES 00056 * If this function returns 0, no further StopWatch functions should be called. 00057 */ 00058 DWORD WINAPI StopWatchMode(void) 00059 { 00060 FIXME("() stub!\n"); 00061 return 0; 00062 } 00063 00064 /************************************************************************* 00065 * @ [SHLWAPI.242] 00066 * 00067 * Write captured performance nodes to a log file. 00068 * 00069 * PARAMS 00070 * None. 00071 * 00072 * RETURNS 00073 * Nothing. 00074 */ 00075 void WINAPI StopWatchFlush(void) 00076 { 00077 FIXME("() stub!\n"); 00078 } 00079 00080 /************************************************************************* 00081 * @ [SHLWAPI.244] 00082 * 00083 * Write a performance event to a log file 00084 * 00085 * PARAMS 00086 * dwClass [I] Class of event 00087 * lpszStr [I] Text of event to log 00088 * dwUnknown [I] Unknown 00089 * dwMode [I] Mode flags 00090 * dwTimeStamp [I] Timestamp 00091 * 00092 * RETURNS 00093 * Success: ERROR_SUCCESS. 00094 * Failure: A standard Win32 error code indicating the failure. 00095 */ 00096 DWORD WINAPI StopWatchW(DWORD dwClass, LPCWSTR lpszStr, DWORD dwUnknown, 00097 DWORD dwMode, DWORD dwTimeStamp) 00098 { 00099 FIXME("(%d,%s,%d,%d,%d) stub!\n", dwClass, debugstr_w(lpszStr), 00100 dwUnknown, dwMode, dwTimeStamp); 00101 return ERROR_SUCCESS; 00102 } 00103 00104 /************************************************************************* 00105 * @ [SHLWAPI.243] 00106 * 00107 * See StopWatchW. 00108 */ 00109 DWORD WINAPI StopWatchA(DWORD dwClass, LPCSTR lpszStr, DWORD dwUnknown, 00110 DWORD dwMode, DWORD dwTimeStamp) 00111 { DWORD retval; 00112 UNICODE_STRING szStrW; 00113 00114 if(lpszStr) RtlCreateUnicodeStringFromAsciiz(&szStrW, lpszStr); 00115 else szStrW.Buffer = NULL; 00116 00117 retval = StopWatchW(dwClass, szStrW.Buffer, dwUnknown, dwMode, dwTimeStamp); 00118 00119 RtlFreeUnicodeString(&szStrW); 00120 return retval; 00121 } 00122 00123 /************************************************************************* 00124 * @ [SHLWAPI.245] 00125 * 00126 * Log a shell frame event. 00127 * 00128 * PARAMS 00129 * hWnd [I] Window having the event 00130 * pvUnknown1 [I] Unknown 00131 * bUnknown2 [I] Unknown 00132 * pClassWnd [I] Window of class to log 00133 * 00134 * RETURNS 00135 * Nothing. 00136 */ 00137 void WINAPI StopWatch_TimerHandler(HWND hWnd, PVOID pvUnknown1, BOOL bUnknown2, HWND *pClassWnd) 00138 { 00139 FIXME("(%p,%p,%d,%p) stub!\n", hWnd, pvUnknown1, bUnknown2 ,pClassWnd); 00140 } 00141 00142 /* FIXME: Parameters for @246:StopWatch_CheckMsg unknown */ 00143 00144 /************************************************************************* 00145 * @ [SHLWAPI.247] 00146 * 00147 * Log the start of an applet. 00148 * 00149 * PARAMS 00150 * lpszName [I] Name of the applet 00151 * 00152 * RETURNS 00153 * Nothing. 00154 */ 00155 void WINAPI StopWatch_MarkFrameStart(LPCSTR lpszName) 00156 { 00157 FIXME("(%s) stub!\n", debugstr_a(lpszName)); 00158 } 00159 00160 /* FIXME: Parameters for @248:StopWatch_MarkSameFrameStart unknown */ 00161 00162 /************************************************************************* 00163 * @ [SHLWAPI.249] 00164 * 00165 * Log a java applet stopping. 00166 * 00167 * PARAMS 00168 * lpszEvent [I] Name of the event (applet) 00169 * hWnd [I] Window running the applet 00170 * dwReserved [I] Unused 00171 * 00172 * RETURNS 00173 * Nothing. 00174 */ 00175 void WINAPI StopWatch_MarkJavaStop(LPCWSTR lpszEvent, HWND hWnd, DWORD dwReserved) 00176 { 00177 FIXME("(%s,%p,0x%08x) stub!\n", debugstr_w(lpszEvent), hWnd, dwReserved); 00178 } 00179 00180 /************************************************************************* 00181 * @ [SHLWAPI.250] 00182 * 00183 * Read the performance counter. 00184 * 00185 * PARAMS 00186 * None. 00187 * 00188 * RETURNS 00189 * The low 32 bits of the current performance counter reading. 00190 */ 00191 DWORD WINAPI GetPerfTime(void) 00192 { 00193 static LONG64 iCounterFreq = 0; 00194 LARGE_INTEGER iCounter; 00195 00196 TRACE("()\n"); 00197 00198 if (!iCounterFreq) 00199 QueryPerformanceFrequency((LARGE_INTEGER*)&iCounterFreq); 00200 00201 QueryPerformanceCounter(&iCounter); 00202 iCounter.QuadPart = iCounter.QuadPart * 1000 / iCounterFreq; 00203 return iCounter.u.LowPart; 00204 } 00205 00206 /* FIXME: Parameters for @251:StopWatch_DispatchTime unknown */ 00207 00208 /************************************************************************* 00209 * @ [SHLWAPI.252] 00210 * 00211 * Set an as yet unidentified performance value. 00212 * 00213 * PARAMS 00214 * dwUnknown [I] Value to set 00215 * 00216 * RETURNS 00217 * dwUnknown. 00218 */ 00219 DWORD WINAPI StopWatch_SetMsgLastLocation(DWORD dwUnknown) 00220 { 00221 FIXME("(%d) stub!\n", dwUnknown); 00222 00223 return dwUnknown; 00224 } 00225 00226 /* FIXME: Parameters for @253:StopWatchExA, 254:StopWatchExW unknown */ Generated on Sun May 27 2012 04:26:32 for ReactOS by
1.7.6.1
|