ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

stopwatch.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.