-
Notifications
You must be signed in to change notification settings - Fork 270
string_maker
The wil::details::string_maker is an internal template type which is used to create Unicode strings.
template<typename string_type>
struct string_maker<string_type>;The string_maker supports any Unicode string type that has a string_allocator:
unique_process_heap_stringunique_hlocal_stringunique_hglobal_stringunique_cotaskmem_stringunique_midl_string
It also supports the following string types:
unique_hstring-
std::wstring(requiresstl.h)
HRESULT make(_In_reads_opt_(length) PCWSTR source, size_t length) noexcept;Allocates memory for a string that can hold length characters (plus a terminating null).
If source is non-null, then the memory is initialized from source.
If source is nullptr, then the memory is zero-initialized.
It is legal to call make more than once. Doing so frees the previous buffer.
wchar_t* buffer();Returns a pointer to the memory allocated by make. The expectation is that the caller will fill this buffer with data, up to length characters.
string_type release();Converts the memory allocated by make to a string and returns it. The string_maker is returned to its empty state.
static PCWSTR get(string_type const& value);Static function to extract a pointer to a null-terminated string buffer from an existing string object.