GW2RegisterOutputMemory

Prev Next

The GW2RegisterOutputMemory function registers the memory location to place the managed file produced by Glasswall to a session. Using this function activates the Manage & Protect Process Mode for the session.

Synopsis

For session session, the GW2RegisterOutputMemory function registers where the managed content is to be placed, and where to place the size in bytes of the managed content. A pointer to the managed file content will be placed in the object pointed to by outputBuffer and the size in bytes of the managed data will be placed in the size_t object pointed to by outputLength. The managed file content will be deleted when the session is closed using GW2CloseSession. Using this function activates the Manage and Protect Process Mode for the session.

#include "glasswall.core2.api.h"
int GW2RegisterOutputMemory(Session session, char **outputBuffer, size_t *outputLength);

Returns

Returns an integer GW2_RetStatus enum value. Negative numbers indicate a failure.

Example

#include "glasswall.core2.api.h"

HANDLE session = GW2OpenSession();
char *managed_content = NULL;
size_t size = 0;

if (!session)
    /* deal with error */
else
{
    if (GW2RegisterOutputMemory(session, &managed_content, &size) < 0)
        /* deal with error */
    else
        /* continue processing */
        ...
}

/* later */
if (GW2CloseSession(session) < 0)
    /* error closing session */
else
    /* managed file content has been deleted */

Synopsis

public int RegisterOutputMemory(
    int session,
    out IntPtr outputBufferPtr,
    ref UIntPtr outputBufferLengthPtr)

Returns

Returns an integer GW2_RetStatus enum value. Negative numbers indicate a failure.

Synopsis

import com.glasswall.core2javabridge.*;

public int GW2RegisterOutputMemory(int session) throws GlasswallException

Description

The GW2RegisterOutputMemory function registers a memory buffer to be used as the output for the output file for the session specified by session

You will need to call GetOutputBuffer after having called GW2RunSession in order to retrieve the output file.

Returns

The GW2RegisterOutputMemory function returns a GW2_RetStatus enumeration converted to int. The value will be negative if an error occurred. 0 indicates success.

Please refer to API Overview for Return Types and their details.

A GlasswallException exception will be thrown if session is invalid.

Synopsis - Retrieve Data

import com.glasswall.core2javabridge.*;

public byte[] GetOutputBuffer(int session) throws GlasswallException

Description

The GetOutputBuffer function retrieves the output buffer associated with the session specified by session.

Returns

The GetOutputBuffer function returns a byte[] containing the output file. This will be null if GW2RegisterOutputMemory and GW2RunSession have not been called, or if the file is non-conforming.

A GlasswallException exception will be thrown if session is invalid.

Synopsis

Register an output file for the given session. If output_file is None the file will be returned as 'buffer' and 'buffer_length' attributes.

def register_output(self, session, output_file: Optional[str] = None):
    """ Register an output file for the given session. If output_file is None the file will be returned as 'buffer' and 'buffer_length' attributes.

    Args:
        session (int): The session integer.
        output_file (Optional[str]): If specified, during run session the file will be written to output_file, otherwise the file will be written to the glasswall.GwReturnObj 'buffer' and 'buffer_length' attributes.

    Returns:
        gw_return_object (glasswall.GwReturnObj): A GwReturnObj instance with the attribute 'status' indicating the result of the function call. If output_file is None (memory mode), 'buffer', and 'buffer_length' are included containing the file content and file size.
    """

Returns

gw_return_object (glasswall.GwReturnObj): A GwReturnObj instance with the attribute 'status' indicating the result of the function call. If output_file is None (memory mode), 'buffer', and 'buffer_length' are included containing the file content and file size.

The status attribute is an integer GW2_RetStatus enum value. Negative numbers indicate a failure.

Synopsis

This function registers where the managed content is to be placed, and where to place the size variable of the content.

/**
 * @param {number} session The ID of the session.
 * @param {string} outputBuffer The specified output path. Must be different to the specified input file path.
 * @param {string} outputLength The size of the file buffer
 */

GW2RegisterOutputMemory(
    session,
    outputBuffer,
    outputLength)

Returns

Returns an integer GW2_RetStatus enum value. Negative numbers indicate a failure.