Carbon


GetVolParmsInfoBuffer

Header: Files.h

Holds information about the characteristics of a volume.

struct GetVolParmsInfoBuffer {
    SInt16 vMVersion; 
    SInt32 vMAttrib; 
    Handle vMLocalHand; 
    SInt32 vMServerAdr; 
    SInt32 vMVolumeGrade; 
    SInt16 vMForeignPrivID; 
    SInt32 vMExtendedAttributes;
};

Field descriptions

vMVersion

The version number of the attributes buffer structure, as returned by the volume format’s implementation. Currently, this field returns 1, 2, or 3. Version 3 was introduced to support the HFS Plus APIs.

vMAttrib

A bit vector of attributes. The vMAttrib field consists of many bits that describe the volume’s attributes.

vMLocalHand

Contains a handle to private data for shared volumes. On creation of the VCB (just after mounting), this field is a handle to a 2-byte block of memory. The Finder uses this for its local window list storage, allocating and deallocating memory as needed. It is disposed of when the volume is unmounted. Your application should treat this field as reserved.

vMServerAdr

For AppleShare server volumes, this field contains the network address of an AppleTalk server volume. Your application can inspect this field to tell which volumes belong to which server; the value of this field is 0 if the volume does not have a server.

vMVolumeGrade

The relative speed rating of the volume. The scale used to determine these values is currently uncalibrated. In general, lower values indicate faster speeds. A value of 0 indicates the volume’s speed is unrated. The buffer version returned in vMVersion must be greater than 1 for this field to be meaningful.

vMForeignPrivID

An integer representing the privilege model supported by the volume. Currently two values are defined for this field: 0 represents a standard HFS or HFS Plus volume that might or might not support the AFP privilege model; fsUnixPriv represents a volume that supports the A/UX privilege model. The buffer version returned in vMVersion must be greater than 1 for this field to be meaningful.

vMExtendedAttributes

Contains bits that describe a volume’s extended attributes. For this field to be meaningful, the vMVersion must be greater than 2. The bits currently defined are described in “Extended Attributes Constants”.

Volumes that implement the HFS Plus APIs must use version 3 (or newer) of the GetVolParmsInfoBuffer. Volumes that don’t implement the HFS Plus APIs may still implement version 3 of the GetVolParmsInfoBuffer. If the version of the GetVolParmsInfoBuffer is 2 or less, or the bSupportsHFSPlusAPIs bit is clear (zero), then the volume does not implement the HFS Plus APIs, and they are being emulated for that volume by the File Manager itself.

If a volume does not implement the HFS Plus APIs, and supports version 2 or earlier version of the GetVolParmsInfoBuffer, it cannot itself describe whether it supports the FSCatalogSearch or FSExchangeObjects calls. The compatibility layer will implement the FSCatalogSearch call if the volume supports the PBCatSearch call (i.e. the bHasCatSearch bit of vMAttrib is set). The compatibility layer will implement the FSExchangeObjects call if the volume supports PBExchangeFiles (i.e. the bHasFileIDs bit of vMAttrib is set).


© 2000 Apple Computer, Inc. (Last Updated 6/30/2000)