beautypg.com

Apple AppleShare 3.0 File Server Controls User Manual

Page 25

background image

DiscArrayPtr: LongIntPtr;

ArrayCount: Integer;

Flags: Integer;

Message: tLoginMsg;

BEGIN

{ allocate an array large enough to get all users }

DiscArrayPtr :=

LongIntPtr(NewPtr(sizeof(LongInt) * gCurMaxSessions));

IF DiscArrayPtr <> NIL THEN

BEGIN

Position := 0;

ArrayCount := 0;

ArrayPosPtr := DiscArrayPtr;

REPEAT

{ build list of users with SCGetUserNameRec }

scPB.userInfoPB.scCode := SCGetUserNameRec;

scPB.userInfoPB.scNamePtr := NIL;

scPB.userInfoPB.scPosition := Position;

err := SyncServerDispatch(@scPB);

IF err = noErr THEN

BEGIN { add user to array }

ArrayPosPtr^ := scPB.userInfoPB.scUNRecID;

ArrayPosPtr := LongIntPtr(ORD4(ArrayPosPtr) +

sizeof(LongInt));

ArrayCount := ArrayCount + 1;

END;

UNTIL err <> noErr;

IF ArrayCount > 0 THEN

BEGIN