summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRama Krishnan Raghupathy <ramarag@microsoft.com>2015-09-24 16:48:04 -0700
committerRama Krishnan Raghupathy <ramarag@microsoft.com>2015-09-24 16:48:04 -0700
commita52b9639ac96a05844bac11560c4a99cddb6eb06 (patch)
tree1bb62816e60f651364760a70020e62c9f2773c74
parentf4560c6e113741d2296f2ebbc4cd6e6427b57a88 (diff)
downloadcoreclr-a52b9639ac96a05844bac11560c4a99cddb6eb06.tar.gz
coreclr-a52b9639ac96a05844bac11560c4a99cddb6eb06.tar.bz2
coreclr-a52b9639ac96a05844bac11560c4a99cddb6eb06.zip
Fixing SAL anotation for VM
[tfs-changeset: 1529342]
-rw-r--r--src/inc/corinfo.h2
-rw-r--r--src/vm/interoputil.h4
-rw-r--r--src/vm/jitinterface.h2
-rw-r--r--src/vm/profilermetadataemitvalidator.h27
-rw-r--r--src/vm/stubhelpers.h2
-rw-r--r--src/vm/wrappers.h2
-rw-r--r--src/zap/zapinfo.h2
7 files changed, 29 insertions, 12 deletions
diff --git a/src/inc/corinfo.h b/src/inc/corinfo.h
index 043595dbc3..e0004a5948 100644
--- a/src/inc/corinfo.h
+++ b/src/inc/corinfo.h
@@ -3421,7 +3421,7 @@ public:
// to return the string values to the runtime for deletion.
// this avoid leaking the memory in the JIT.
virtual void freeStringConfigValue(
- wchar_t *value
+ __in_z wchar_t *value
) = 0;
#endif // !RYUJIT_CTPBUILD
};
diff --git a/src/vm/interoputil.h b/src/vm/interoputil.h
index f2404fa17f..87a70bea5b 100644
--- a/src/vm/interoputil.h
+++ b/src/vm/interoputil.h
@@ -232,12 +232,12 @@ ULONG SafeAddRefPreemp(IUnknown* pUnk);
//--------------------------------------------------------------------------------
// Release helper, enables and disables GC during call-outs
-HRESULT SafeVariantChangeType(VARIANT* pVarRes, VARIANT* pVarSrc,
+HRESULT SafeVariantChangeType(_Inout_ VARIANT* pVarRes, _In_ VARIANT* pVarSrc,
unsigned short wFlags, VARTYPE vt);
//--------------------------------------------------------------------------------
// Release helper, enables and disables GC during call-outs
-HRESULT SafeVariantChangeTypeEx(VARIANT* pVarRes, VARIANT* pVarSrc,
+HRESULT SafeVariantChangeTypeEx(_Inout_ VARIANT* pVarRes, _In_ VARIANT* pVarSrc,
LCID lcid, unsigned short wFlags, VARTYPE vt);
//--------------------------------------------------------------------------------
diff --git a/src/vm/jitinterface.h b/src/vm/jitinterface.h
index 7ee310f825..65e3f54c5e 100644
--- a/src/vm/jitinterface.h
+++ b/src/vm/jitinterface.h
@@ -1084,7 +1084,7 @@ public:
);
void freeStringConfigValue(
- wchar_t *value
+ __in_z wchar_t *value
);
CEEInfo(MethodDesc * fd = NULL, bool fVerifyOnly = false) :
diff --git a/src/vm/profilermetadataemitvalidator.h b/src/vm/profilermetadataemitvalidator.h
index 3c0306c24e..469edf6e02 100644
--- a/src/vm/profilermetadataemitvalidator.h
+++ b/src/vm/profilermetadataemitvalidator.h
@@ -460,6 +460,7 @@ public:
mdTypeDef *ptd); // [OUT] Put the TypeDef token here.
virtual HRESULT STDMETHODCALLTYPE GetScopeProps( // S_OK or error.
+ __out_ecount(cchName)
LPWSTR szName, // [OUT] Put the name here.
ULONG cchName, // [IN] Size of name buffer in wide chars.
ULONG *pchName, // [OUT] Put size of name (wide chars) here.
@@ -470,6 +471,7 @@ public:
virtual HRESULT STDMETHODCALLTYPE GetTypeDefProps( // S_OK or error.
mdTypeDef td, // [IN] TypeDef token for inquiry.
+ __out_ecount(cchTypeDef)
LPWSTR szTypeDef, // [OUT] Put name here.
ULONG cchTypeDef, // [IN] size of name buffer in wide chars.
ULONG *pchTypeDef, // [OUT] put size of name (wide chars) here.
@@ -484,6 +486,7 @@ public:
virtual HRESULT STDMETHODCALLTYPE GetTypeRefProps( // S_OK or error.
mdTypeRef tr, // [IN] TypeRef token.
mdToken *ptkResolutionScope, // [OUT] Resolution scope, ModuleRef or AssemblyRef.
+ __out_ecount(cchName)
LPWSTR szName, // [OUT] Name of the TypeRef.
ULONG cchName, // [IN] Size of buffer.
ULONG *pchName); // [OUT] Size of Name.
@@ -597,6 +600,7 @@ public:
virtual HRESULT STDMETHODCALLTYPE GetMethodProps(
mdMethodDef mb, // The method for which to get props.
mdTypeDef *pClass, // Put method's class here.
+ __out_ecount(cchMethod)
LPWSTR szMethod, // Put method's name here.
ULONG cchMethod, // Size of szMethod buffer in wide chars.
ULONG *pchMethod, // Put actual size here
@@ -609,6 +613,7 @@ public:
virtual HRESULT STDMETHODCALLTYPE GetMemberRefProps( // S_OK or error.
mdMemberRef mr, // [IN] given memberref
mdToken *ptk, // [OUT] Put classref or classdef here.
+ __out_ecount(cchMember)
LPWSTR szMember, // [OUT] buffer to fill for member's name
ULONG cchMember, // [IN] the count of char of szMember
ULONG *pchMember, // [OUT] actual count of char in member name
@@ -715,6 +720,7 @@ public:
virtual HRESULT STDMETHODCALLTYPE GetUserString( // S_OK or error.
mdString stk, // [IN] String token.
+ __out_ecount(cchString)
LPWSTR szString, // [OUT] Copy of string.
ULONG cchString, // [IN] Max chars of room in szString.
ULONG *pchString); // [OUT] How many chars in actual string.
@@ -722,6 +728,7 @@ public:
virtual HRESULT STDMETHODCALLTYPE GetPinvokeMap( // S_OK or error.
mdToken tk, // [IN] FieldDef or MethodDef.
DWORD *pdwMappingFlags, // [OUT] Flags used for mapping.
+ __out_ecount(cchImportName)
LPWSTR szImportName, // [OUT] Import name.
ULONG cchImportName, // [IN] Size of the name buffer.
ULONG *pchImportName, // [OUT] Actual number of characters stored.
@@ -773,6 +780,7 @@ public:
virtual HRESULT STDMETHODCALLTYPE GetMemberProps(
mdToken mb, // The member for which to get props.
mdTypeDef *pClass, // Put member's class here.
+ __out_ecount(cchMember)
LPWSTR szMember, // Put member's name here.
ULONG cchMember, // Size of szMember buffer in wide chars.
ULONG *pchMember, // Put actual size here
@@ -788,6 +796,7 @@ public:
virtual HRESULT STDMETHODCALLTYPE GetFieldProps(
mdFieldDef mb, // The field for which to get props.
mdTypeDef *pClass, // Put field's class here.
+ __out_ecount(cchField)
LPWSTR szField, // Put field's name here.
ULONG cchField, // Size of szField buffer in wide chars.
ULONG *pchField, // Put actual size here
@@ -820,6 +829,7 @@ public:
mdParamDef tk, // [IN]The Parameter.
mdMethodDef *pmd, // [OUT] Parent Method token.
ULONG *pulSequence, // [OUT] Parameter sequence.
+ __out_ecount(cchName)
LPWSTR szName, // [OUT] Put name here.
ULONG cchName, // [OUT] Size of name buffer.
ULONG *pchName, // [OUT] Put actual size of name here.
@@ -864,6 +874,7 @@ public:
DWORD *pdwParamFlags, // [OUT] Flags, for future use (e.g. variance)
mdToken *ptOwner, // [OUT] Owner (TypeDef or MethodDef)
DWORD *reserved, // [OUT] For future use (e.g. non-type parameters)
+ __out_ecount(cchName)
LPWSTR wzname, // [OUT] Put name here
ULONG cchName, // [IN] Size of buffer
ULONG *pchName); // [OUT] Put size of name (wide chars) here.
@@ -891,6 +902,7 @@ public:
DWORD* pdwMAchine); // [OUT] Machine as defined in NT header
virtual HRESULT STDMETHODCALLTYPE GetVersionString( // S_OK or error.
+ __out_ecount(ccBufSize)
LPWSTR pwzBuf, // [OUT] Put version string here.
DWORD ccBufSize, // [IN] size of the buffer, in wide chars
DWORD *pccBufSize); // [OUT] Size of the version string, wide chars, including terminating nul.
@@ -909,7 +921,8 @@ public:
const void **ppbPublicKey, // [OUT] Pointer to the public key.
ULONG *pcbPublicKey, // [OUT] Count of bytes in the public key.
ULONG *pulHashAlgId, // [OUT] Hash Algorithm.
- LPWSTR szName, // [OUT] Buffer to fill with assembly's simply name.
+ __out_ecount(cchName)
+ LPWSTR szName, // [OUT] Buffer to fill with assembly's simply name.
ULONG cchName, // [IN] Size of buffer in wide chars.
ULONG *pchName, // [OUT] Actual # of wide chars in name.
ASSEMBLYMETADATA *pMetaData, // [OUT] Assembly MetaData.
@@ -919,7 +932,8 @@ public:
mdAssemblyRef mdar, // [IN] The AssemblyRef for which to get the properties.
const void **ppbPublicKeyOrToken, // [OUT] Pointer to the public key or token.
ULONG *pcbPublicKeyOrToken, // [OUT] Count of bytes in the public key or token.
- LPWSTR szName, // [OUT] Buffer to fill with name.
+ __out_ecount(cchName)
+ LPWSTR szName, // [OUT] Buffer to fill with name.
ULONG cchName, // [IN] Size of buffer in wide chars.
ULONG *pchName, // [OUT] Actual # of wide chars in name.
ASSEMBLYMETADATA *pMetaData, // [OUT] Assembly MetaData.
@@ -929,7 +943,8 @@ public:
virtual HRESULT STDMETHODCALLTYPE GetFileProps( // S_OK or error.
mdFile mdf, // [IN] The File for which to get the properties.
- LPWSTR szName, // [OUT] Buffer to fill with name.
+ __out_ecount(cchName)
+ LPWSTR szName, // [OUT] Buffer to fill with name.
ULONG cchName, // [IN] Size of buffer in wide chars.
ULONG *pchName, // [OUT] Actual # of wide chars in name.
const void **ppbHashValue, // [OUT] Pointer to the Hash Value Blob.
@@ -938,7 +953,8 @@ public:
virtual HRESULT STDMETHODCALLTYPE GetExportedTypeProps( // S_OK or error.
mdExportedType mdct, // [IN] The ExportedType for which to get the properties.
- LPWSTR szName, // [OUT] Buffer to fill with name.
+ __out_ecount(cchName)
+ LPWSTR szName, // [OUT] Buffer to fill with name.
ULONG cchName, // [IN] Size of buffer in wide chars.
ULONG *pchName, // [OUT] Actual # of wide chars in name.
mdToken *ptkImplementation, // [OUT] mdFile or mdAssemblyRef or mdExportedType.
@@ -947,7 +963,8 @@ public:
virtual HRESULT STDMETHODCALLTYPE GetManifestResourceProps( // S_OK or error.
mdManifestResource mdmr, // [IN] The ManifestResource for which to get the properties.
- LPWSTR szName, // [OUT] Buffer to fill with name.
+ __out_ecount(cchName)
+ LPWSTR szName, // [OUT] Buffer to fill with name.
ULONG cchName, // [IN] Size of buffer in wide chars.
ULONG *pchName, // [OUT] Actual # of wide chars in name.
mdToken *ptkImplementation, // [OUT] mdFile or mdAssemblyRef that provides the ManifestResource.
diff --git a/src/vm/stubhelpers.h b/src/vm/stubhelpers.h
index ca3f604c7c..c538bd0701 100644
--- a/src/vm/stubhelpers.h
+++ b/src/vm/stubhelpers.h
@@ -73,7 +73,7 @@ public:
static FCDECL1(Object *, InterfaceMarshaler__ConvertToManagedWithoutUnboxing, IUnknown *pNative);
static FCDECL1(StringObject*, UriMarshaler__GetRawUriFromNative, ABI::Windows::Foundation::IUriRuntimeClass* pIUriRC);
- static FCDECL2(IUnknown*, UriMarshaler__CreateNativeUriInstance, CLR_CHAR* pRawUriObj, UINT strLen);
+ static FCDECL2(IUnknown*, UriMarshaler__CreateNativeUriInstance, __in_ecount(strLen) CLR_CHAR* pRawUriObj, UINT strLen);
static ABI::Windows::UI::Xaml::Interop::INotifyCollectionChangedEventArgs* QCALLTYPE
EventArgsMarshaler__CreateNativeNCCEventArgsInstance
diff --git a/src/vm/wrappers.h b/src/vm/wrappers.h
index 1a0836b707..d495a64827 100644
--- a/src/vm/wrappers.h
+++ b/src/vm/wrappers.h
@@ -59,7 +59,7 @@ private:
//--------------------------------------------------------------------------------
// safe variant helper
-void SafeVariantClear(VARIANT* pVar);
+void SafeVariantClear(_Inout_ VARIANT* pVar);
class VariantHolder
{
diff --git a/src/zap/zapinfo.h b/src/zap/zapinfo.h
index c6c8ee3b57..1d16c9b760 100644
--- a/src/zap/zapinfo.h
+++ b/src/zap/zapinfo.h
@@ -777,7 +777,7 @@ public:
wchar_t *getStringConfigValue(const wchar_t *name);
- void freeStringConfigValue(wchar_t *value);
+ void freeStringConfigValue(__in_z wchar_t *value);
};
#endif // __ZAPINFO_H__