---
 mingw-w64-crt/Makefile.am             |  6 ++-
 mingw-w64-crt/lib32/runtimeobject.def | 25 ++++++++++++
 mingw-w64-crt/lib64/runtimeobject.def | 29 +++++++++++++
 mingw-w64-headers/include/hstring.h   | 61 +++++++++++++++++++++++++++
 mingw-w64-headers/include/hstring.idl | 27 ++++++++++++
 mingw-w64-headers/include/winstring.h | 77 +++++++++++++++++++++++++++++++++++
 6 files changed, 223 insertions(+), 2 deletions(-)
 create mode 100644 mingw-w64-crt/lib32/runtimeobject.def
 create mode 100644 mingw-w64-crt/lib64/runtimeobject.def
 create mode 100644 mingw-w64-headers/include/hstring.h
 create mode 100644 mingw-w64-headers/include/hstring.idl
 create mode 100644 mingw-w64-headers/include/winstring.h

diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index 4ce1258..71c9f15 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -542,7 +542,8 @@ lib32_DATA = \
   lib32/libxapofx.a         lib32/libx3daudio.a       lib32/libd3dx9.a     \
   lib32/libd3dx10.a         lib32/libd3dx11.a         lib32/libd3dcsxd.a   \
   lib32/libd3dcompiler.a    lib32/libwinhttp.a        lib32/libmsvcr110.a  \
-  lib32/libdevmgr.a         lib32/libdevobj.a         lib32/libdevrtl.a
+  lib32/libdevmgr.a         lib32/libdevobj.a         lib32/libdevrtl.a    \
+  lib32/libruntimeobject.a
 
 if ! W32API
 lib32_DATA += lib32/libglut.a
@@ -1043,7 +1044,8 @@ lib64_DATA = \
   lib64/libxinput.a         lib64/libxaudio.a         lib64/libxaudiod.a   \
   lib64/libxapofx.a         lib64/libx3daudio.a       lib64/libd3dx9.a     \
   lib64/libd3dx10.a         lib64/libd3dx11.a         lib64/libd3dcsxd.a   \
-  lib64/libd3dcompiler.a    lib64/libwinhttp.a        lib64/libmsvcr110.a
+  lib64/libd3dcompiler.a    lib64/libwinhttp.a        lib64/libmsvcr110.a  \
+  lib64/libruntimeobject.a
 
 lib64/libcrtdll.a lib64/libmsvcrt.a lib64/libmsvcr80.a: lib64/lib%.a: 
lib64/%.def
        $(DTDEF64) $< --dllname $*.dll
diff --git a/mingw-w64-crt/lib32/runtimeobject.def 
b/mingw-w64-crt/lib32/runtimeobject.def
new file mode 100644
index 0000000..c49fc51
--- /dev/null
+++ b/mingw-w64-crt/lib32/runtimeobject.def
@@ -0,0 +1,25 @@
+LIBRARY "api-ms-win-core-winrt-string-l1-1-0.dll"
+EXPORTS
+HSTRING_UserFree@8
+HSTRING_UserMarshal@12
+HSTRING_UserSize@12
+HSTRING_UserUnmarshal@12
+WindowsCompareStringOrdinal@12
+WindowsConcatString@12
+WindowsCreateString@12
+WindowsCreateStringReference@16
+WindowsDeleteString@4
+WindowsDeleteStringBuffer@4
+WindowsDuplicateString@8
+WindowsGetStringLen@4
+WindowsGetStringRawBuffer@8
+WindowsInspectString@24
+WindowsIsStringEmpty@4
+WindowsPreallocateStringBuffer@12
+WindowsPromoteStringBuffer@8
+WindowsReplaceString@16
+WindowsStringHasEmbeddedNull@8
+WindowsSubstring@12
+WindowsSubstringWithSpecifiedLength@16
+WindowsTrimStringEnd@12
+WindowsTrimStringStart@12
diff --git a/mingw-w64-crt/lib64/runtimeobject.def 
b/mingw-w64-crt/lib64/runtimeobject.def
new file mode 100644
index 0000000..c211978
--- /dev/null
+++ b/mingw-w64-crt/lib64/runtimeobject.def
@@ -0,0 +1,29 @@
+LIBRARY "api-ms-win-core-winrt-string-l1-1-0.dll"
+EXPORTS
+HSTRING_UserFree
+HSTRING_UserFree64
+HSTRING_UserMarshal
+HSTRING_UserMarshal64
+HSTRING_UserSize
+HSTRING_UserSize64
+HSTRING_UserUnmarshal
+HSTRING_UserUnmarshal64
+WindowsCompareStringOrdinal
+WindowsConcatString
+WindowsCreateString
+WindowsCreateStringReference
+WindowsDeleteString
+WindowsDeleteStringBuffer
+WindowsDuplicateString
+WindowsGetStringLen
+WindowsGetStringRawBuffer
+WindowsInspectString
+WindowsIsStringEmpty
+WindowsPreallocateStringBuffer
+WindowsPromoteStringBuffer
+WindowsReplaceString
+WindowsStringHasEmbeddedNull
+WindowsSubstring
+WindowsSubstringWithSpecifiedLength
+WindowsTrimStringEnd
+WindowsTrimStringStart
diff --git a/mingw-w64-headers/include/hstring.h 
b/mingw-w64-headers/include/hstring.h
new file mode 100644
index 0000000..587dfcd
--- /dev/null
+++ b/mingw-w64-headers/include/hstring.h
@@ -0,0 +1,61 @@
+/*** Autogenerated by WIDL 1.5.19 from include/hstring.idl - Do not edit ***/
+
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+
+#include <rpc.h>
+#include <rpcndr.h>
+
+#ifndef COM_NO_WINDOWS_H
+#include <windows.h>
+#include <ole2.h>
+#endif
+
+#ifndef __hstring_h__
+#define __hstring_h__
+
+/* Forward declarations */
+
+/* Headers for imported files */
+
+#include <wtypes.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if 0
+typedef struct HSTRING__ {
+    int unused;
+} HSTRING__;
+typedef HSTRING__ *HSTRING;
+#endif
+
+  typedef struct HSTRING__{
+    int unused;
+  } HSTRING__;
+  typedef __RPC_unique_pointer HSTRING__* HSTRING;
+
+  typedef struct HSTRING_HEADER {
+    __C89_NAMELESS union {
+      PVOID Reserved1;
+#ifdef _WIN64
+      char Reserved2[24];
+#else
+      char Reserved2[20];
+#endif
+    } Reserved;
+  } HSTRING_HEADER;
+
+DECLARE_HANDLE(HSTRING_BUFFER);
+/* Begin additional prototypes for all interfaces */
+
+
+/* End additional prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __hstring_h__ */
diff --git a/mingw-w64-headers/include/hstring.idl 
b/mingw-w64-headers/include/hstring.idl
new file mode 100644
index 0000000..de77186
--- /dev/null
+++ b/mingw-w64-headers/include/hstring.idl
@@ -0,0 +1,27 @@
+import "wtypes.idl";
+
+cpp_quote("#if 0")
+typedef struct HSTRING__{
+  int unused;
+} HSTRING__;
+typedef [wire_marshal(wireBSTR), unique] HSTRING__ *HSTRING;
+cpp_quote("#endif")
+
+cpp_quote("")
+cpp_quote("  typedef struct HSTRING__{")
+cpp_quote("    int unused;")
+cpp_quote("  } HSTRING__;")
+cpp_quote("  typedef __RPC_unique_pointer HSTRING__* HSTRING;")
+cpp_quote("")
+cpp_quote("  typedef struct HSTRING_HEADER {")
+cpp_quote("    __C89_NAMELESS union {")
+cpp_quote("      PVOID Reserved1;")
+cpp_quote("#ifdef _WIN64")
+cpp_quote("      char Reserved2[24];")
+cpp_quote("#else")
+cpp_quote("      char Reserved2[20];")
+cpp_quote("#endif")
+cpp_quote("    } Reserved;")
+cpp_quote("  } HSTRING_HEADER;")
+cpp_quote("")
+cpp_quote("DECLARE_HANDLE(HSTRING_BUFFER);")
diff --git a/mingw-w64-headers/include/winstring.h 
b/mingw-w64-headers/include/winstring.h
new file mode 100644
index 0000000..c37097c
--- /dev/null
+++ b/mingw-w64-headers/include/winstring.h
@@ -0,0 +1,77 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the mingw-w64 runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+#ifndef __WINSTRING_H__
+#define __WINSTRING_H__
+
+#include <windows.h>
+#include <sdkddkver.h>
+#include <rpc.h>
+#include <hstring.h>
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN8
+
+void __RPC_USER HSTRING_UserFree(unsigned long *pFlags, HSTRING *ppidl);
+
+unsigned char* __RPC_USER HSTRING_UserMarshal(unsigned long *pFlags, unsigned 
char *pBuffer, HSTRING *ppidl);
+
+unsigned long __RPC_USER HSTRING_UserSize(unsigned long *pFlags, unsigned long 
StartingSize, HSTRING *ppidl);
+
+unsigned char* __RPC_USER HSTRING_UserUnmarshal(unsigned long *pFlags, 
unsigned char *pBuffer, HSTRING *ppidl);
+
+#ifdef _WIN64
+void __RPC_USER HSTRING_UserFree64(unsigned long *pFlags, HSTRING *ppidl);
+
+unsigned char* __RPC_USER HSTRING_UserMarshal64(unsigned long *pFlags, 
unsigned char *pBuffer, HSTRING *ppidl);
+
+unsigned long __RPC_USER HSTRING_UserSize64(unsigned long *pFlags, unsigned 
long StartingSize, HSTRING *ppidl);
+
+unsigned char* __RPC_USER HSTRING_UserUnmarshal64(unsigned long *pFlags, 
unsigned char *pBuffer, HSTRING *ppidl);
+#endif
+
+/* */
+
+HRESULT WINAPI WindowsCompareStringOrdinal(HSTRING string1, HSTRING string2, 
INT32 *result);
+
+HRESULT WINAPI WindowsConcatString(HSTRING string1, HSTRING string2, HSTRING 
*newString);
+
+HRESULT WINAPI WindowsCreateString(LPCWSTR sourceString, UINT32 length, 
HSTRING *string);
+
+HRESULT WINAPI WindowsCreateStringReference(PCWSTR sourceString, UINT32 
length, HSTRING_HEADER *hstringHeader, HSTRING *string);
+
+HRESULT WINAPI WindowsDeleteString(HSTRING string);
+
+HRESULT WindowsDeleteStringBuffer(HSTRING_BUFFER bufferHandle);
+
+HRESULT WINAPI WindowsDuplicateString(HSTRING string, HSTRING *newString);
+
+UINT32 WINAPI WindowsGetStringLen(HSTRING string);
+
+PCWSTR WINAPI WindowsGetStringRawBuffer(HSTRING string, UINT32 *length);
+
+typedef HRESULT (WINAPI *PINSPECT_HSTRING_CALLBACK)(void *context, UINT_PTR 
readAddress, UINT32 length, BYTE *buffer);
+
+HRESULT WINAPI WindowsInspectString(UINT_PTR targetHString, USHORT machine, 
PINSPECT_HSTRING_CALLBACK callback, void *context, UINT32 *length, UINT_PTR 
*targetStringAddress);
+
+BOOL WINAPI WindowsIsStringEmpty(HSTRING string);
+
+HRESULT WindowsPreallocateStringBuffer(UINT32 length, WCHAR **mutableBuffer, 
HSTRING_BUFFER *bufferHandle);
+
+HRESULT WindowsPromoteStringBuffer(HSTRING_BUFFER bufferHandle, HSTRING 
*string);
+
+HRESULT WINAPI WindowsReplaceString(HSTRING string, HSTRING stringReplaced, 
HSTRING stringReplaceWith, HSTRING *newString);
+
+HRESULT WINAPI WindowsStringHasEmbeddedNull(HSTRING string, BOOL 
*hasEmbedNull);
+
+HRESULT WINAPI WindowsSubstring(HSTRING string, UINT32 startIndex, HSTRING 
*newString);
+
+HRESULT WINAPI WindowsSubstringWithSpecifiedLength(HSTRING string, UINT32 
startIndex, UINT32 length, HSTRING *newString);
+
+HRESULT WINAPI WindowsTrimStringEnd(HSTRING string, HSTRING trimString, 
HSTRING *newString);
+
+HRESULT WINAPI WindowsTrimStringStart(HSTRING string, HSTRING trimString, 
HSTRING *newString);
+
+#endif
+#endif
-- 
1.8.1.2

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to