|
thanks for your help, I'll try it
I Love T-SQL
|
|
|
|
|
There must be a maximum number of simultaneously opened files. I found out -the hard way- by a rather strange error, that after opening 507 files, a next file could no longer be opened.
After fixing the bug in my programm: closing a file after having processed the information, the error dispappeared, so 507 is close to 512, therefore i suppose that 512 files is the maximum. That assumption may be wrong.
Is it possible to change the maximum number of simultaneously opened files? If so, how?
21 cm: the universal wave length of hydrogen
modified on Saturday, April 12, 2008 2:39 PM
|
|
|
|
|
As I know of these limits are per process.
There is a KB article on this here[^], that may be of value. So your assumptions may be correct.
Also there are some obscure registry settings to change the limit on the max handle limit documented
here[^].
|
|
|
|
|
Hi Zoltan,
> There is a KB article on this here[^], that may be of value.
It reports 500 per process for NT 4. Seems to be the same for XP.
> Also there are some obscure registry settings
Those report 10000 handles. Weird. When Googling for an answer, [RedHat] Linux reports 1000 simultaneously opened files as maximum.
Fortunately 'decently' recoding the previous mess the solved my agony.
Thanks,
Henk
21 cm: the universal wave length of hydrogen
|
|
|
|
|
henk21cm wrote: Those report 10000 handles
Yeah but for handles you must count a lot of things like synchronization/event handles, registry key handles, thread handles, ui object handles (pens, brushes, etc) and file handles.
|
|
|
|
|
You can modify the maximum number of file handles opened simultaneously. I believe the ceiling is 2048 file handles. You can use _getmaxstdio[^] to verify this on your operating system. If you wish to modify this value you can use _setmaxstdio[^] to set the new value.
Best Wishes,
-David Delaune
|
|
|
|
|
G'day David,
> You can modify the maximum number of file handles opened simultaneously.
The functions _get and _setmnaxstdio are 2005 and 2008 specific. The project was compiled with the old VC 6.0.
> I believe the ceiling is 2048 file handles.
Correct, when using the number 2049 in VS 2005, it reports an error.
Regards,
Henk
21 cm: the universal wave length of hydrogen
|
|
|
|
|
henk21cm wrote: The functions _get and _setmnaxstdio are 2005 and 2008 specific. The project was compiled with the old VC 6.0.
This is not correct, what gives you this idea? This function is part of the standard C runtime library. Those functions have been around for as long as I can remember. Possibly even MSVC 5.0 I will have to check later.
I also still use MSVC 6.0 for some projects... I just checked and it works just fine. The declaration is inside stdio.h on line 340.
It exists in the VC6 documentation as well.
http://msdn2.microsoft.com/en-us/library/aa298575(VS.60).aspx[^]
Best Wishes,
-David Delaune
|
|
|
|
|
G'day David,
Randor wrote: henk21cm wrote:
The functions _get and _setmnaxstdio are 2005 and 2008 specific. The project was compiled with the old VC 6.0.
This is not correct, what gives you this idea?
1) The link in the previous reply referred to a webpage in which explicitly "VS 2005 and later" was mentioned.
2) When typing _getmaxstdio in the VC 6 help, a messagebox "No topics found" pops up.
Randor wrote: This function is part of the standard C runtime library. Those functions have been around for as long as I can remember.
And you are absolutely right. I compiled a simple snippet with both (get/set) under VC 6, and it ran flawlesly.
Thanks for the additional info.
Regards,
Henk
21 cm: the universal wave length of hydrogen
|
|
|
|
|
I'm not sure if your old enough to remember this but in the old MS-DOS days this was achieved by editing a file called CONFIG.SYS in which you could add:
FILES=255
http://www.easydos.com/files.html[^]
Since Win95 and Win98 was built on top of MS-DOS you could still modify the value in those operating systems as well. If I am not mistaken I believe the default value in Win95 was 60 handles which was set by IO.SYS in the root boot directory unless overridden in CONFIG.SYS.
Ahhh the dinosaur age... now I'm feeling old.
Best Wishes,
-David Delaune
|
|
|
|
|
Randor wrote: 'm not sure if your old enough to remember this but in the old MS-DOS days this was achieved by editing a file called CONFIG.SYS in which you could add:
FILES=255
Yes, i do remember, i'm that old that i've been working with punched paper tape and punched cards. Devising a diode array to translate EBCDIC into ASCII.
When running into this limited amount of files, CONFIG.SYS was the first file to look for. Under XP it is 0 bytes, not too much space to hold any info of particular value.
Randor wrote: If I am not mistaken I believe the default value in Win95 was 60 handles which was set by IO.SYS in the root boot directory unless overridden in CONFIG.SYS.
Under DOS (3.2) it was usually set to FILES=20. The default of 8. "Those were the days", compiling programs into .COM files of 512 bytes or less.
FCBS=4,4
LASTDRIVE=Z
David, we are growing old, but not grumpy!
Regards,
Henk
21 cm: the universal wave length of hydrogen
|
|
|
|
|
Hi Guys,
I have a major problem right now. I have a Kerio Mail Server which is currently installed in windows xp home edition. And the number of email accounts are in this Mail Server are only 50 users.
A week ago all our incoming and outgoing emails works fine, and there are no delays of mail delivery. And just this week starting on Monday, we only received incoming emails. And our outgoing emails will be delivered late.
When we send emails to yahoo.com, gmail.com, etc. the message will be delivered 6 hours to 1 day. And I haven't change anything on the configuration. What do you think really is the problem? It's a week now and still it doesn't work properly. The problem is with our outgoing emails.
Was it our Static I.P. that was being blocked because of greylisting?
How can I correct this problem?
Thanks Guys
hifiger2004
|
|
|
|
|
Holla,
could be greylisting. 6 hours to one day sounds like a standard SMTP retry period, so the first attempt is declined, the second one is allowed. This, however, is not your responsibility.
Cheers,
Sebastian
--
"If it was two men, the non-driver would have challenged the driver to simply crash through the gates. The macho image thing, you know." - Marc Clifton
|
|
|
|
|
Hi all,
I intend to filter IPv6 packets.
I have already succeeded in capturing and decoding the packets n a human readable format.
Now i want to block some unwanted IPv6 traffic
say:
I do Win XP to drop packets with destination address A and port A1 and source address B and port B1
how can I do this?
will manipulating the IPv6 routing tables on my machine work?
I did
C:> netsh
netsh> interface ipv6
interface ipv6> show routes
this showed me some routes for IPv6 traffic going out of my machine,can i manipulate them to block certain traffic.
Is there any other way of doing it?
please help
thanks and regards
Ather
|
|
|
|
|
Hi all,
I have an encoder, anybody knows how to configure in Windows Media Server to accept the video stream pushed from the Encoder.
-vptech
|
|
|
|
|
Some useful commands for Run dialog box:
control = Control Panel
access.cpl = Accessibility Controls
hdwwiz.cpl = Add Hardware Wizard
appwiz.cpl = Add/Remove Programs
wuaucpl.cpl = Automatic Updates
timedate.cpl = Date and Time Properties
desk.cpl = Display Properties
joy.cpl = Game Controllers
inetcpl.cpl = Internet Properties
main.cpl = Mouse Properties
ncpa.cpl = Network Connections
netsetup.cpl = Network Setup Wizard
telephon.cpl = Phone and Modem Options
odbccp32.cpl = ODBC Data Source Administrator
password.cpl = Password Properties
access.cpl = Accessibility
powercfg.cpl = Power Configuration
firewall.cpl = Windows Firewall
sticpl.cpl = Scanners and Cameras
intl.cpl = Regional Settings
wscui.cpl = Security Center
mmsys.cpl = Sounds and Audio
sysdm.cpl = System Properties
nusrmgr.cpl = User Account Management
-------------------------------------------
compmgmt.msc = Computer Management
ntmsmgr.msc = Remote Desktop mstsc, Removable Storage
ntmsoprq.msc = Removable Storage Operator Requests
rsop.msc = Resultant Set of Policy (XP Prof)
services.msc = Services
fsmgmt.msc = Shared Folders
wmimgmt.msc = Windows Management Infrastructure
secpol.msc = Local Security Settings
lusrmgr.msc = Local Users and Groups
gpedit.msc = Group Policy Editor (only XP Professional)
devmgmt.msc = Device Manager
dfrg.msc = Disk Defragment
diskmgmt.msc = Disk Management
ciadv.msc = Indexing Service
perfmon.msc = Performance Monitor
eventvwr.msc = Event Viewer
certmgr.msc = Certificate Manager
------------------------------------------
freecell = Freecell
pinball = Pinball
spider = Spider Solataire
mshearts = Hearts
winmine = Minesweeper
----------------------------------------
control admintools = Administrative Tools
control desktop = Display Properties
control color = Display Properties (view tab Appearance)
control folders = Folders Properties
control keyboard = Keyboard Properties
control netconnections = Network Connections
control printers = Printers and Faxes
control schedtasks = Scheduled Tasks
control mouse = Mouse Properties
control fonts = Fonts
control userpasswords2 = Password Control
----------------------------------------------
excel = Microsoft Excel
powerpnt = Microsoft Powerpoint
winword = Microsoft Word
excel = Microsoft Excel
outlook = Microsoft Outlook
---------------------------------------------
shutdown = Shuts Down Windows
logoff = Logoff the current user
---------------------------------------------
accwiz = Accessibility Wizard
calc = Calculator
notepad = Notepad
wordpad = Wordpad
moviemk = Microsoft Movie Maker
mspaint = Microsoft Paint
charmap = Character Map
clipbrd = Clipboard Viewer:
cmd = Command Prompt
dcomcnfg = Component Services
ddeshare = DDE Shares
dxdiag = Direct X Troubleshooter
cleanmgr = Disk Cleanup Utility
diskpart = Disk Partition Manager
drwtsn32 = Dr. Watson System Troubleshooting Utility
verifier = Driver Verifier Utility
migwiz = Files and Settings Transfer Tool
sigverif = File Signature Verification Tool
fonts = Fonts Folder
helpctr = Help and Support
hypertrm = HyperTerminal
iexpress = Iexpress Wizard
icwconn1 = Internet Connection Wizard
iexplore = Internet Explorer
inetwiz = Internet Setup Wizard
firefox = Firefox
winchat = Microsoft Chat
mobsync = Microsoft Syncronization Tool
conf = Netmeeting
packager = Object Packager
osk = On Screen Keyboard
msimn = Outlook Express
dialer = Phone Dialer
printers = Printers Folder
eudcedit = Private Character Editor
regedit = Registry Editor
regedt32 = Registry Editor
rasphone = Remote Access Phonebook
cliconfg = SQL Client Configuration
sysedit = System Configuration Editor
msconfig = System Configuration Utility
sfc /scannow = System File Checker Utility (Scan files integrity)
msinfo32 = System Information
taskmgr = Task Manager
tcptest = TCP Tester
telnet = Telnet Client
utilman = Utility Manager
wab = Windows Address Book
wabmig = Windows Address Book Import Utility
ntbackup = Windows Backup Utility (if installed)
explorer = Windows Explorer
magnify = Windows Magnifier
wmplayer = Windows Media Player
wiaacmgr = Windows Picture Import Wizard
syskey = Windows System Security Tool
wupdmgr = Windows Update Launches
winver = Windows Version
tourstart = Windows XP Tour Wizard
http://www.kraftwin.blogspot.com
modified on Thursday, April 10, 2008 6:53 PM
|
|
|
|
|
I want to install a program when i am using the administrator account but want the program to run automatically whenever someone logs into a limited account
how do i do that? I am using win XP
|
|
|
|
|
One specific user or all users? You can use any autorun facility. Registry, Startup-Folder, whatever you want.
Cheers,
Sebastian
--
"If it was two men, the non-driver would have challenged the driver to simply crash through the gates. The macho image thing, you know." - Marc Clifton
|
|
|
|
|
I'm writing a custom PE loader, and I finished everything except relocations, which I can't find anywhere in the EXE. I'm using Windows's notepad.exe as my initial test. Both the BASERELOC directory entry (DataDirectory[5]) and the PointerToRelocations field of the .text section are set to all 0's. Also, there is no ".reloc" section. Any ideas where these relocations would be located?
|
|
|
|
|
Hi zildjohn01,
The image may be bound. I know binding overwrites the IMAGE_THUNK_DATA entires of the IAT. But I also believe that an image which cannot load at it's preferred address (after binding) will fail to load.
Jeff
|
|
|
|
|
Since the EXE is the first thing to load into the process, and therefore there are very few allocations (a few DLLs are pre-mapped, such as kernel32.dll), it very rarely needs relocating. You might do it if you wanted to load an EXE as a DLL in another process, but more commonly you just want the resources out of it, in which case you specify LOAD_LIBRARY_AS_DATAFILE.
Because relocation is so very rarely unnecessary, the linker provides an option, /FIXED, to control generation of relocation information. Since at least VC6, the default for EXEs has been to set /FIXED and not generate relocations, and for DLLs, to set /FIXED:NO (which does generate relocations).
It's not that you can't find them, it's that they aren't there.
The relocations information in each section is really for the use of the linker to link .obj files into an .exe or .dll. In a finished DLL, only the Base Relocations (.reloc section) are present.
.NET executables have a .reloc section containing one relocation, which is a pointer to the start of the Import Address Table. When the loader loads the DLL or EXE, it overwrites this entry with the address of the function imported - for an executable, _CorExeMain in mscoree.dll. The two bytes before the address that is updated are 0xFF 0x25, which are an indirect JMP instruction. The 'entry point' field in the IMAGE_OPTIONAL_HEADER structure points to the start of this instruction, so on loading the program, Windows calls this address which immediately transfers control to _CorExeMain. DLLs are similar but use _CorDllMain. In this way, a version of Windows which knows nothing about .NET can still load a .NET program as if it were any other kind of program with very little x86 code included. I'm guessing it's compiled at this odd location - after the Import Name Table - so it's on a page that will get discarded very quickly, as this instruction will run exactly once.
I believe newer versions of the OS understand .NET programs and just invoke mscoree.dll directly, not even bothering to map this page. The 64-bit versions would have to, if they're going to create a 64-bit process (particularly on Itanium where 0xFF 0x25 means something else entirely - actually you'd get an alignment fault straightaway as that processor requires instructions to be aligned on 128-bit boundaries). If you specify /platform:itanium or /platform:x64, the C# 2.0 compiler generates a PE32+ structure, no import tables, and puts 0 in the 'entry point' field, so the 64-bit OS must understand .NET binaries directly.
DoEvents: Generating unexpected recursion since 1991
|
|
|
|
|
Awesome thanks, you guys are both right, they were resolved during linking.
My options now are to either create a separate process, or manually parse the assembly code (ugh). We'll see how this goes.
|
|
|
|
|
I'm still battling to diagnose the error below when I try and start VS 2008 as a non-admin user. This error started after an ugly shut-down of my Vista Business desktop machine. On Friday it worked, and on Monday it didn't.
I have been able to gather that this error is not unique to VS 2008, and I have performed a repair of VS that made no difference. I have also run as admin and disabled all add-ins. I believe this is a Windows registry issue, and not a VS issue. Please could somebody recommend a good registry repair tool?
Error log:
Faulting application devenv.exe, version 9.0.21022.8, time stamp 0x47317b3d, faulting module ntdll.dll, version 6.0.6000.16386, time stamp 0x4549bdc9, exception code 0xc0000374, fault offset 0x000af1c9, process id 0x1630, application start time 0x01c889a70153ad96.
|
|
|
|
|
|
Hi, my problem is with a corrupted WinXP OS (Media Center Ed.) on a HP desktop (circa 2005).
The PC in question belongs to my 15yr old nephew ...yadda yadda yadda... it problably was subjected to a virus.
The problem was the PC could no longer start. After going through a "system recovery" mode using the F10 key, I was able to get past some problems with some apps (missing/corrupt .DLLs, etc.) and to a point where I could use the machine to copy files to CD/DVD for backup.
I tried the HP system restore and it had two methods - restore or destructive restore (basically a FORMAT). The basic restore still gave some problems down the road. It still seemed to be unstable.
Symptoms:
1) unable to run XP's System Restore - only lists two dates for restore (the day it totally crashed and the next day when I tried to recover using system applications.)
2) windows starts only in Administrator mode. There used to be option of listing available users to Login.
Questions:
A) since i can burn to DVD, which files do you recommend I save - in case need to format.
B) shouldn't I see more available Restore Points? I believe that System Restore was in ON state prior to problems.
C) I don't have NET access on this PC as it was removed/restored to basic settings. Best recommendations for getting drivers, OS files?
D) If I have to FORMAT, I want to rid this HP machine of all the junk that (HP loaded and) makes my machine run slowly. Suggestions?
Thanks for the help and advice (beyond my questions?) that you offer.
Johnny
|
|
|
|
|