Solved

Is there any way to open a file in Windows using ONLY the FRN (File Reference Number)?

Posted on 2007-11-27
5
425 Views
Last Modified: 2013-12-03
Is there any way to open a file in Windows using ONLY the FRN (File Reference Number)?

This is for a file system  that does NOT support change journal, but it does support FRN.  I need to be able to open the file only using the FRN, and I'm looking for a Windows API that would allow me to do that.
0
Comment
Question by:Axter
  • 2
5 Comments
 
LVL 22

Expert Comment

by:grg99
ID: 20357234
Nope, but you can either call the undocumented FRN to path API, or build your own FRN database:


http://www.microsoft.com/msj/1099/journal2/journal2.aspx

0
 
LVL 30

Author Comment

by:Axter
ID: 20357760
The link you posted requires change journal.
As I stated in my question, this file system does not support change journal.

The database method will not work, since that would defeat the purpose of the application.
The application is building a database using a third party API, which gives file name and FRN.
Since this file system is shared between both Windows and UNIX, the files can have names that are the same, but with different case.  The files can also have characters not allowed by Windows.

When this happens, the file name given by the API is not the name the Windows program can use to access the file.
So I'm trying to figure out a way to determine the Windows mangled name (foofoo~1.txt) for a given file using the FRN, without having to iterate through the directory, which also may have a mangled name.
0
 
LVL 30

Accepted Solution

by:
Axter earned 0 total points
ID: 20359183
I found an answer to my question.
You can open a file using FRN by using FILE_OPEN_BY_FILE_ID option with NtCreateFile API.

I'll be posting a request to convert this question to a PAQ.
0
 
LVL 1

Expert Comment

by:Computer101
ID: 20388283
Closed, 500 points refunded.
Computer101
EE Admin
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use for-loops in the C programming language.
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

27 Experts available now in Live!

Get 1:1 Help Now