Copies the contents of a managed string to a block of memory allocated from the unmanaged COM task allocator.
![]()
An integer representing a pointer to the block of memory allocated for the string, or 0 if s is null.
Marshal.StringToCoTaskMemUni(string) is useful for custom marshaling or for use when mixing managed and unmanaged code. Because this method allocates the unmanaged memory required for a string, always free the memory by calling Marshal.FreeCoTaskMem(IntPtr). This method provides the opposite functionality of Marshal.PtrToStringUni(IntPtr, int). The characters of the string are copied as Unicode characters.