Article ID: 176906
Article Last Modified on 11/21/2006
#include <windows.h>
#include <winbase.h>
#include <stdio.h>
#define ITERATIONS 1000
VOID ThreadFunc(LPVOID);
void main(void)
{
int numThreads=100;
DWORD threadID;
int i;
for (i=0; i<numThreads; i++)
{
CreateThread(0, 0,(LPTHREAD_START_ROUTINE) ThreadFunc,
0, 0, &threadID);
}
return;
}
VOID ThreadFunc(LPVOID)
{
LONG rc;
HKEY hKey;
for(int i=0; i < ITERATIONS; i++)
{
rc = RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft",
0, KEY_ALL_ACCESS, &hKey);
if (rc != ERROR_SUCCESS)
printf("Iteration(%d): Thread Id: %d, Error=%d\r\n", i,
GetCurrentThreadId(), rc);
else
rc = RegCloseKey(hKey);
}
}
Additional query words: regedit problem known occasionally concurrently RegOpenKey RegCloseKey
Keywords: kbapi kbbug kberrmsg kbkernbase kbpending kbregistry KB176906