##### [API function]

## FSOUND_Sample_Lock

Returns a pointer to the beginning of the sample data for a sample.
Data written to these pointers must be signed.

signed char F_API FSOUND_Sample_Lock(
FSOUND_SAMPLE *sptr,
int offset,
int length,
void **ptr1,
void **ptr2,
unsigned int *len1,
unsigned int *len2
);

### Parameters

sptr | Pointer to the sample definition.
offset | Offset in BYTES to the position you want to lock in the sample buffer.
length | Number of BYTES you want to lock in the sample buffer.
ptr1 | Address of a pointer that will point to the first part of the locked data.
ptr2 | Address of a pointer that will point to the second part of the locked data. This will be NULL if the data locked hasnt wrapped at the end of the buffer.
len1 | Length of data in BYTES that was locked for ptr1
len2 | Length of data in BYTES that was locked for ptr2. This will be 0 if the data locked hasnt wrapped at the end of the buffer.

### Return Value

On success, TRUE is returned.
On failure, FALSE is returned.

### Remarks

You must always unlock the data again after you have finished with it, using FSOUND_Sample_Unlock.
For PCM based samples, data must be signed 8 or 16bit. For compressed samples such as those created with FSOUND_IMAADPCM, FSOUND_VAG, FSOUND_GCADPCM, the data must be in its original compressed format.
On PlayStation 2, with FSOUND_HW2D or FSOUND_HW3D based samples, this function does not return a readable or writable buffer, it returns the SPU2 address of the sample. To send data to it you must call FSOUND_SendData.
On GameCube, with FSOUND_HW2D or FSOUND_HW3D based samples, this function will not return the data contained within the sample. It is for upload purposes only.
___________________
Supported on the following platforms : Win32, WinCE, Linux, Macintosh, XBox, PlayStation 2, GameCube

### See Also

FSOUND_Sample_Alloc , FSOUND_Sample_Unlock , FSOUND_Sample_Upload , FSOUND_SendData

This document copyright ©Firelight Technologies, Pty, Ltd, 1999-2002. All rights reserved.
Generated Thu Dec 15 17:31:32 2005 by SourceDoc v0.10, the automated source code documenter.