Windows Internal File Id and Named Streams

Does the file id (FileInternalInformation) identify a file, including named streams, or a stream?

If it identifies a file, then does createfile when using FILE_OPEN_BY_FILE_ID always open the default stream, or is there a means to open a stream using the file id?

Last time I looked at NTFS (during XP-SP3) the ID was per File and it opened ::$data. I see no reason why NTFS would change but I don’t see any reason that the other filesystems would follow suit.

If I had that problem I’d open by FileID for no-access and then do a related open to that handle for the stream. You used to be able to open a stream realtive to another stream, but these days (IIRC) you can only open a stream, relative to ::$data.

That’s the info I needed. Thanks!