OpenersNotesSection(Spacer1)Details

MLUTF16LinkName() allocates memory for the link name string that must be released. To release the memory, call (NonWLLink[MLReleaseUTF16LinkName(), paclet:/ref/c/MLReleaseUTF16LinkName]) on the value returned by the function. If MLUTF16LinkName() returns NULL, do not call (NonWLLink[MLReleaseUTF16LinkName(), paclet:/ref/c/MLReleaseUTF16LinkName]) on the NULL value.

Programs should not modify the contents of the string returned by MLUTF16LinkName().

The link name string returned by MLUTF16LinkName() contains a byte order mark.

The link name length n includes the byte order mark.

MathLink links are created using a combination of link mode, link protocol, and other options. The link name provides necessary information for the link mode and link protocol used to create the link.

MLUTF16LinkName() is declared in the MathLink header file (RefLink[mathlink.h, paclet:/ref/file/mathlink.h]).

OpenersPrimaryExamplesSection(Spacer1)Examples  (1)

OpenersExampleSection0(Spacer1)Basic Examples  (1)

#include "mathlink.h"

/* A function for reading the name of a link */

void f(MLINK l)
{
	const unsigned short *name;
	int length;

	name = MLUTF16LinkName(l, &length);

	/* We check length <= 1 because MLUTF16LinkName returns a string
	with a byte order mark. */

	if(name == (const unsigned short *)0 || length <= 1)
	{ /* Unable to read the link name */ }

	/* ... */

	MLReleaseUTF16LinkName(l, name, length);
}

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(NonWLLink[MLReleaseUTF16LinkName(), paclet:/ref/c/MLReleaseUTF16LinkName])  ▪  (NonWLLink[MLLinkName(), paclet:/ref/c/MLLinkName])  ▪  (NonWLLink[MLUCS2LinkName(), paclet:/ref/c/MLUCS2LinkName])  ▪  (NonWLLink[MLUTF32LinkName(), paclet:/ref/c/MLUTF32LinkName])  ▪  (NonWLLink[MLUTF8LinkName(), paclet:/ref/c/MLUTF8LinkName])}})}})