From 5057af67640b17638d881033107990f3adf203ad Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Mon, 27 May 2013 20:55:23 +0000 Subject: [PATCH] [INCLUDE] - Add some missing 64 bit intrinsics - Fix a warning in intsafe.h - Use SAL2 annotations in sspi.h - Fix some annotations svn path=/trunk/; revision=59094 --- reactos/include/crt/msc/intrin.h | 6 ++++++ reactos/include/ndk/obfuncs.h | 4 ++-- reactos/include/psdk/intsafe.h | 4 ++-- reactos/include/xdk/sspi.h | 10 +++++----- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/reactos/include/crt/msc/intrin.h b/reactos/include/crt/msc/intrin.h index d021a782168..c85463f6db2 100644 --- a/reactos/include/crt/msc/intrin.h +++ b/reactos/include/crt/msc/intrin.h @@ -191,6 +191,12 @@ unsigned char _BitScanForward(unsigned long * Index, unsigned long Mask); #pragma intrinsic(_BitScanForward) unsigned char _BitScanReverse(unsigned long * Index, unsigned long Mask); #pragma intrinsic(_BitScanReverse) +#ifdef _WIN64 +unsigned char _BitScanForward64(unsigned long * Index, unsigned long long Mask); +#pragma intrinsic(_BitScanForward64) +unsigned char _BitScanReverse64(unsigned long * Index, unsigned long long Mask); +#pragma intrinsic(_BitScanReverse64) +#endif unsigned char _bittest(const long * a, long b); #pragma intrinsic(_bittest) unsigned char _bittestandcomplement(long * a, long b); diff --git a/reactos/include/ndk/obfuncs.h b/reactos/include/ndk/obfuncs.h index 48c9ac88b9e..e88041033aa 100644 --- a/reactos/include/ndk/obfuncs.h +++ b/reactos/include/ndk/obfuncs.h @@ -74,7 +74,7 @@ NTAPI ObCreateObjectType( _In_ PUNICODE_STRING TypeName, _In_ POBJECT_TYPE_INITIALIZER ObjectTypeInitializer, - _In_ PVOID Reserved, + _Reserved_ PVOID Reserved, _Out_ POBJECT_TYPE *ObjectType ); @@ -111,7 +111,7 @@ ObOpenObjectByName( _In_ KPROCESSOR_MODE AccessMode, _In_opt_ PACCESS_STATE PassedAccessState, _In_ ACCESS_MASK DesiredAccess, - _Inout_ PVOID ParseContext, + _Inout_opt_ PVOID ParseContext, _Out_ PHANDLE Handle ); diff --git a/reactos/include/psdk/intsafe.h b/reactos/include/psdk/intsafe.h index 62b4dccb5df..22020fd0a91 100644 --- a/reactos/include/psdk/intsafe.h +++ b/reactos/include/psdk/intsafe.h @@ -340,7 +340,7 @@ INTSAFE_NAME(_Name)( \ _In_ _TypeFrom Input, \ _Out_ _Deref_out_range_(==, Input) _TypeTo *pOutput) \ { \ - if ((Input >= 0) && (Input <= _TypeTo ## _MAX)) \ + if ((Input >= 0) && ((_TypeTo)Input <= _TypeTo ## _MAX)) \ { \ *pOutput = (_TypeTo)Input; \ return INTSAFE_SUCCESS; \ @@ -694,7 +694,7 @@ INTSAFE_NAME(ULongLongMult)( #define DEFINE_SAFE_MULT_U32(_Name, _Type, _Convert) \ -__checkReturn \ +_Must_inspect_result_ \ __forceinline \ INTSAFE_RESULT \ INTSAFE_NAME(_Name)( \ diff --git a/reactos/include/xdk/sspi.h b/reactos/include/xdk/sspi.h index be393de6068..ad966a0ce53 100644 --- a/reactos/include/xdk/sspi.h +++ b/reactos/include/xdk/sspi.h @@ -379,7 +379,7 @@ typedef struct _SecBuffer #ifdef MIDL_PASS MIDL_PROP([size_is(cbBuffer)]) PCHAR pvBuffer; #else - __field_bcount(cbBuffer) void SEC_FAR *pvBuffer; + _Field_size_bytes_(cbBuffer) void SEC_FAR *pvBuffer; #endif } SecBuffer, *PSecBuffer; @@ -387,7 +387,7 @@ typedef struct _SecBufferDesc { ULONG ulVersion; ULONG cBuffers; - MIDL_PROP([size_is(cBuffers)]) __field_ecount(cBuffers) PSecBuffer pBuffers; + MIDL_PROP([size_is(cBuffers)]) _Field_size_(cBuffers) PSecBuffer pBuffers; } SecBufferDesc, SEC_FAR *PSecBufferDesc; typedef struct _SecPkgInfoW @@ -498,17 +498,17 @@ typedef struct _SecPkgContext_KeyInfoW typedef struct _SecPkgContext_SessionKey { ULONG SessionKeyLength; - __field_bcount(SessionKeyLength) PUCHAR SessionKey; + _Field_size_bytes_(SessionKeyLength) PUCHAR SessionKey; } SecPkgContext_SessionKey, *PSecPkgContext_SessionKey; typedef struct _SecPkgContext_NegoKeys { ULONG KeyType; USHORT KeyLength; - __field_bcount(KeyLength) PUCHAR KeyValue; + _Field_size_bytes_(KeyLength) PUCHAR KeyValue; ULONG VerifyKeyType; USHORT VerifyKeyLength; - __field_bcount(VerifyKeyLength) PUCHAR VerifyKeyValue; + _Field_size_bytes_(VerifyKeyLength) PUCHAR VerifyKeyValue; } SecPkgContext_NegoKeys, *PSecPkgContext_NegoKeys; typedef struct _SecPkgContext_DceInfo