zwsetinformationfile problem

hello everybody

i am trying to set the fileattribute and file creation time etc using
zwsetinformationfile but it is not getting set

i am getting status success for zwsetinformationfile but the
IoStatusBlock.Information field is remaining zero . And no
filebasicinformation is getting set.

i am giving the code below

Status = ZwCreateFile( &FileHandle2,
SYNCHRONIZE|GENERIC_ALL|FILE_WRITE_DATA |FILE_WRITE_ATTRIBUTES
|FILE_WRITE_EA , &InitializedAttributes2, &IoStatusBlock,NULL,
FILE_ATTRIBUTE_NORMAL,FILE_SHARE_READ | FILE_SHARE_WRITE |
FILE_SHARE_DELETE,FILE_CREATE,FILE_NON_DIRECTORY_FILE |
FILE_SYNCHRONOUS_IO_NONALERT,NULL, 0 );

pFileBasicInfo=ExAllocatePool(NonPagedPool,sizeof(FILE_BASIC_INFORMATION));
pFileBasicInfo->CreationTime=DirInformation->CreationTime;
pFileBasicInfo->LastAccessTime=DirInformation->LastAccessTime;
pFileBasicInfo->LastWriteTime=DirInformation->LastWriteTime;
pFileBasicInfo->ChangeTime=DirInformation->ChangeTime;
pFileBasicInfo->FileAttributes=(DirInformation->FileAttributes) |(0xC0);

Status= ZwSetInformationFile(FileHandle2,&IoStatusBlock,pFileBasicInfo,sizeof(FILE_BASIC_INFORMATION),FileBasicInformation
);

ExFreePool(pFileBasicInfo);

thanking in advance