18 TQ3ChannelGetMethod

You can define a function that QuickDraw3D calls to get a channel of a controller.

typedef TQ3Status (*TQ3ChannelGetMethod) (
TQ3ControllerRef controllerRef, 
unsigned long channel, 
void *data, 
unsigned long *dataSize);
controllerRef
A reference to a controller.
channel An index into the list of channels associated with the specified controller. This value is always greater than or equal to 0 and less than the channel count specified at the time Q3Controller_New was called.
data On entry, a pointer to a buffer. You should put the current value of the specified controller channel into this buffer.
dataSize On exit, the number of bytes of data written to the specified buffer.

DESCRIPTION


Your TQ3ChannelGetMethod function should return, in the buffer pointed to by the data parameter, the current value of the controller channel specified by the controllerRef and channel parameters. Your function should also return, in the dataSize parameter, the size of that data. QuickDraw3D allocates memory for the data buffer before it calls your function and deallocates the memory after your function has returned. The maximum number of bytes that the data buffer can hold is defined by a constant:

#define kQ3ControllerSetChannelMaxDataSize                256

SPECIAL CONSIDERATIONS


You need to define a channel-getting method only if you are writing a device driver for a controller. You can, however, call Q3Controller_GetChannel at any time to invoke a controller's channel-getting method.

RESULT CODES


Your channel-getting method should return kQ3Success if it is able to return the requested information and kQ3Failure otherwise.

SEE ALSO


See the description of Q3Controller_GetChannel on page 18-19 for information on getting a controller's channels.

DESCRIPTION
SPECIAL CONSIDERATIONS
RESULT CODES
SEE ALSO

3D Graphics Programming with QuickDraw 3D - 21 OCT 1995

© Apple Computer, Inc.

Let us know what you think of these prototype pages.

Generated with Harlequin WebMaker