#ifndef _NTSTRSAFE_H_INCLUDED_
_When_(_Old_(*ppszSrc) != NULL, _Unchanged_(*ppszSrc))
_When_(_Old_(*ppszSrc) == NULL, _At_(*ppszSrc, _Post_z_))
NTSTRSAFEWORKERDDI
RtlStringExValidateSrcA(
_Inout_ _Deref_post_notnull_ STRSAFE_PCNZCH* ppszSrc,
_Inout_opt_
_Deref_out_range_(<, cchMax)
_Deref_out_range_(<=, _Old_(*pcchToRead)) size_t* pcchToRead,
_In_ const size_t cchMax,
_In_ DWORD dwFlags);
View code on GitHub
#ifndef _NTSTRSAFE_H_INCLUDED_
// Below here are the worker functions that actually do the work
#if defined(NTSTRSAFE_LIB_IMPL) || !defined(NTSTRSAFE_LIB)
_When_(_Old_(*ppszSrc) != NULL, _Unchanged_(*ppszSrc))
_When_(_Old_(*ppszSrc) == NULL, _At_(*ppszSrc, _Post_z_))
NTSTRSAFEWORKERDDI
RtlStringExValidateSrcA(
_Inout_ _Deref_post_notnull_ STRSAFE_PCNZCH* ppszSrc,
_Inout_opt_
_Deref_out_range_(<, cchMax)
_Deref_out_range_(<=, _Old_(*pcchToRead)) size_t* pcchToRead,
_In_ const size_t cchMax,
_In_ DWORD dwFlags)
{
NTSTATUS status = STATUS_SUCCESS;
if (pcchToRead && (*pcchToRead >= cchMax))
{
status = STATUS_INVALID_PARAMETER;
}
else if ((dwFlags & STRSAFE_IGNORE_NULLS) && (*ppszSrc == NULL))
{
*ppszSrc = "";
if (pcchToRead)
{
*pcchToRead = 0;
}
}
return status;
}
View code on GitHub
#ifndef _NTSTRSAFE_H_INCLUDED_
// Do not call these functions, they are worker functions for internal use within this file
#ifdef DEPRECATE_SUPPORTED
// ...
#else
#define RtlStringExValidateSrcA RtlStringExValidateSrcA_do_not_call_this_function
View code on GitHub
No description available.