2022-02-05 18:06:25 -08:00

57 lines
2.6 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
// This file is automatically generated. Changes to this file may be overwritten.
namespace Epic.OnlineServices
{
public sealed partial class ContinuanceToken : Handle
{
public ContinuanceToken()
{
}
public ContinuanceToken(System.IntPtr innerHandle) : base(innerHandle)
{
}
/// <summary>
/// Retrieve a null-terminated stringified continuance token from an <see cref="ContinuanceToken" />.
///
/// To get the required buffer size, call once with OutBuffer set to NULL, InOutBufferLength will contain the buffer size needed.
/// Call again with valid params to get the stringified continuance token which will only contain UTF8-encoded printable characters (excluding the null-terminator).
/// </summary>
/// <param name="continuanceToken">The continuance token for which to retrieve the stringified version.</param>
/// <param name="outBuffer">The buffer into which the character data should be written</param>
/// <param name="inOutBufferLength">
/// The size of the OutBuffer in characters.
/// The input buffer should include enough space to be null-terminated.
/// When the function returns, this parameter will be filled with the length of the string copied into OutBuffer including the null termination character.
/// </param>
/// <returns>
/// An <see cref="Result" /> that indicates whether the continuance token string was copied into the OutBuffer.
/// <see cref="Result.Success" /> - The OutBuffer was filled, and InOutBufferLength contains the number of characters copied into OutBuffer including the null terminator.
/// <see cref="Result.InvalidParameters" /> - Either OutBuffer or InOutBufferLength were passed as NULL parameters.
/// <see cref="Result.InvalidUser" /> - The AccountId is invalid and cannot be stringified.
/// <see cref="Result.LimitExceeded" /> - The OutBuffer is not large enough to receive the continuance token string. InOutBufferLength contains the required minimum length to perform the operation successfully.
/// </returns>
public Result ToString(out string outBuffer)
{
System.IntPtr outBufferAddress = System.IntPtr.Zero;
int inOutBufferLength = 1024;
Helper.TryMarshalAllocate(ref outBufferAddress, inOutBufferLength, out _);
var funcResult = Bindings.EOS_ContinuanceToken_ToString(InnerHandle, outBufferAddress, ref inOutBufferLength);
Helper.TryMarshalGet(outBufferAddress, out outBuffer);
Helper.TryMarshalDispose(ref outBufferAddress);
return funcResult;
}
public override string ToString()
{
string funcResult;
ToString(out funcResult);
return funcResult;
}
}
}