Google has surpassed Microsoft as the world's top-ranked brand, with General Electric, Coca-Cola, and others following. Factors like corporate responsibility and expansion into emerging markets contributed to brand recognition. China Mobile topped the list for non-U.S. brands. The rankings were based on financial data and interviews with a million consumers. Google's rise highlights its word-of-mouth promotion approach, while Microsoft slid despite a massive marketing campaign for Windows Vista. Apple and Starbucks saw significant improvements, while Intel, Home Depot, and Dell declined in the brand rankings. A Reuters article is available here.
Tuesday, April 24, 2007
Tuesday, April 17, 2007
Call to WTSQueryUserToken() gives ERROR_PRIVILEGE_NOT_HELD in Windows Vista
2007-04-17 Here I will describe an error called ERROR_PRIVILEGE_NOT_HELD that I faced from a call to WTSQueryUserToken() using Visual C++ on Windows Vista and Windows XP SP2.
I have used the WTSQueryUserToken() function to obtain the primary access token of the logged-on user whose session-id I had obtained from a call to WTSGetActiveConsoleSessionId().
Now, here is my problem. After the call to WTSQueryUserToken() from inside a DLL that is running under the Print Spooler service, GetLastError() returns error number 1314 which means: A required privilege is not held by the client. I am logged in to Windows using an administrator account. The Notepad.exe application that is invoked at the end of the code also doesn't start.
In MSDN I see that what I'm getting is the error ERROR_PRIVILEGE_NOT_HELD which means: The caller does not have the SE_TCB_NAME privilege. How should I go about getting that privilege now?
Print Spooler (SPOOLSV.EXE) runs under the SYSTEM username account, i.e., the LocalSystem account. A quick look up in the Windows Task Manager shows that the Image Name SPOOLSV.EXE is running under the SYSTEM username.
My DLL is loaded by SPOOLSV.EXE under its own context. My intent is to start the Notepad.exe application under the context of the user who is currently logged in to Windows.
Note: As an aside, note that the SPOOLSV.EXE runs from location C:\WINDOWS\system32\spoolsv.exe. It is the Windows Print Spooler service that loads files to memory for later printing.
Here is my source code snippet:
Update 2007-04-25: So, this is how I solved it. There was no need for the WTSGetActiveConsoleSessionId() and WTSQueryUserToken(). Just the CreateEnvironmentBlock() must work properly so that the environment for the process you are going to create is set correctly.
Here is the source that worked for me. The code snippet below shows the Notepad application being launched. The DLL in which I used this code runs under the Print Spooler service - basically it is a Print Monitor. You need to add your own validity checks - what's listed below is bare-bones.
What did I fix? The issue I was facing was that the application I wanted my Print Monitor to launch using CreateProcessAsUser() was not getting the logged-on user's environment. The after-effect was that, because of this reason, when my application used to show the File Open common dialog box, it would behave strange while trying to browse to the Desktop in it. This was in Vista.
In Windows XP, the File Open dialog would let you browse to the Desktop folder but the object icons on the Desktop would not appear right in it.
Note that if you don't use CreateEnvironmentBlock(), and the application you launch uses things like the Windows Common Dialog boxes, you may find file dialog boxes working erratically.
Saturday, April 14, 2007
Google pays $3.1bn for DoubleClick
Friday, March 9, 2007
The Windows Media Player Homepage
The Windows Media Player 10 homepage on March 09, 2007.
http://www.microsoft.com/windows/windowsmedia/player/10
The Windows Media Player 11 homepage on March 09, 2007.
http://www.microsoft.com/windows/windowsmedia/player/11
Monday, February 12, 2007
Can the Windows.old folder be deleted from Windows Vista?
I just did my update to Windows Vista RC2 build 5744 and because it was an update and not a clean install it created a "Windows.old" directory. Well, this folder is over 7 Gigs, and I can't really spare that much room for nothing. So, can I delete this folder and not cause any problems with my current Windows?
Solution: Yes, you can. If you want to remove that Windows.old folder from of your Windows Vista installation root drive, go to
Start > All Programs > Accessories > System Tools > Disk Cleanup
In "Which files to clean up" dialog > Click on "Files from all users on this computer".
Select the Drive where your Windows.old resides.
In Disk Cleanup dialog, select Previous Windows installation(s) in the "Files to delete" list. Click on OK.
This should clean up the hard disk space occupied by the Windows.old folder.
I verified this on Windows Vista x64.
Refer this.
Tuesday, August 29, 2006
Analysis of Pink Floyd's album The Wall
Thursday, December 1, 2005
LG RD2130: True Moonlight
I used the LG RD2130 CDMA cellphone for a few months, and I thought I'd write something on this. This is by far the best mobile phone (in its category) from the Reliance India Mobile (RIM) CDMA stock.
![]() |
LG RD2130 mobile phone |
The box shipped with the handset, a headset, an LG Lithium-Ion battery (LG LI-AAEM) battery, a travel charger, the user manual and a hand strap.
Display
The overall effect of the moonlight blue backlit display looks cool on this monochrome handset. The display resolution is good enough. LG has also packed screensavers in this phone.
Call features
The handset allows muting, incoming call ringer muting and a scratch pad during an ongoing call.
Keys
The keypad layout is typical LG style along with the typical LG navigation hierarchy. So be ready for the usual LG-style endless clicks. The keys are well placed so you won't find much trouble once you learn the navigation tree. There are two scroller buttons on the side pane which you can use to scroll through menu and adjust the volume.
Antenna
The phone carries a Sony SSW0900 chip-type CDMA antenna running on the TX band at 824~849MHz and on the RX band at 869~894MHz. It is good that LG did away with the external antenna sticking out of this cellphone.
Battery
The cell phone comes with a 3.7V LG Lithium-Ion (LG LI-AAEM) battery.
PC Connectivity
The handset connects to the PC using a serial data cable for synchronization of the phonebook and organizer using the PC Sync application.
R World
The R World (Reliance World) services are accessible on this handset except MMS, I believe. However, I regularly face errors in the R World connection, which I'm not sure if the problem is with the phone or the R World service.
SAR (Specific Absorption Rate)
SAR value for this phone when tested for use at the ear is 0.712 W/kg and when worn on the body is 0.887 W/kg. The SAR limit set by the FCC is 1.6W/kg.
FCC ID
The FCC ID for the device is BEJRD2130 and the reports are available at here.
Conclusion
For me the phone worked fine and had a stable battery backup along with good in-call audio quality. I liked the cool blue backlight of the display and the ease of use it provides. Here are my ratings for individual features:
![]() |
Ratings for the LG RD2130 Mobile Phone |