ViZwCheckUnicodeString

VOID __stdcall ViZwCheckUnicodeString(UNICODE_STRING *String, PVOID Caller){
  wchar_t *Buffer; 
  __int64 Length; 
  unsigned __int16 MaximumLength; 
  UINT64 v7; 
  if( String )
  {
    ViZwCheckVirtualAddress((UINT64)String, Caller);
    Buffer = String->Buffer;
    ViZwCheckVirtualAddress((UINT64)Buffer, Caller);
    Length = String->Length;
    if( (MmVerifierData & 0x100) != 0 )
    {
      if( (wchar_t *)((char *)Buffer + Length) < Buffer
        || (MaximumLength = String->MaximumLength, MaximumLength < (unsigned __int16)Length)
        || (((unsigned __int16)Length | MaximumLength) & 1) != 0 )
      {
        VerifierBugCheckIfAppropriate(0xC4ui64, 0xE4ui64, (UINT64)Caller, (UINT64)String, 0i64, v7);
      }
    }
  }
}

Referenced by:

VfZwAccessCheckAndAuditAlarm
VfZwAlpcConnectPort
VfZwCloseObjectAuditAlarm
VfZwConnectPort
VfZwCreateKey
VfZwCreateSymbolicLinkObject
VfZwCreateTransaction
VfZwCreateTransactionManager
VfZwDeleteValueKey
VfZwDisplayString
VfZwLoadDriver
VfZwOpenTransactionManager
VfZwQueryDirectoryFile
VfZwQueryLicenseValue
VfZwQuerySymbolicLinkObject
VfZwQueryValueKey
VfZwSetValueKey
VfZwUnloadDriver
ViZwCheckObjectAttributes