creating a directory using NtCreateFile?

Hi,

I am trying to create a directory as follows, but am getting error
87(invalid parameter). Any idea what parameter is invalid?

HANDLE hFile = NULL;
NTSTATUS Status;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING UnicodeFileName;
IO_STATUS_BLOCK iostatus;

RtlInitUnicodeString (&UnicodeFileName, szFileName);

InitializeObjectAttributes(&ObjectAttributes, // ptr to structure
&UnicodeFileName, // ptr to file spec
OBJ_CASE_INSENSITIVE, // attributes
NULL, // root directory handle
NULL ); // ptr to security
descriptor

Status = NtCreateFile( &hFile, GENERIC_READ|GENERIC_WRITE,
&ObjectAttributes, &iostatus, NULL,
FILE_ATTRIBUTE_NORMAL,
FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_CREATE,
FILE_DIRECTORY_FILE |
FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0 );

thanks!
/f