Annotate eng/mapping.c

svn path=/trunk/; revision=66650
This commit is contained in:
Timo Kreuzer 2015-03-10 00:13:43 +00:00
parent eebc6ac87d
commit 475a0d5255
3 changed files with 66 additions and 44 deletions

View file

@ -1842,7 +1842,7 @@ ENGAPI
VOID VOID
APIENTRY APIENTRY
EngFreeModule( EngFreeModule(
_In_ HANDLE h); _In_ _Post_invalid_ HANDLE h);
ENGAPI ENGAPI
@ -2089,6 +2089,8 @@ EngMapFile(
_Out_ ULONG_PTR *piFile); _Out_ ULONG_PTR *piFile);
__drv_preferredFunction("EngMapFontFileFD", "Obsolete") __drv_preferredFunction("EngMapFontFileFD", "Obsolete")
_Check_return_
_Success_(return!=FALSE)
ENGAPI ENGAPI
BOOL BOOL
APIENTRY APIENTRY
@ -2097,6 +2099,8 @@ EngMapFontFile(
_Outptr_result_bytebuffer_(*pcjBuf) PULONG *ppjBuf, _Outptr_result_bytebuffer_(*pcjBuf) PULONG *ppjBuf,
_Out_ ULONG *pcjBuf); _Out_ ULONG *pcjBuf);
_Check_return_
_Success_(return!=FALSE)
ENGAPI ENGAPI
BOOL BOOL
APIENTRY APIENTRY
@ -2105,12 +2109,15 @@ EngMapFontFileFD(
_Outptr_result_bytebuffer_(*pcjBuf) PULONG *ppjBuf, _Outptr_result_bytebuffer_(*pcjBuf) PULONG *ppjBuf,
_Out_ ULONG *pcjBuf); _Out_ ULONG *pcjBuf);
_Check_return_
_Success_(return!=NULL)
_Post_writable_byte_size_(*pulSize)
ENGAPI ENGAPI
PVOID PVOID
APIENTRY APIENTRY
EngMapModule( EngMapModule(
_In_ HANDLE h, _In_ HANDLE h,
_Out_ PULONG pSize); _Out_ PULONG pulSize);
ENGAPI ENGAPI
BOOL BOOL

View file

