#ifndef _NTSTRSAFE_H_INCLUDED_
_Post_satisfies_(cchDest > 0 && cchDest <= cchMax)
NTSTRSAFEWORKERDDI
RtlStringValidateDestAndLengthA(
_In_reads_opt_(cchDest) NTSTRSAFE_PCSTR pszDest,
_In_ size_t cchDest,
_Out_ _Deref_out_range_(0, cchDest - 1) size_t* pcchDestLength,
_In_ const size_t cchMax);
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)
_Post_satisfies_(cchDest > 0 && cchDest <= cchMax)
NTSTRSAFEWORKERDDI
RtlStringValidateDestAndLengthA(
_In_reads_opt_(cchDest) NTSTRSAFE_PCSTR pszDest,
_In_ size_t cchDest,
_Out_ _Deref_out_range_(0, cchDest - 1) size_t* pcchDestLength,
_In_ const size_t cchMax)
{
NTSTATUS status;
status = RtlStringValidateDestA(pszDest, cchDest, cchMax);
if (NT_SUCCESS(status))
{
status = RtlStringLengthWorkerA(pszDest, cchDest, pcchDestLength);
}
else
{
*pcchDestLength = 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 RtlStringValidateDestAndLengthA RtlStringValidateDestAndLengthA_do_not_call_this_function
View code on GitHub
No description available.