あなたが参照している:
// Call a helper function to allocate a buffer in which to store the parameter
// value in character form. The function determines the size of the buffer from
// the SQL data type and parameter size returned by SQLDescribeParam and returns
// a pointer to the buffer and the length of the buffer.
AllocParamBuffer(DataType, ParamSize, &PtrArray[i], &BufferLenArray[i]);
これが行うことは、入力パラメータ (PtrArray[i]) を格納するために malloc で推定されるメモリを割り当てること (つまり、PtrArrayp[i] に割り当てられるメモリの量) です。 )。
この場合に必要な量は、SQLDescribeParameter によって返される DataType と ParamSize によって異なるため、割り当てるメモリの量をどのように計算するかは推測するだけです。推測作業は、すべてのパラメーターが SQL_C_CHAR としてバインドされており、それらの一部が文字列列ではない可能性があるという事実にかかっています。たとえば、日付である可能性があります。
必要なのは、一部のメモリを malloc し、ポインターを PtrArray[i] に割り当て、割り当てられた量を BufferLenArray[i] に設定することだけです。