diff -r 428c5911a502 -r 86a1781f0e9b kernel/eka/include/e32cmn.inl --- a/kernel/eka/include/e32cmn.inl Wed Apr 28 00:44:14 2010 +0200 +++ b/kernel/eka/include/e32cmn.inl Thu Apr 29 17:37:22 2010 +0200 @@ -3166,6 +3166,7 @@ @return KErrNone, if aHandle is a handle-number; the value of aHandleOrError, otherwise. */ { +#ifndef __SYMC__ if(aHandleOrError>=0) { iHandle = aHandleOrError; @@ -3173,6 +3174,19 @@ } iHandle = 0; return aHandleOrError; +#elif defined(_WIN32) + //Our problem is that win32 handles can be negative + if (aHandleOrError==NULL) + { + //TODO: check GetLastError and return proper error code + return KErrUnknown; + } + //Valid handle + iHandle = aHandleOrError; + return KErrNone; +#else +#error "Platform not supported" +#endif }