Reactos
at master 67 lines 1.1 kB view raw
1/*++ 2 3Copyright (c) Microsoft Corporation 4 5Module Name: 6 7 FxString.cpp 8 9Abstract: 10 11 This module implements a simple string class to operate on 12 unicode strings. 13 14Author: 15 16 17 18Environment: 19 20 Both kernel and user mode 21 22Revision History: 23 24--*/ 25 26#include "fxsupportpch.hpp" 27 28FxString::FxString( 29 __in PFX_DRIVER_GLOBALS FxDriverGlobals 30 ) : 31 FxObject(FX_TYPE_STRING, sizeof(FxString), FxDriverGlobals) 32{ 33 RtlInitUnicodeString(&m_UnicodeString, NULL); 34 MarkPassiveDispose(ObjectDoNotLock); 35} 36 37FxString::~FxString() 38{ 39 if (m_UnicodeString.Buffer) { 40 FxPoolFree(m_UnicodeString.Buffer); 41 } 42} 43 44_Must_inspect_result_ 45NTSTATUS 46FxString::Assign( 47 __in const UNICODE_STRING* UnicodeString 48 ) 49{ 50 return FxDuplicateUnicodeString(GetDriverGlobals(), 51 UnicodeString, 52 &m_UnicodeString); 53} 54 55_Must_inspect_result_ 56NTSTATUS 57FxString::Assign( 58 __in PCWSTR SourceString 59 ) 60 61{ 62 UNICODE_STRING string; 63 64 RtlInitUnicodeString(&string, SourceString); 65 66 return Assign(&string); 67}