FS_QueryResourceInfo

FS_QueryResourceInfo(
 PIOREQ pir
 )
 

FS_QueryResourceInfo returns information about the resource in question. It returns the name of the resource and other relevant information. This routine handles the Win32 function GetVolumeInfo().

ir_rh
Supplies handle to the resource.
ir_options
Supplies the level of information requested.
Information Levels:  
Level 0 Return the name of the resource. This request should be processed only by network FSDs. Local FSDs should fail this call.
Level 1 Return level 0 information and additional information about the resource type and status. This request should be processed only by network FSDs. Local FSDs should fail this call.
Level 2 Return information about the name of the file system on the resource and other file system specific information. This request should be processed by both network and local FSDs.

ir_ppath
Supplies a pointer to the buffer to contain the unicode name of the resource that is returned by the FSD. This field is a parameter only on the level 0 and 1 requests.
ir_data
Supplies pointer to a buffer where the file system name is to be returned. This field is supplied only for a level 2 request.
ir_length
Supplies the maximum length of the buffer the file system name is to be returned in. This field is supplied only for a level 2 request.
ir_user
Supplies user ID for this request.
ir_pid
Supplies process ID for this request.
ir_error Returns status of the operation ( 0 if no error, errorcode otherwise ).
Level 0 Request  
ir_ppath Returns the name of the resource in unicode.
Level 1 Request  
ir_ppath Returns the name of the resource in unicode.
ir_options Returns information about the status of the resource.

Resource Status Values:  
Value Meaning
RESSTAT_OK Connection to resource is still valid.
RESSTAT_PAUSED Connection to resource paused by workstation.
RESSTAT_DISCONN Resource is disconnected.
RESSTAT_ERROR Resource cannot be reconnected due to error.
RESSTAT_CONN First connection to resource in progress.
RESSTAT_RECONN Reconnection to resource in progress.

ir_flags Returns connection resource type.

Connection Resource Type Values:  
Value Meaning
RESTYPE_WILD Wild card resource type.
RESTYPE_DISK Disk resource.
RESTYPE_SPOOL Spooled printer resource.
RESTYPE_CHARDEV Character device resource.
RESTYPE_IPC Interprocess communication resource.

Level 2 Request  
ir_length Returns the maximum length of a single path component (excluding the NUL character) supported by the file system in the low word and the maximum length of the path (including the NUL character) supported by the file system in the high word. This value should be returned only on a level 2 request.
ir_options Returns flags associated with the specified file system. This value should be returned only for a level 2 request.

Filesystem Flag Values:  
Value Meaning
FS_CASE_IS_PRESERVED The case of the filename is preserved when it is stored on the disk.
FS_UNICODE_STORED_ON_DISK The long filename is stored in unicode on the disk.
FS_VOL_SUPPORTS_LONG_NAMES The file system supports long filenames on this volume.
FS_VOL_IS_COMPRESSED The file system does data compression on this volume.

ir_pos Returns the cache block size of the file system that is handling the volume.

Level 0 and 1 requests should be honored only by network FSDs. Local FSDs should fail these requests with an ERROR_INVALID_FUNCTION.