The size of the partition is determined by HighCyl, LowCyl, BlocksPerTrack, Surfaces and BlockSize.
The formula is (HighCyl + 1- LowCyl) * BlocksPerTrack * Surfaces * BlockSize.
BlockSize usually defaults to 512. All other values can be changed to meet your requirements.
The given values result in a size of (1024 + 1 - 2) * 1024 * 1 * 512 = 536,346,624 Bytes a.k.a. 511.5 GB.
To make calculations easy I would use Surfaces = 2 and BlocksPerTrack = 1024, then one Cylinder is one MB and you can use HighCyl to adjust the partition size.
So for true 32 GB (= 34,359,738,368 Bytes) you would use HighCyl = 32768.
However, industry usually sells 32 GB cards with little more than 32,000,000,000 Bytes, so you should rather use HighCyl = 30500 to stay within this limit.
So without knowing how many bytes your card really has, I would use these values which seem to be rather safe:
Surfaces = 2
BlocksPerTrack = 1024
HighCyl = 30500