[PATCH 15/15] api-ms-win-core-winrt-string: Implement a few HSTRING functions.

Martin Storsjö martin at martin.st
Sat Dec 6 10:26:34 CST 2014

Hi Michael,

On Sat, 6 Dec 2014, Michael Müller wrote:

> you are right that WindowsSubstring always creates a new backing buffer
> (although it is not necessary), but there is also
> WindowsDuplicateString. This function indeed uses the same backing
> buffer as you can verify with this small sample code:
> https://dl.dropboxusercontent.com/u/61413222/test-string.c
> The MSDN also explicitly mentions that the refcount is incremented in
> this case:
> "If string was created by calling the WindowsCreateString function, the
> reference count of the backing buffer is incremented. If string was
> created by calling the WindowsCreateStringReference function, the
> Windows Runtime copies its source string to a new buffer and starts a
> reference count, which means that newString is not a fast-pass string."
> Source: http://msdn.microsoft.com/en-us/library/br224634(v=vs.85).aspx
> It is necessary to implement reference counting in order to be fully
> compatible with the Windows implementation.

Oh, I see - I hadn't checked this particular function (yet).

Ok then, then it's clear where/how to hook up the reference counting. I'll 
see if I can get to attempting implementing this sometimes soon.

// Martin

More information about the wine-devel mailing list