The Desktop Parameter Block
The desktop database functions use the desktop parameter block, a data structure of type DTPBRec:
TYPE DTPBRec =
RECORD
qLink: QElemPtr; {next queue entry}
qType: Integer; {queue type}
ioTrap: Integer; {routine trap}
ioCmdAddr: Ptr; {routine address}
ioCompletion: ProcPtr; {completion routine}
ioResult: OSErr; {result code}
ioNamePtr: StringPtr; {file, directory, or }
{ volume name}
ioVRefNum: Integer; {volume reference number}
ioDTRefNum: Integer; {desktop database reference }
{ number}
ioIndex: Integer; {index into icon list}
ioTagInfo: LongInt; {tag information}
ioDTBuffer: Ptr; {data buffer}
ioDTReqCount: LongInt; {requested length of data}
ioDTActCount: LongInt; {actual length of data}
filler1: SignedByte; {unused}
ioIconType: SignedByte; {icon type}
filler2: Integer; {unused}
ioDirID: LongInt; {parent directory ID}
ioFileCreator: OSType; {file creator}
ioFileType: OSType; {file type}
ioFiller3: LongInt; {unused}
ioDTLgLen: LongInt; {logical length of desktop }
{ database}
ioDTPyLen: LongInt; {physical length of desktop }
{ database}
ioFiller4: {unused}
ARRAY[1..14] OF Integer;
ioAPPLParID: LongInt {parent directory ID of }
{ application}
END;
DTPBPtr = ^DTPBRec; {pointer to desktop }
{ parameter block}
For a description of the standard fields of a parameter block (qLink, qType, ioTrap, ioCmdAddr, ioCompletion, and ioResult), see the chapter "File Manager" in Inside Macintosh: Files. For other fields of the desktop parameter block, see the relevant routine description provided in the next section.