@ -86,13 +86,12 @@ EngUnmapSectionView(
ASSERT(NT_SUCCESS(Status)); ASSERT(NT_SUCCESS(Status));
} }
PVOID PVOID
NTAPI NTAPI
EngCreateSection( EngCreateSection(
IN ULONG fl, _In_ ULONG fl,
IN SIZE_T cjSize, _In_ SIZE_T cjSize,
IN ULONG ulTag) _In_ ULONG ulTag)
{ {
NTSTATUS Status; NTSTATUS Status;
PENGSECTION pSection; PENGSECTION pSection;
@ -131,9 +130,9 @@ EngCreateSection(
PVOID PVOID
NTAPI NTAPI
EngCreateSectionHack( EngCreateSectionHack(
IN ULONG fl, _In_ ULONG fl,
IN SIZE_T cjSize, _In_ SIZE_T cjSize,
IN ULONG ulTag) _In_ ULONG ulTag)
{ {
NTSTATUS Status; NTSTATUS Status;
PENGSECTION pSection; PENGSECTION pSection;
@ -169,15 +168,14 @@ EngCreateSectionHack(
return pSection; return pSection;
} }
_Success_(return!=FALSE)
BOOL BOOL
APIENTRY APIENTRY
EngMapSection( EngMapSection(
IN PVOID pvSection, _In_ PVOID pvSection,
IN BOOL bMap, _In_ BOOL bMap,
IN HANDLE hProcess, _In_ HANDLE hProcess,
OUT PVOID* pvBaseAddress) _When_(bMap, _Outptr_) PVOID* pvBaseAddress)
{ {
NTSTATUS Status; NTSTATUS Status;
PENGSECTION pSection = pvSection; PENGSECTION pSection = pvSection;
@ -246,8 +244,8 @@ EngMapSection(
BOOL BOOL
APIENTRY APIENTRY
EngFreeSectionMem( EngFreeSectionMem(
IN PVOID pvSection OPTIONAL, _In_opt_ PVOID pvSection,
IN PVOID pvMappedBase OPTIONAL) _In_opt_ PVOID pvMappedBase)
{ {
NTSTATUS Status; NTSTATUS Status;
PENGSECTION pSection = pvSection; PENGSECTION pSection = pvSection;
@ -277,13 +275,17 @@ EngFreeSectionMem(
return bResult; return bResult;
} }
_Check_return_
_Success_(return!=NULL)
__drv_allocatesMem(Mem)
_Post_writable_byte_size_(cjSize)
PVOID PVOID
APIENTRY APIENTRY
EngAllocSectionMem( EngAllocSectionMem(
OUT PVOID *ppvSection, _Outptr_ PVOID *ppvSection,
IN ULONG fl, _In_ ULONG fl,
IN SIZE_T cjSize, _In_ SIZE_T cjSize,
IN ULONG ulTag) _In_ ULONG ulTag)
{ {
NTSTATUS Status; NTSTATUS Status;
PENGSECTION pSection; PENGSECTION pSection;
@ -321,13 +323,13 @@ EngAllocSectionMem(
return pSection->pvMappedBase; return pSection->pvMappedBase;
} }
_Check_return_
PFILEVIEW PFILEVIEW
NTAPI NTAPI
EngLoadModuleEx( EngLoadModuleEx(
LPWSTR pwsz, _In_z_ LPWSTR pwsz,
ULONG cjSizeOfModule, _In_ ULONG cjSizeOfModule,
FLONG fl) _In_ FLONG fl)
{ {
PFILEVIEW pFileView = NULL; PFILEVIEW pFileView = NULL;
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
@ -446,6 +448,9 @@ EngLoadModuleForWrite(
return (HANDLE)EngLoadModuleEx(pwsz, cjSizeOfModule, FVF_SYSTEMROOT); return (HANDLE)EngLoadModuleEx(pwsz, cjSizeOfModule, FVF_SYSTEMROOT);
} }
_Check_return_
_Success_(return!=NULL)
_Post_writable_byte_size_(*pulSize)
PVOID PVOID
APIENTRY APIENTRY
EngMapModule( EngMapModule(
@ -475,7 +480,7 @@ EngMapModule(
VOID VOID
APIENTRY APIENTRY
EngFreeModule( EngFreeModule(
_In_ HANDLE h) _In_ _Post_invalid_ HANDLE h)
{ {
PFILEVIEW pFileView = (PFILEVIEW)h; PFILEVIEW pFileView = (PFILEVIEW)h;
NTSTATUS Status; NTSTATUS Status;
@ -540,7 +545,8 @@ EngUnmapFile(
return TRUE; return TRUE;
} }
_Check_return_
_Success_(return!=FALSE)
BOOL BOOL
APIENTRY APIENTRY
EngMapFontFileFD( EngMapFontFileFD(
@ -562,6 +568,9 @@ EngUnmapFontFileFD(
UNIMPLEMENTED; UNIMPLEMENTED;
} }
__drv_preferredFunction("EngMapFontFileFD", "Obsolete")
_Check_return_
_Success_(return!=FALSE)
BOOL BOOL
APIENTRY APIENTRY
EngMapFontFile( EngMapFontFile(

View file

@ -53,36 +53,42 @@ EngUnmapSectionView(
PVOID PVOID
NTAPI NTAPI
EngCreateSection( EngCreateSection(
IN ULONG fl, _In_ ULONG fl,
IN SIZE_T cjSize, _In_ SIZE_T cjSize,
IN ULONG ulTag); _In_ ULONG ulTag);
_Success_(return!=FALSE)
BOOL BOOL
APIENTRY APIENTRY
EngMapSection( EngMapSection(
IN PVOID pvSection, _In_ PVOID pvSection,
IN BOOL bMap, _In_ BOOL bMap,
IN HANDLE hProcess, _In_ HANDLE hProcess,
OUT PVOID* pvBaseAddress); _When_(bMap, _Outptr_) PVOID* pvBaseAddress);
_Check_return_
_Success_(return!=NULL)
__drv_allocatesMem(Mem)
_Post_writable_byte_size_(cjSize)
PVOID PVOID
APIENTRY APIENTRY
EngAllocSectionMem( EngAllocSectionMem(
OUT PVOID *ppvSection, _Outptr_ PVOID *ppvSection,
IN ULONG fl, _In_ ULONG fl,
IN SIZE_T cjSize, _In_ SIZE_T cjSize,
IN ULONG ulTag); _In_ ULONG ulTag);
BOOL BOOL
APIENTRY APIENTRY
EngFreeSectionMem( EngFreeSectionMem(
IN PVOID pvSection OPTIONAL, _In_opt_ PVOID pvSection,
IN PVOID pvMappedBase OPTIONAL); _In_opt_ PVOID pvMappedBase);
_Check_return_
PFILEVIEW PFILEVIEW
NTAPI NTAPI
EngLoadModuleEx( EngLoadModuleEx(
LPWSTR pwsz, _In_z_ LPWSTR pwsz,
ULONG cjSizeOfModule, _In_ ULONG cjSizeOfModule,
FLONG fl); _In_ FLONG fl);