Last modified: January 09, 2012
Applies to: Windows | Windows Server
The JetGetRecordSize2 function retrieves record size information from the desired location.
Windows 7: JetGetRecordSize2 is introduced in the Windows 7 operating system.
JET_ERR JET_API JetGetRecordSize2( __in JET_SESID sesid, __in JET_TABLEID tableid, __out JET_RECSIZE2* precsize, __in const JET_GRBIT grbit );
Identifies the database session context that will be used for the API call.
Identifies the table or cursor that will be used for the API call. The cursor must be positioned on a record, or have an update prepared.
A pointer to an output buffer for the JET_RECSIZE2 structure.
This is one or more of the following values.
This retrieves the size of the record that is in the copy buffer prepared for update. Otherwise, the tableid or cursor must be positioned on a record, and that record will be used.
When this bit is specified, the JET_RECSIZE2 is not zeroed before filling the contents, effectively acting as an accumulation of the statistics for multiple records visited or updated.
This causes the API to ignore non-intrinsic Long Values. For example, only the local record on the page will be used.
This function returns the JET_ERR datatype with one of the following return codes. For more information about the possible ESE errors, see Extensible Storage Engine Errors and Error Handling Parameters.
The operation completed successfully.
One of the requested options was invalid or not implemented. This error will be returned by the JetGetRecordSize2 function when an illegal grbit is specified.
It is not possible to complete the operation because the instance associated with the session has not been initialized.
It is not possible to complete the operation because all activity on the instance associated with the session has ceased as a result of a call to JetStopService.
It is not possible to complete the operation because the instance associated with the session has encountered a fatal error that requires that access to all data be revoked to protect the integrity of that data.
Windows XP: JET_errInstanceUnavailable will only be returned by the Windows XP operating system and later versions of Windows.
It is not possible to complete the operation because the instance associated with the session is being shut down.
It is not possible to complete the operation because a restore operation is in progress on the instance associated with the session.
It is illegal to use the same session for more than one thread at the same time.
Windows XP: JET_errInstanceUnavailable will only be returned by Windows XP and later versions of Windows.
This can happen if the cursor was positioned incorrectly.
If the cursor was not positioned in a transaction, this can happen if another thread deletes the record out from under this session.
This can be returned if a NULLprecsize was passed.
The size of the key accumulated in the cbOverhead field of JET_RECSIZE2, is affected by JET_bitRecordSizeInCopyBuffer. If this bit is specified, the key size accumulated in the cbOverhead field is the full key size. If this bit is not used, the key size accumulated will not include any size saved due to key prefix compression.
Requires Windows Vista.
Requires Windows Server 2008.
Declared in Esent.h.