# cbWinBufAlloc64()

Allocates a Windows global memory buffer large enough to hold double precision data values, and returns a memory handle for the buffer.

Most devices return data in a 16-bit format. For these devices, create the buffer using cbWinBufAlloc(). Some devices return data in higher resolution formats, or the resolution of the data can vary depending on various options used to collect the data. In these cases, determine if the buffer needs to be created using cbWinBufAlloc32() or cbWinBufAlloc64(). See hardware-specific information to determine the type of buffer needed. If not specifically mentioned, use cbWinBufAlloc().

Some devices support acquisition of scaled data. In these cases, create the buffer with cbScaledWinBufAlloc(). See hardware-specific information to determine if the device supports scaled data.

## Function Prototype

C/C++

HGLOBAL cbWinBufAlloc64(long NumPoints);

Visual Basic

Function cbWinBufAlloc64(ByVal NumPoints&) As Long

## Arguments

NumPoints

The size of the buffer to allocate. Specifies the number of double precision values (8-byte or 64-bit) that the buffer will hold.

## Returns

- 0 if the buffer could not be allocated, or a non-zero integer handle to the buffer.

## Notes

- Unlike most other functions in the library, this function does not return an error code. It returns a Windows global memory handle which can then be passed to the scan functions in the library. If an error occurs, the handle will come back as 0 to indicate that the buffer was not allocated.