When ulShutDownValue equals 0, the full system is shut down and the file-system is locked. In this case, DosShutdown can take several minutes to complete its operation; the time depends on the amount of data in the buffers.

If other functions that change file-system data are issued while the system is shut down, either the return code ERROR_ALREADY_SHUTDOWN is set, or the other function calls are blocked permanently.

Allocated memory cannot be increased once DosShutdown has been issued. This means that in low-memory situations, some functions may fail because of a lack of memory. This is of particular importance to the process issuing DosShutdown. All memory that the calling process will ever need should be allocated before DosShutdown is issued. This includes implicit memory allocations that system functions make on behalf of DosShutdown.

When DosShutdown has completed successfully, the system can be powered-off or restarted.

When ulShutDownValue equals 1, the system is quiescent (no threads of execution are active) at the end of this function request, but the file-systems are not locked, and processing can resume at a later time.


[Back] [Next]