PIDL and File System Driver

Hi!

I’ve an application that uses PIDLs to open files, using shell routines like ParseDisplayName. I’ve a file system driver that supplies files which works fine for normal applications, and I can see normal reads and writes happen (notepad, word, etc), but when my shell app goes to try to use PIDLs, I keep getting file not found errors from the shell. My question is this:

A) How does the shell go about making up PIDLs, at least from the perspective of a driver? I can see a flood of create calls, and I think maybe a get attributes call in there also, but can anyone else be more specific about what the driver does to support the use of PIDLs?

B) Does this have anything to do with the optional Object ID support the file system driver can implement? Must the driver implement this for the shell to generate PIDLs?

Thanks!

Best,

Steve

PIDLs are a shell abstraction, they do not leak into file systems. Think about it for a second. PIDLs work across a variety of file systems (fat, ntfs, cdfs, udfs) as well as protocols (SMB) and namespaces (control panel). PIDLs may optionally use specific FS features like object ID but they cannot be required since not all FS’s implement these types of features.

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@aol.com
Sent: Tuesday, March 11, 2008 4:20 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] PIDL and File System Driver

Hi!

I’ve an application that uses PIDLs to open files, using shell routines like ParseDisplayName. I’ve a file system driver that supplies files which works fine for normal applications, and I can see normal reads and writes happen (notepad, word, etc), but when my shell app goes to try to use PIDLs, I keep getting file not found errors from the shell. My question is this:

A) How does the shell go about making up PIDLs, at least from the perspective of a driver? I can see a flood of create calls, and I think maybe a get attributes call in there also, but can anyone else be more specific about what the driver does to support the use of PIDLs?

B) Does this have anything to do with the optional Object ID support the file system driver can implement? Must the driver implement this for the shell to generate PIDLs?

Thanks!

Best,

Steve


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer