Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6runtimeif.h
Go to the documentation of this file.
1 
13 #ifndef P6RUNTIMEIF_H__
14 #define P6RUNTIMEIF_H__ 1
15 
16 #include "p6err.h"
17 #include "p6comdef.h"
18 
19 
20 #ifdef __cplusplus
21 namespace P6R {
22 extern "C" {
23 #endif
24 
29 
31  #define P6INVALIDATOM (P6R::P6ATOM)0
32 
40  #undef INTERFACE
41  #define INTERFACE p6IAtom
42  P6DECLAREIF_(p6IAtom,p6ICom)
43  {
45 
57  P6DECLCOMMETHOD(addAtom)(P6THIS_ const P6CHAR *pszString,P6ATOM *pAtom) P6PURE;
58 
72  P6DECLCOMMETHOD(getAtomString)(P6THIS_ P6ATOM atom,P6CHAR *pBuffer,P6SIZE *pcBuffer) P6PURE;
73 
83  P6DECLCOMMETHOD(removeAtom)(P6THIS_ P6ATOM atom) P6PURE;
84  };
85 
87  #define IF_p6IAtom {0x32804623,0x1DCD,0x4103,{0xB2,0x30,0x4A,0xCE,0x1F,0x2B,0xC6,0x5F}}
88 
89 
90 
91 
97  #undef INTERFACE
98  #define INTERFACE p6IEnumCategories
99  P6DECLAREIF_(p6IEnumCategories,p6ICom)
100  {
102 
120  P6DECLCOMMETHOD(next)(P6THIS_ P6UINT32 cElements,P6CATID *parElements,P6UINT32 *pcReturned) P6PURE;
121 
130  P6DECLCOMMETHOD(reset)(P6THIS) P6PURE;
131  };
132  #define IF_p6IEnumCategories {0x0BE1E15B,0xF964,0x4be4,{0x8E,0x71,0xA3,0xE2,0x98,0xA2,0xD5,0x35}}
133 
139  #undef INTERFACE
140  #define INTERFACE p6IEnumCategoryComponents
141  P6DECLAREIF_(p6IEnumCategoryComponents,p6ICom)
142  {
144 
162  P6DECLCOMMETHOD(next)(P6THIS_ P6UINT32 cElements,P6CID *parElements,P6UINT32 *pcReturned) P6PURE;
163 
172  P6DECLCOMMETHOD(reset)(P6THIS) P6PURE;
173  };
174  #define IF_p6IEnumCategoryComponents {0xACD65F14,0xD83E,0x4cb2,{0x8C,0x8A,0x38,0x47,0x11,0x84,0x8F,0x7A}}
175 
203  #undef INTERFACE
204  #define INTERFACE p6ICategoryMgr
205  P6DECLAREIF_(p6ICategoryMgr,p6ICom)
206  {
208 
222  P6DECLCOMMETHOD(addCategory)(P6THIS_ const P6REFCATID catid,const P6WCHAR *pszName) P6PURE;
223 
227  P6DECLCOMMETHOD(removeCategory)(P6THIS_ const P6REFCATID catid) P6PURE;
228 
232  P6DECLCOMMETHOD(enumCategories)(P6THIS_ p6IEnumCategories **ppEnum) P6PURE;
233 
238  P6DECLCOMMETHOD(addCategoryComponent)(P6THIS_ const P6REFCATID catid,const P6WCHAR *pszName,const P6REFCID cid) P6PURE;
239 
243  P6DECLCOMMETHOD(removeCategoryComponent)(P6THIS_ const P6REFCATID catid,const P6REFCID cid) P6PURE;
244 
248  P6DECLCOMMETHOD(enumCategoryComponents)(P6THIS_ const P6REFCATID catid,p6IEnumCategoryComponents **ppEnum) P6PURE;
249  };
250  #define IF_p6ICategoryMgr {0x40768F08,0x4107,0x42ca,{0x9D,0x73,0x8B,0x1E,0xCD,0x03,0xCD,0x62}}
251 
265  #undef INTERFACE
266  #define INTERFACE p6IComponentMgr
267  P6DECLAREIF_(p6IComponentMgr,p6ICom)
268  {
270 
285  P6DECLCOMMETHOD(getComponentFactory)(P6THIS_ const P6REFCID cid,const P6REFIID iid,P6VOID **ppIface) P6PURE;
286 
307  P6DECLCOMMETHOD(createInstance)(P6THIS_ p6ICom *pOuter,const P6REFCID cid,const P6REFIID iid,P6VOID **ppIface) P6PURE;
308  };
309  #define IF_p6IComponentMgr {0x17e66188, 0xf9ae, 0x437e, {0xac, 0x8b, 0xbf, 0x73, 0xa8, 0xa7, 0x28, 0x96}}
310 
311 
312 
319  typedef enum {
320  ICSS_STARTING,
321  ICSS_RUNNING,
322  ICSS_STOPPING,
323  ICSS_STOPPED,
324  ICSS_MAX
325  } ICSS;
326 
327  #define MAX_SERVICE_NAME 32
328 
329 
330  typedef struct {
331  ICSS m_nState;
332  P6CID m_componentID;
333  P6UINT16 m_loadOrder;
334  P6WCHAR m_szName[MAX_SERVICE_NAME];
335  } P6SERVICEINFO;
336 
343  #undef INTERFACE
344  #define INTERFACE p6IEnumServices
345  P6DECLAREIF_(p6IEnumServices,p6ICom)
346  {
348 
368  P6DECLCOMMETHOD(next)(P6THIS_ P6UINT32 cElements,P6SERVICEINFO *parElements,P6UINT32 *pcReturned) P6PURE;
369 
378  P6DECLCOMMETHOD(reset)(P6THIS) P6PURE;
379  };
380 
381 
387  #undef INTERFACE
388  #define INTERFACE p6IEnvironment
389  P6DECLAREIF_(p6IEnvironment,p6ICom)
390  {
392 
409  P6DECLCOMMETHOD(getEnv)(P6THIS_ const P6CHAR *pszName,P6CHAR *pBuffer,P6UINT32 cBuffer,P6UINT32 *pcWritten) P6PURE;
410 
427  P6DECLCOMMETHOD(getEnvW)(P6THIS_ const P6WCHAR *pwszName,P6WCHAR *pBuffer,P6UINT32 cBuffer,P6UINT32 *pcWritten) P6PURE;
428 
429  };
430 
431  // {485D6B1E-A081-45b7-AF2A-520F528128C4}
432  #define IF_p6IEnvironment {0x485d6b1e,0xa081,0x45b7,{0xaf,0x2a,0x52,0xf,0x52,0x81,0x28,0xc4}}
433 
434 
435 
436 
437 
441  #define P6MAX_EVENTID_LEN 128
442 
443 
447  typedef P6VOID (*P6HANDLEEVENT)(const P6CHAR *pszEventId,P6VOID *pCtx,P6VOID *pData);
448 
455  #undef INTERFACE
456  #define INTERFACE p6IEventMgr
457  P6DECLAREIF_(p6IEventMgr,p6ICom)
458  {
460 
472  P6DECLCOMMETHOD(registerForEvent)(P6THIS_ const P6CHAR *pszEventID,P6HANDLEEVENT pfnHandler,P6VOID *pCtx) P6PURE;
473 
486  P6DECLCOMMETHOD(unregisterForEvent)(P6THIS_ const P6CHAR *pszEventID,P6HANDLEEVENT pfnHandler,P6VOID **ppCtx) P6PURE;
487 
499  P6DECLCOMMETHOD(generateEvent)(P6THIS_ const P6CHAR *pszEventID,P6VOID *pData) P6PURE;
500  };
501  #define IF_p6IEventMgr {0xF2F9C170,0xA926,0x4864,{0x83,0x32,0xFE,0xA7,0xE4,0xBE,0xEB,0x0A}}
502 
503 
508  #undef INTERFACE
509  #define INTERFACE p6IServer
510  P6DECLAREIF_(p6IServer,p6ICom)
511  {
513 
523 
531  P6DECLCOMMETHOD(shutdown)(P6THIS) P6PURE;
532  };
533  // {0E94A85F-1C97-4036-B4F7-963B33509B09}
534  #define IF_p6IServer {0x0E94A85F,0x1C97,0x4036,{0xB4,0xF7,0x96,0x3B,0x33,0x50,0x9B,0x09}}
535 
536 
537 
545  #undef INTERFACE
546  #define INTERFACE p6IRunningIface
547  P6DECLAREIF_(p6IRunningIface,p6ICom)
548  {
550 
561  P6DECLCOMMETHOD(registerInterface)(P6THIS_ P6ATOM atom,p6ICom *pIface) P6PURE;
562 
578  P6DECLCOMMETHOD(findInterface)(P6THIS_ P6ATOM atom,const P6REFIID iid,P6VOID **ppIface) P6PURE;
579 
599  P6DECLCOMMETHOD(findInterfaceByString)(P6THIS_ const P6CHAR *pszIndentifier,const P6REFIID iid,P6VOID **ppIface) P6PURE;
609  P6DECLCOMMETHOD(unregisterInterface)(P6THIS_ P6ATOM atom) P6PURE;
610  };
612  #define IF_p6IRunningIface {0x393A85DF,0x7442,0x43ab,{0xA7,0xC7,0x52,0xD9,0x6C,0x53,0x47,0x12}}
613 
631  #undef INTERFACE
632  #define INTERFACE p6ISafeString
634  {
636 
657  P6DECLCOMMETHOD(atol)(P6THIS_ const P6CHAR *pString,P6SIZE cchMax,P6INT32 *pRetLong) P6PURE;
658 
685  P6DECLCOMMETHOD(atolEx)(P6THIS_ const P6CHAR *pString,P6SIZE cchMax,P6INT32 *pRetLong,P6CHAR **ppEndPtr) P6PURE;
686 
706  P6DECLCOMMETHOD(atoll)(P6THIS_ const P6CHAR *pString,P6SIZE cchMax,P6INT64 *pRetLongLong) P6PURE;
707 
734  P6DECLCOMMETHOD(atollEx)(P6THIS_ const P6CHAR *pString,P6SIZE cchMax,P6INT64 *pRetLongLong,P6CHAR **ppEndPtr) P6PURE;
735 
756  P6DECLCOMMETHOD(atolW)(P6THIS_ const P6WCHAR *pString,P6SIZE cchMax,P6INT32 *pRetLong) P6PURE;
757 
758 
774  P6DECLCOMMETHOD(bstrcmp)(P6THIS_ const P6BCSTR *s1,const P6BCSTR *s2,P6INT32 *pRetval) P6PURE;
775 
791  P6DECLCOMMETHOD(bstricmp)(P6THIS_ const P6BCSTR *s1,const P6BCSTR *s2,P6INT32 *pRetval) P6PURE;
792 
812  P6DECLCOMMETHOD(bstrncmp)(P6THIS_ const P6BCSTR *s1,const P6BCSTR *s2,P6SIZE nCount,P6INT32 *pRetval) P6PURE;
813 
833  P6DECLCOMMETHOD(bstrnicmp)(P6THIS_ const P6BCSTR *s1,const P6BCSTR *s2,P6SIZE nCount,P6INT32 *pRetval) P6PURE;
834 
852  P6DECLCOMMETHOD(bstrsubcmp)(P6THIS_ const P6BCSTR *s1,const P6BCSTR *s2,P6INT32 *pRetval) P6PURE;
853 
871  P6DECLCOMMETHOD(bstrsubicmp)(P6THIS_ const P6BCSTR *s1,const P6BCSTR *s2,P6INT32 *pRetval) P6PURE;
872 
892  P6DECLCOMMETHOD(bstrchr)(P6THIS_ const P6BCSTR *pbcsStr,P6INT16 c,P6BCSTR *pRetPtr) P6PURE;
893 
903  P6DECLCOMMETHOD(bstrlwr)(P6THIS_ P6BSTR *pbsStr) P6PURE;
904 
924  P6DECLCOMMETHOD(bstrrchr)(P6THIS_ const P6BCSTR *pbcsStr,P6INT16 c,P6BCSTR *pRetPtr) P6PURE;
925 
951  P6DECLCOMMETHOD(bstrsep)(P6THIS_ P6BCSTR *pbcsSearchIn,const P6BCSTR *pbsDelimiters,P6BCSTR *pbcsToken) P6PURE;
952 
982  P6DECLCOMMETHOD(bstrspn)(P6THIS_ P6BCSTR *pbcsSearchIn,const P6BCSTR *pbcsSearchSet,P6BCSTR *pbcsFound) P6PURE;
983 
998  P6DECLCOMMETHOD(bstrbstr)(P6THIS_ const P6BCSTR *pbcsSearchIn,P6BCSTR const *pbcsSearchFor,P6BCSTR *pbcsFound) P6PURE;
999 
1014  P6DECLCOMMETHOD(bstribstr)(P6THIS_ const P6BCSTR *pbcsSearchIn,P6BCSTR const *pbcsSearchFor,P6BCSTR *pbcsFound) P6PURE;
1015 
1025  P6DECLCOMMETHOD(bstrupr)(P6THIS_ P6BSTR *pbsStr) P6PURE;
1026 
1038  P6DECLCOMMETHOD(bstrSetMem)(P6THIS_ P6BSTR *pMemory,P6INT nValue) P6PURE;
1039 
1074  P6DECLCOMMETHOD(bstrSetMemSecure)(P6THIS_ P6BSTR *pMemory,P6INT nValue) P6PURE;
1075 
1101  P6DECLCOMMETHOD(bwstrsep)(P6THIS_ P6BWCSTR *pbcsSearchIn,const P6BWCSTR *pbsDelimiters,P6BWCSTR *pbcsToken) P6PURE;
1102 
1118  P6DECLCOMMETHOD(bwstrcmp)(P6THIS_ const P6BWCSTR *s1,const P6BWCSTR *s2,P6INT32 *pRetval) P6PURE;
1119 
1135  P6DECLCOMMETHOD(bwstricmp)(P6THIS_ const P6BWCSTR *s1,const P6BWCSTR *s2,P6INT32 *pRetval) P6PURE;
1136 
1156  P6DECLCOMMETHOD(bwstrncmp)(P6THIS_ const P6BWCSTR *s1,const P6BWCSTR *s2,P6SIZE nCount,P6INT32 *pRetval) P6PURE;
1157 
1177  P6DECLCOMMETHOD(bwstrnicmp)(P6THIS_ const P6BWCSTR *s1,const P6BWCSTR *s2,P6SIZE nCount,P6INT32 *pRetval) P6PURE;
1178 
1192  P6DECLCOMMETHOD(bwstrlcpy)(P6THIS_ P6WCHAR *pszDest,P6SIZE cDest,const P6BWCSTR *pSource) P6PURE;
1193 
1211  P6DECLCOMMETHOD(bwstrsubcmp)(P6THIS_ const P6BWCSTR *s1,const P6BWCSTR *s2,P6INT32 *pRetval) P6PURE;
1212 
1230  P6DECLCOMMETHOD(bwstrsubicmp)(P6THIS_ const P6BWCSTR *s1,const P6BWCSTR *s2,P6INT32 *pRetval) P6PURE;
1231 
1251  P6DECLCOMMETHOD(bwstrchr)(P6THIS_ const P6BWCSTR *pbcsStr,P6INT16 c,P6BWCSTR *pRetPtr) P6PURE;
1252 
1262  P6DECLCOMMETHOD(bwstrlwr)(P6THIS_ P6BWSTR *pbsStr) P6PURE;
1263 
1283  P6DECLCOMMETHOD(bwstrrchr)(P6THIS_ const P6BWCSTR *pbcsStr,P6INT16 c,P6BWCSTR *pRetPtr) P6PURE;
1284 
1302  P6DECLCOMMETHOD(compareMem)(P6THIS_ const P6VOID *pMem1,const P6VOID *pMem2,P6SIZE nBytes,P6INT32 *pResult) P6PURE;
1303 
1318  P6DECLCOMMETHOD(copyMem)(P6THIS_ P6VOID *pDest,P6SIZE cDest,const P6VOID *pSource,P6SIZE nBytes) P6PURE;
1319 
1339  P6DECLCOMMETHOD(copyMemSecure)(P6THIS_ P6VOID *pDest,P6SIZE cDest,const P6VOID *pSource,P6SIZE nBytes) P6PURE;
1340 
1354  P6DECLCOMMETHOD(floatToString)(P6THIS_ P6FLOAT value,P6CHAR *pBuffer,P6SIZE cBuffer,P6SIZE *pcWritten) P6PURE;
1355 
1369  P6DECLCOMMETHOD(floatToStringW)(P6THIS_ P6FLOAT value,P6WCHAR *pBuffer,P6SIZE cBuffer,P6SIZE *pcWritten) P6PURE;
1370 
1397  P6DECLCOMMETHOD(formatString)(P6THIS_ P6CHAR *pBuffer,P6SIZE cBuffer,P6SIZE *pcWritten,const P6CHAR *pszFormat,const P6ARG *pArgs,P6SIZE cArgs) P6PURE;
1398 
1429  P6DECLCOMMETHOD(formatStringW)(P6THIS_ P6WCHAR *pBuffer,P6SIZE cBuffer,P6SIZE *pcWritten,const P6WCHAR *pszFormat,const P6ARG *pArgs,P6SIZE cArgs) P6PURE;
1430 
1446  P6DECLCOMMETHOD(int16ToString)(P6THIS_ P6INT16 value,P6CHAR *pBuffer,P6SIZE cBuffer,P6UINT32 radix,P6SIZE *pcWritten) P6PURE;
1447 
1463  P6DECLCOMMETHOD(int16ToStringW)(P6THIS_ P6INT16 value,P6WCHAR *pBuffer,P6SIZE cBuffer,P6UINT32 radix,P6SIZE *pcWritten) P6PURE;
1464 
1480  P6DECLCOMMETHOD(int32ToString)(P6THIS_ P6INT32 value,P6CHAR *pBuffer,P6SIZE cBuffer,P6UINT32 radix,P6SIZE *pcWritten) P6PURE;
1481 
1497  P6DECLCOMMETHOD(int32ToStringW)(P6THIS_ P6INT32 value,P6WCHAR *pBuffer,P6SIZE cBuffer,P6UINT32 radix,P6SIZE *pcWritten) P6PURE;
1498 
1514  P6DECLCOMMETHOD(int64ToString)(P6THIS_ P6INT64 value,P6CHAR *pBuffer,P6SIZE cBuffer,P6UINT32 radix,P6SIZE *pcWritten) P6PURE;
1515 
1531  P6DECLCOMMETHOD(int64ToStringW)(P6THIS_ P6INT64 value,P6WCHAR *pBuffer,P6SIZE cBuffer,P6UINT32 radix,P6SIZE *pcWritten) P6PURE;
1532 
1549  P6DECLCOMMETHOD(moveMem)(P6THIS_ P6VOID *pDest,P6SIZE cDest,const P6VOID *pSource,P6SIZE nBytes) P6PURE;
1550 
1572  P6DECLCOMMETHOD(moveMemSecure)(P6THIS_ P6VOID *pDest,P6SIZE cDest,const P6VOID *pSource,P6SIZE nBytes) P6PURE;
1573 
1590  P6DECLCOMMETHOD(reverseString)(P6THIS_ P6CHAR *pBuffer,P6SIZE cStart,P6SIZE cEnd) P6PURE;
1591 
1608  P6DECLCOMMETHOD(reverseStringW)(P6THIS_ P6WCHAR *pBuffer,P6SIZE cStart,P6SIZE cEnd) P6PURE;
1609 
1610 
1623  P6DECLCOMMETHOD(setMem)(P6THIS_ P6VOID *pMemory,P6INT nValue,P6SIZE nBytes) P6PURE;
1624 
1659  P6DECLCOMMETHOD(setMemSecure)(P6THIS_ P6VOID *pMemory,P6INT nValue,P6SIZE nBytes) P6PURE;
1660 
1661 
1662 
1663 
1682  P6DECLCOMMETHOD(sizetToString)(P6THIS_ P6SIZE value,P6CHAR *pBuffer,P6SIZE cBuffer,P6UINT32 radix,P6SIZE *pcWritten) P6PURE;
1683 
1702  P6DECLCOMMETHOD(sizetToStringW)(P6THIS_ P6SIZE value,P6WCHAR *pBuffer,P6SIZE cBuffer,P6UINT32 radix,P6SIZE *pcWritten) P6PURE;
1703 
1725  P6DECLCOMMETHOD(strchr)(P6THIS_ const P6CHAR *pStr,P6INT16 c,P6SIZE cchMax,P6CHAR **ppRetPtr) P6PURE;
1726 
1741  P6DECLCOMMETHOD(strcmp)(P6THIS_ const P6CHAR *pStr1,const P6CHAR *pStr2,P6SIZE cchMax,P6INT32 *pRetval) P6PURE;
1742 
1759  P6DECLCOMMETHOD(strdup)(P6THIS_ const P6CHAR* pString,P6CHAR **ppCopy) P6PURE;
1760 
1778  P6DECLCOMMETHOD(strdupbstr)(P6THIS_ const P6BCSTR* pString,P6CHAR **ppCopy) P6PURE;
1779 
1793  P6DECLCOMMETHOD(strfree)(P6THIS_ const P6CHAR *pString) P6PURE;
1794 
1811  P6DECLCOMMETHOD(stricmp)(P6THIS_ const P6CHAR *pStr1,const P6CHAR *pStr2,P6SIZE cchMax,P6INT32 *pRetval) P6PURE;
1812 
1835  P6DECLCOMMETHOD(stristr)(P6THIS_ const P6CHAR *searchIn,const P6CHAR *searchFor,P6SIZE cchMax,P6CHAR **ppRetptr) P6PURE;
1836 
1856  P6DECLCOMMETHOD(strlcat)(P6THIS_ P6CHAR *pszDest,P6SIZE cDest,const P6CHAR *pszSource,P6SIZE *pcCopied) P6PURE;
1857 
1871  P6DECLCOMMETHOD(strlcatbstr)(P6THIS_ P6CHAR *pszDest,P6SIZE cDest,const P6BCSTR *pbsSource,P6SIZE *pcCopied) P6PURE;
1872 
1897  P6DECLCOMMETHOD(strlcpy)(P6THIS_ P6CHAR *pszDest,P6SIZE cDest,const P6CHAR *pszSource,P6SIZE *pcCopied) P6PURE;
1898 
1909  P6DECLCOMMETHOD(strlcpybstr)(P6THIS_ P6CHAR *pszDest,P6SIZE cDest,const P6BCSTR *pbsSource,P6SIZE *pcCopied) P6PURE;
1910 
1931  P6DECLCOMMETHOD(strlen)(P6THIS_ const P6CHAR *pStr,P6SIZE cchMax,P6SIZE *pcSize) P6PURE;
1932 
1959  P6DECLCOMMETHOD(strlncpy)(P6THIS_ P6CHAR *pszDest,P6SIZE cDest,const P6CHAR *pszSource,P6SIZE cSourceLen,P6SIZE *pcCopied) P6PURE;
1960 
1974  P6DECLCOMMETHOD(strlwr)(P6THIS_ P6CHAR *pszStr,P6SIZE cchMax) P6PURE;
1975 
1991  P6DECLCOMMETHOD(strncat)(P6THIS_ P6CHAR *pszDest,P6SIZE cDest,const P6CHAR *pszSource,P6SIZE cCount) P6PURE;
1992 
2010  P6DECLCOMMETHOD(strncmp)(P6THIS_ const P6CHAR *pStr1,const P6CHAR *pStr2,P6SIZE length,P6INT32 *pRetval) P6PURE;
2011 
2029  P6DECLCOMMETHOD(strnicmp)(P6THIS_ const P6CHAR *pStr1,const P6CHAR *pStr2,P6SIZE length,P6INT32 *pRetval) P6PURE;
2030 
2047  P6DECLCOMMETHOD(strrchr)(P6THIS_ const P6CHAR *pStr,P6INT16 c,P6SIZE cchMax,P6CHAR **ppRetPtr) P6PURE;
2048 
2077  P6DECLCOMMETHOD(strsep)(P6THIS_ const P6CHAR **ppszSearchIn,const P6CHAR *pszDelimiters,P6BCSTR *pbcsToken) P6PURE;
2078 
2101  P6DECLCOMMETHOD(strstr)(P6THIS_ const P6CHAR *searchIn,const P6CHAR *searchFor,P6SIZE cchMax,P6CHAR **ppRetptr) P6PURE;
2102 
2122  P6DECLCOMMETHOD(strToBool)(P6THIS_ const P6CHAR *pBoolStr,P6BOOL *pBool) P6PURE;
2123 
2137  P6DECLCOMMETHOD(strupr)(P6THIS_ P6CHAR *pszStr,P6SIZE cchMax) P6PURE;
2138 
2152  P6DECLCOMMETHOD(trimEnd)(P6THIS_ P6CHAR *pszStr,P6SIZE cchMax) P6PURE;
2153 
2167  P6DECLCOMMETHOD(trimEndW)(P6THIS_ P6WCHAR *pszStr,P6SIZE cchMax) P6PURE;
2168 
2187  P6DECLCOMMETHOD(replace)(P6THIS_ P6CHAR *pString,P6CHAR chOrig,const P6CHAR chReplacement,P6SIZE cchMax) P6PURE;
2188 
2203  P6DECLCOMMETHOD(uint16ToString)(P6THIS_ P6UINT16 value,P6CHAR *pBuffer,P6SIZE cBuffer,P6UINT32 radix,P6SIZE *pcWritten) P6PURE;
2204 
2219  P6DECLCOMMETHOD(uint16ToStringW)(P6THIS_ P6UINT16 value,P6WCHAR *pBuffer,P6SIZE cBuffer,P6UINT32 radix,P6SIZE *pcWritten) P6PURE;
2220 
2235  P6DECLCOMMETHOD(uint32ToString)(P6THIS_ P6UINT32 value,P6CHAR *pBuffer,P6SIZE cBuffer,P6UINT32 radix,P6SIZE *pcWritten) P6PURE;
2236 
2251  P6DECLCOMMETHOD(uint32ToStringW)(P6THIS_ P6UINT32 value,P6WCHAR *pBuffer,P6SIZE cBuffer,P6UINT32 radix,P6SIZE *pcWritten) P6PURE;
2252 
2267  P6DECLCOMMETHOD(uint64ToString)(P6THIS_ P6UINT64 value,P6CHAR *pBuffer,P6SIZE cBuffer,P6UINT32 radix,P6SIZE *pcWritten) P6PURE;
2268 
2283  P6DECLCOMMETHOD(uint64ToStringW)(P6THIS_ P6UINT64 value,P6WCHAR *pBuffer,P6SIZE cBuffer,P6UINT32 radix,P6SIZE *pcWritten) P6PURE;
2284 
2308  P6DECLCOMMETHOD(utf8ToWcs)(P6THIS_ P6WCHAR* pDest,P6SIZE* dstSize,const P6CHAR* pSource) P6PURE;
2309 
2334  P6DECLCOMMETHOD(utf8nToWcs)(P6THIS_ P6WCHAR* pDest,P6SIZE* dstSize,const P6CHAR* pSource,P6SIZE cCount) P6PURE;
2335 
2336 
2360  P6DECLCOMMETHOD(wcsToUtf8)(P6THIS_ P6CHAR* pDest,P6SIZE* dstSize,const P6WCHAR* pSource) P6PURE;
2361 
2386  P6DECLCOMMETHOD(wcsnToUtf8)(P6THIS_ P6CHAR* pDest,P6SIZE* dstSize,const P6WCHAR* pSource,P6SIZE cCount) P6PURE;
2387 
2388 
2403  P6DECLCOMMETHOD(wsetMem)(P6THIS_ P6WCHAR *pMemory,P6WCHAR nValue,P6SIZE nChars) P6PURE;
2404 
2405 
2424  P6DECLCOMMETHOD(wstrchr)(P6THIS_ const P6WCHAR *pStr,P6WCHAR c,P6SIZE cchMax,P6WCHAR **ppRetPtr) P6PURE;
2425 
2445  P6DECLCOMMETHOD(wstrcmp)(P6THIS_ const P6WCHAR *s1,const P6WCHAR *s2,P6SIZE cchMax,P6INT32 *pRetval) P6PURE;
2446 
2466  P6DECLCOMMETHOD(wstricmp)(P6THIS_ const P6WCHAR *s1,const P6WCHAR *s2,P6SIZE cchMax,P6INT32 *pRetval) P6PURE;
2467 
2483  P6DECLCOMMETHOD(wstrdup)(P6THIS_ const P6WCHAR* pString,P6WCHAR **ppCopy) P6PURE;
2484 
2502  P6DECLCOMMETHOD(wstrdupbstr)(P6THIS_ const P6BWCSTR* pString,P6WCHAR **ppCopy) P6PURE;
2503 
2514  P6DECLCOMMETHOD(wstrfree)(P6THIS_ const P6WCHAR *pString) P6PURE;
2515 
2532  P6DECLCOMMETHOD(wstrlcat)(P6THIS_ P6WCHAR *pszDest,P6SIZE cDest,const P6WCHAR *pszSource,P6SIZE *pcCopied) P6PURE;
2533 
2550  P6DECLCOMMETHOD(wstrlcpy)(P6THIS_ P6WCHAR *pszDest,P6SIZE cDest,const P6WCHAR *pszSource,P6SIZE *pcCopied) P6PURE;
2551 
2568  P6DECLCOMMETHOD(wstrlen)(P6THIS_ const P6WCHAR *pwszString,P6SIZE cchMax,P6SIZE *pcLen) P6PURE;
2569 
2589  P6DECLCOMMETHOD(wstrlncpy)(P6THIS_ P6WCHAR *pszDest,P6SIZE cDest,const P6WCHAR *pszSource,P6SIZE cSourceLen,P6SIZE *pcCopied) P6PURE;
2590 
2602  P6DECLCOMMETHOD(wstrncat)(P6THIS_ P6WCHAR *pszDest,P6SIZE cDest,const P6WCHAR *pszSource,P6SIZE cCount) P6PURE;
2603 
2616  P6DECLCOMMETHOD(wstrncmp)(P6THIS_ const P6WCHAR *s1,const P6WCHAR *s2,P6SIZE length,P6INT32 *pRetval) P6PURE;
2617 
2630  P6DECLCOMMETHOD(wstrnicmp)(P6THIS_ const P6WCHAR *s1,const P6WCHAR *s2,P6SIZE length,P6INT32 *pRetval) P6PURE;
2631 
2660  P6DECLCOMMETHOD(wstrsep)(P6THIS_ const P6WCHAR **ppszSearchIn,const P6WCHAR *pszDelimiters,P6BWCSTR *pbcsToken) P6PURE;
2661 
2681  P6DECLCOMMETHOD(wstrrchr)(P6THIS_ const P6WCHAR *pszSearchIn,P6INT16 c,P6SIZE cchMax,P6WCHAR **ppRetPtr) P6PURE;
2682 
2705  P6DECLCOMMETHOD(wstrstr)(P6THIS_ const P6WCHAR *searchIn,const P6WCHAR *searchFor,P6SIZE cchMax,P6WCHAR **ppRetptr) P6PURE;
2706 
2726  P6DECLCOMMETHOD(wstrToBool)(P6THIS_ const P6WCHAR *pBoolStr,P6BOOL *pBool) P6PURE;
2727 
2741  P6DECLCOMMETHOD(wstrupr)(P6THIS_ P6WCHAR *pszStr,P6SIZE cchMax) P6PURE;
2742 
2761  P6DECLCOMMETHOD(wreplace)(P6THIS_ P6WCHAR *pString,P6WCHAR chOrig,const P6WCHAR chReplacement,P6SIZE cchMax) P6PURE;
2762 
2791  P6DECLCOMMETHOD(hexDump)(P6THIS_ const P6VOID *pData,P6SIZE cData,P6CHAR *pBuffer,P6SIZE cBuffer,P6SIZE cBytesPerLine,P6SIZE *pcWritten) P6PURE;
2792 
2821  P6DECLCOMMETHOD(hexDumpW)(P6THIS_ const P6VOID *pData,P6SIZE cData,P6WCHAR *pBuffer,P6SIZE cBuffer,P6SIZE cBytesPerLine,P6SIZE *pcWritten) P6PURE;
2822  };
2823  // {1B77B8F2-9FBC-4d90-9B1F-211DA24CD823}
2824  #define IF_p6ISafeString {0x1B77B8F2,0x9FBC,0x4d90,{0x9B,0x1F,0x21,0x1D,0xA2,0x4C,0xD8,0x23}}
2825 
2826 
2828 
2838  #undef INTERFACE
2839  #define INTERFACE p6ISystemInfo
2840  P6DECLAREIF_(p6ISystemInfo,p6ICom)
2841  {
2843 
2863  P6DECLCOMMETHOD(getSystemName)(P6THIS_ P6WCHAR *pwszBuffer,P6UINT32 cBuffer) P6PURE;
2864 
2877  P6DECLCOMMETHOD(getOSName)(P6THIS_ P6WCHAR *pwszName,P6UINT32 cName) P6PURE;
2878 
2907  P6DECLCOMMETHOD(getOSVersion)(P6THIS_ P6WCHAR *pwszBuffer,P6UINT32 cBuffer) P6PURE;
2908 
2922  P6DECLCOMMETHOD(getNumProcessors)(P6THIS_ P6UINT32 *pcProcessors) P6PURE;
2923 
2924 
2935  P6DECLCOMMETHOD(getArchitecture)(P6THIS_ P6WCHAR *pwszBuffer,P6UINT32 cBuffer) P6PURE;
2936 
2948  P6DECLCOMMETHOD(getPageSize)(P6THIS_ P6UINT32 *pcPage) P6PURE;
2949  };
2950  // {56084D40-9165-42DF-8425-0B33E91D9AEF}
2951  #define IF_p6ISystemInfo {0x56084D40,0x9165,0x42DF,{0x84,0x25,0x0B,0x33,0xE9,0x1D,0x9A,0xEF}}
2952 
2954  typedef enum {
2958  } P6CONHANDLE;
2959 
2966  #undef INTERFACE
2967  #define INTERFACE p6IConsole
2969  {
2971 
2984  P6DECLCOMMETHOD(writeStdout)(P6THIS_ const P6CHAR *pFmt,P6ARG *pArgs,P6UINT32 cArgs,P6SIZE *pcBytesWritten) P6PURE;
2985 
2998  P6DECLCOMMETHOD(writeStdoutW)(P6THIS_ const P6WCHAR *pFmt,P6ARG *pArgs,P6UINT32 cArgs,P6SIZE *pcBytesWritten) P6PURE;
2999 
3012  P6DECLCOMMETHOD(writeStderr)(P6THIS_ const P6CHAR *pFmt,P6ARG *pArgs,P6UINT32 cArgs,P6SIZE *pcBytesWritten) P6PURE;
3013 
3026  P6DECLCOMMETHOD(writeStderrW)(P6THIS_ const P6WCHAR *pFmt,P6ARG *pArgs,P6UINT32 cArgs,P6SIZE *pcBytesWritten) P6PURE;
3027  P6DECLCOMMETHOD(readStdin)(P6THIS_ P6CHAR *pBuffer,P6SIZE cBytesToread,P6SIZE *pcBytesRead) P6PURE;
3028  };
3029 
3030  // {BA6864AD-935F-4C14-ABFC-3CA6C5CB2DE5}
3031  #define IF_p6IConsole {0xBA6864AD,0x935F,0x4C14,{0xAB,0xFC,0x3C,0xA6,0xC5,0xCB,0x2D,0xE5}}
3032 
3033 
3035  #undef INTERFACE
3036  #define INTERFACE p6IMarshalData
3037  P6DECLAREIF_(p6IMarshalData,p6ICom)
3038  {
3040  P6DECLCOMMETHOD(set8)(P6THIS_ const P6UINT8 val,P6P8BIT *pDest) P6PURE;
3041  P6DECLCOMMETHOD(set16)(P6THIS_ const P6UINT16 val,P6P16BIT *pDest) P6PURE;
3042  P6DECLCOMMETHOD(set32)(P6THIS_ const P6UINT32 val,P6P32BIT *pDest) P6PURE;
3043  P6DECLCOMMETHOD(set64)(P6THIS_ const P6UINT64 val,P6P64BIT *pDest) P6PURE;
3044  P6DECLCOMMETHOD(get8)(P6THIS_ const P6P8BIT *pVal,P6UINT8 *pDest) P6PURE;
3045  P6DECLCOMMETHOD(get16)(P6THIS_ const P6P16BIT *pVal,P6UINT16 *pDest) P6PURE;
3046  P6DECLCOMMETHOD(get32)(P6THIS_ const P6P32BIT *pVal,P6UINT32 *pDest) P6PURE;
3047  P6DECLCOMMETHOD(get64)(P6THIS_ const P6P64BIT *pVal,P6UINT64 *pDest) P6PURE;
3048  };
3049  // {CD8CECEA-DDE2-4F44-8002-56B90664E079}
3050  #define IF_p6IMarshalData {0xCD8CECEA,0xDDE2,0x4F44,{0x80,0x02,0x56,0xB9,0x06,0x64,0xE0,0x79}}
3051 
3060  #undef INTERFACE
3061  #define INTERFACE p6INetHelpers
3063  {
3078  P6DECLCOMMETHOD(host2nll)(P6THIS_ P6UINT64 nHostLong,P6UINT64 *pNetLong) P6PURE;
3079 
3080 
3094  P6DECLCOMMETHOD(host2nl)(P6THIS_ P6UINT32 nHostLong,P6UINT32 *pNetLong) P6PURE;
3095 
3109  P6DECLCOMMETHOD(host2ns)(P6THIS_ P6UINT16 nHostShort,P6UINT16 *pNetShort) P6PURE;
3110 
3124  P6DECLCOMMETHOD(net2hll)(P6THIS_ P6UINT64 nNetLong,P6UINT64 *pHostLong) P6PURE;
3125 
3139  P6DECLCOMMETHOD(net2hl)(P6THIS_ P6UINT32 nNetLong,P6UINT32 *pHostLong) P6PURE;
3140 
3154  P6DECLCOMMETHOD(net2hs)(P6THIS_ P6UINT16 nNetShort,P6UINT16 *pHostShort) P6PURE;
3155 
3182  P6DECLCOMMETHOD(strToNetAddr)(P6THIS_ const P6CHAR *pszAddr,P6NETADDR *pAddr) P6PURE;
3183 
3203  P6DECLCOMMETHOD(wStrToNetAddr)(P6THIS_ const P6WCHAR *pwszAddr,P6NETADDR *pAddr) P6PURE;
3204 
3230  P6DECLCOMMETHOD(netAddrToStr)(P6THIS_ const P6NETADDR *pAddr,P6CHAR *pBuffer,P6UINT32 cBuffer,P6UINT32 *pcBuffer,P6BOOL bAddPort) P6PURE;
3231 
3257  P6DECLCOMMETHOD(netAddrToWStr)(P6THIS_ const P6NETADDR *pAddr,P6WCHAR *pBuffer,P6UINT32 cBuffer,P6UINT32 *pcBuffer,P6BOOL bAddPort) P6PURE;
3258  };
3259  // {464F74EE-0D93-4ee9-9E5E-13EE0C94B53D}
3260  #define IF_p6INetHelpers {0x464F74EE,0x0D93,0x4ee9,{0x9E,0x5E,0x13,0xEE,0x0C,0x94,0xB5,0x3D}}
3261 
3262 #ifdef __cplusplus
3263 } // extern "C"
3265 } //namespace
3266 #endif
3267 
3268 #endif
3269 
Wide binary string.
Definition: p6types.h:194
size_t P6SIZE
Definition: p6types.h:72
P6UUID P6CID
A component ID.
Definition: p6types.h:152
P6LONGLONG P6INT64
Definition: p6types.h:56
Const Binary string.
Definition: p6types.h:178
Provides very basic, thread safe access to the console, allowing the console to be read from and writ...
Definition: p6runtimeif.h:2968
unsigned int P6UINT32
Definition: p6types.h:46
#define P6REFIID
Definition: p6defs.h:181
#define P6DECLAREICOM
Definition: p6defs.h:175
#define P6PURE
Definition: p6defs.h:176
Standard error codes.
P6CONHANDLE
Definition: p6runtimeif.h:2954
int P6INT
Definition: p6types.h:68
unsigned char P6BOOL
Boolean type.
Definition: p6types.h:112
Wide Const binary string.
Definition: p6types.h:210
P6SIZE P6ATOM
Atom type see P6R::p6IAtom in p6com.h.
Definition: p6types.h:121
unsigned char P6UINT8
Definition: p6types.h:36
This runtime interface provides network helpers for managing byte-order and providing address convers...
Definition: p6runtimeif.h:3062
unsigned short int P6UINT16
Definition: p6types.h:40
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:90
This runtime interface provides a set of safe string routines that should be used in place of the sta...
Definition: p6runtimeif.h:633
P6UUID P6CATID
A category ID.
Definition: p6types.h:153
int P6INT32
Definition: p6types.h:47
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:97
P6COM base interface definitions.
Binary string.
Definition: p6types.h:164
P6ULONGLONG P6UINT64
Definition: p6types.h:55
short int P6INT16
Definition: p6types.h:41
#define P6REFCATID
Definition: p6defs.h:182
#define P6DECLCOMMETHOD(method)
Definition: p6defs.h:173
#define P6THIS_
Definition: p6defs.h:177
double P6FLOAT
Definition: p6types.h:74
#define P6REFCID
Definition: p6defs.h:180
void P6VOID
Definition: p6types.h:88
#define P6THIS
Definition: p6defs.h:178
Argument definition.
Definition: p6types.h:566
char P6CHAR
Narrow character type.
Definition: p6types.h:84
#define P6DECLAREIF_(iface, baseif)
Definition: p6defs.h:172