progwrp/combase.c
2025-12-13 23:37:26 +01:00

75 lines
1.2 KiB
C

#include "progwrp.h"
#include "export.h"
#include "implementations.h"
HRESULT WINAPI Implementation_WindowsCreateString(
PCNZWCH sourceString,
UINT32 length,
HSTRING* string
)
{
PUNICODE_STRING pStr;
if (!string && length != 0)
return E_POINTER;
if (!string)
return E_INVALIDARG;
pStr = (PUNICODE_STRING) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(UNICODE_STRING));
if (!pStr)
return E_OUTOFMEMORY;
RtlInitUnicodeString(pStr, sourceString);
*string = pStr;
return S_OK;
}
HRESULT WINAPI Implementation_WindowsDeleteString(
HSTRING string
)
{
if (!string)
return E_INVALIDARG;
HeapFree(GetProcessHeap(), HEAP_ZERO_MEMORY, string);
return S_OK;
}
PCWSTR WINAPI Implementation_WindowsGetStringRawBuffer(
HSTRING string,
UINT32* length
)
{
return NULL;
}
HRESULT WINAPI Implementation_RoGetActivationFactory(
HSTRING activatableClassId,
REFIID iid,
void** factory
)
{
return E_NOTIMPL;
}
HRESULT WINAPI Implementation_RoActivateInstance(
HSTRING activatableClassId,
PVOID** instance
)
{
return E_NOTIMPL;
}
HRESULT WINAPI Implementation_WindowsCreateStringReference(
PCWSTR sourceString,
UINT32 length,
HSTRING_HEADER* hstringHeader,
HSTRING* string
)
{
return E_NOTIMPL;
}