Hi,guys:
it seems that CreateFileW doesn't support relative path to create a file,,,weird....
the code belows:
 
 InitializeObjectAttributes(&ObjectAttributes,
                              &NtPathU,
                              0,
                              NULL,
                              NULL);
   if (lpSecurityAttributes)
   {
      if(lpSecurityAttributes->bInheritHandle)
         ObjectAttributes.Attributes |= OBJ_INHERIT;
      ObjectAttributes.SecurityDescriptor = lpSecurityAttributes->lpSecurityDescriptor;
   }
   if(!(dwFlagsAndAttributes & FILE_FLAG_POSIX_SEMANTICS))
    ObjectAttributes.Attributes |= OBJ_CASE_INSENSITIVE;
   /* perform the call */
   Status = NtCreateFile (&FileHandle,
     dwDesiredAccess,
     &ObjectAttributes,
     &IoStatusBlock,
     NULL,
     FileAttributes,
     dwShareMode,
     dwCreationDisposition,
     Flags,
     EaBuffer,
     EaLength);