System TipThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
Important This article contains information about modifying the registry.
Before you modify the registry, make sure to back it up and make sure that you
understand how to restore the registry if a problem occurs. For information
about how to back up, restore, and edit the registry, click the following
article number to view the article in the Microsoft Knowledge Base:
256986
(http://support.microsoft.com/kb/256986/
)
Description of the Microsoft Windows Registry
Specify the GENERIC_READ constant and the GENERIC_WRITE constant in the dwDesiredAccess parameter
Use the following code to create the file.
Note Replace
the following placeholders:
Replace the ServerName placeholder with the name of a server computer that
is running Windows 2000 or Windows Server 2003.
Replace
the FolderName placeholder with the name of a network shared folder on
the server computer.
// Specify the GENERIC_READ constant and the GENERIC_WRITE constant
// in the dwDesiredAccess parameter when you create the file.
hFile = CreateFile("\\\\ServerName\\FolderName\\Test.txt", GENERIC_READ |
GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
Warning If you use Registry Editor incorrectly, you may cause serious
problems that may require you to reinstall your operating system. Microsoft
cannot guarantee that you can solve problems that result from using Registry
Editor incorrectly. Use Registry Editor at your own
risk. Follow these steps on the server computer and on the
client computer:
In Registry Editor, locate and then click the following
registry subkey:
In the right pane of Registry Editor, right-click
requiresecuritysignature in the Name field,
and then click Modify. The Edit DWORD Value
dialog box appears.
In the Value data box, type
0, and then click OK.
Quit Registry Editor, and then restart the computer.
On a computer that is running Windows XP SP1, use Microsoft
Visual C++ 6.0 to create a simple Win32 Console Application project that is
named Test. By default, the Test.cpp file is created.
Create a file by specifying only the GENERIC_WRITE constant
in the dwDesiredAccess parameter when you use the CreateFile function.
Use the
WriteFile function to try to write to the file. To do this, replace the
existing code in the Test.cpp file with the following code.
Note Replace
the following placeholders:
Replace the ServerName placeholder with the name of a server computer that
is running Windows 2000 or Windows Server 2003.
Replace
the FolderName placeholder with the name of a network shared folder on
the server computer.
:
#include "stdafx.h"
#include "windows.h"
#include "stdio.h"
#include "conio.h"
void main()
{
HANDLE hFile;
char lpBuffer[99999];
DWORD lpNumberOfBytesWritten;
// Write data to the buffer that you will
// you use to write data to the file.
for (int i = 0; i < 100000; ++i)
lpBuffer[i] = 'a';
// Specify only the GENERIC_WRITE constant in the
// dwDesiredAccess parameter when you create the file.
hFile = CreateFile("\\\\ServerName\\FolderName\\Test.txt",
GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
// Try to write the data in the buffer to the file.
// If the call to the WriteFile function fails,
// call the GetLastError function.
if (!WriteFile(hFile, lpBuffer, 100000, &lpNumberOfBytesWritten, NULL))
// If an ERROR_ACCESS_DENIED error has occurred, inform the user.
if (GetLastError() == ERROR_ACCESS_DENIED)
{
printf("An ERROR_ACCESS_DENIED error has occurred.");
printf("Press any key to continue.");
getch();
}
// Close the handle to the file.
CloseHandle(hFile);
}
Build and then run the application. A console window
appears. If the behavior that is mentioned in the "Symptoms" section occurs,
the console window contains the following output:
An ERROR_ACCESS_DENIED error has occurred. Press any
key to continue.