| Oracle® Call Interface Programmer's Guide, 10g Release 2 (10.2) Part Number B14250-02 | 
 | 
| 
 | View PDF | 
This section describes the memory services functions.
Table 19-3 Memory Services Functions
| Function/Page | Purpose | 
|---|---|
|  | Starts a user duration. | 
|  | Terminates a user duration. | 
|  | Allocates memory of a given size from a given duration. | 
|  | Resizes a memory chunk. | 
|  | Frees a memory chunk. | 
| See Also:For more information about using these functions, see Oracle Database Data Cartridge Developer's Guide | 
Purpose
Starts a user duration.
Syntax
sword OCIDurationBegin ( OCIEnv              *env,
                         OCIError            *err,
                         CONST OCISvcCtx     *svc, 
                         OCIDuration         parent,
                         OCIDuration         *duration );
Parameters
The OCI environment handle.
The OCI error handle. If there is an error, it is recorded in err and this function returns OCI_ERROR. Diagnostic information can be obtained by calling OCIErrorGet().
The OCI service context handle. This should be passed as NULL for cartridge services.
The duration number of the parent duration. One of these:
An identifier unique to the newly created user duration.
Comments
This function starts a user duration. A user can have multiple active user durations simultaneously. The user durations do not have to be nested. The duration parameter is used to return a number which uniquely identifies the duration created by this call.
Note that the environment and service context parameters cannot both be NULL.
Related Functions
Purpose
Terminates a user duration.
Syntax
sword OCIDurationEnd ( OCIEnv             *env, 
                       OCIError           *err, 
                       CONST OCISvcCtx    *svc,
                       OCIDuration        duration,
                       CONST OCISvcCtx    *svc );
Parameters
The OCI environment handle.
The OCI error handle. If there is an error, it is recorded in err and this function returns OCI_ERROR. Diagnostic information can be obtained by calling OCIErrorGet().
A user duration previously created by OCIDurationBegin().
OCI service context (this should be passed as NULL for cartridge services, otherwise non-NULL)
Comments
This function terminates a user duration.
Note that the environment and service context parameters cannot both be NULL.
Related Functions
Purpose
This call allocates memory of a given size from a given duration.
Syntax
sword OCIMemoryAlloc( dvoid        *hndl, 
                      OCIError     *err, 
                      dvoid        **mem, 
                      OCIDuration  dur, 
                      ub4          size, 
                      ub4          flags );
Parameters
The OCI environment handle.
The error handle.
Memory allocated.
One of the following (a previously created user duration):
OCI_DURATION_CALLOUT
OCI_DURATION_STATEMENT
OCI_DURATION_SESSION
OCI_DURATION_PROCESS
Size of memory to be allocated.
Set OCI_MEMORY_CLEARED bit to get memory that has been cleared.
Comments
To allocate memory for duration of callout of agent, that is, external procedure duration, use OCIExtProcAllocCallMemory() or OCIMemoryAlloc() with dur as OCI_DURATION_CALLOUT.
Returns
Error code.
Purpose
This call resizes a memory chunk to a new size.
Syntax
sword OCIMemoryResize( dvoid        *hndl, 
                       OCIError     *err, 
                       dvoid        **mem, 
                       ub4          newsize, 
                       ub4          flags );
Parameters
The OCI environment or user session handle.
The error handle.
Pointer to memory allocated previously using OCIMemoryAlloc().
Size of memory requested.
Set OCI_MEMORY_CLEARED bit to get memory that has been cleared
Comments
Memory must have been allocated before this function can be called to resize.
Returns
Error code.
Purpose
This call frees a memory chunk.
Syntax
sword OCIMemoryFree( dvoid    *hndl, 
                     OCIError *err, 
                     dvoid    *mem );
Parameters
The OCI environment or user session handle.
The error handle.
Pointer to memory allocated previously using OCIMemoryAlloc().
Returns
Error code.