ReactOS 0.4.15-dev-7958-gcd0bb1a
FxString Class Reference

#include <fxstring.hpp>

Inheritance diagram for FxString:
Collaboration diagram for FxString:

Public Member Functions

 FxString (__in PFX_DRIVER_GLOBALS FxDriverGlobals)
 
 ~FxString ()
 
VOID __inline ReleaseString (__out PUNICODE_STRING ReleaseTo)
 
__inline operator PUNICODE_STRING ()
 
PUNICODE_STRING __inline GetUnicodeString (VOID)
 
_Must_inspect_result_ NTSTATUS Assign (__in PCWSTR SourceString)
 
_Must_inspect_result_ NTSTATUS Assign (__in const UNICODE_STRING *UnicodeString)
 
__inline USHORT Length (VOID)
 
__inline USHORT ByteLength (__in BOOLEAN IncludeNull)
 
__inline USHORT CharacterLength (VOID)
 
__inline USHORT MaximumLength (VOID)
 
__inline USHORT MaximumByteLength (VOID)
 
__inline USHORT MaximumCharacterLength (VOID)
 
__inline PWCHAR Buffer (VOID)
 
- Public Member Functions inherited from FxObject
PVOID GetCOMWrapper ()
 
void SetCOMWrapper (__drv_aliasesMem PVOID Wrapper)
 
 FxObject (__in WDFTYPE Type, __in USHORT Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals)
 
virtual ~FxObject (VOID)
 
PVOID __inline operator new (__in size_t Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxObjectType Type)
 
PVOID __inline operator new (__in size_t Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals, __in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __in USHORT ExtraSize=0)
 
VOID operator delete (__in PVOID Memory)
 
VOID SetNoContextHeader (VOID)
 
PVOID __inline GetObjectHandle (VOID)
 
__inline FxContextHeaderGetContextHeader (VOID)
 
__inline PFX_DRIVER_GLOBALS GetDriverGlobals (VOID)
 
WDFTYPE GetType (VOID)
 
USHORT GetObjectSize (VOID)
 
LONG GetRefCnt (VOID)
 
FxTagTrackerGetTagTracker (VOID)
 
CfxDeviceGetDevice (VOID)
 
CfxDeviceBaseGetDeviceBase (VOID)
 
VOID SetDeviceBase (__in CfxDeviceBase *DeviceBase)
 
__inline VOID CallCleanup (VOID)
 
ULONG __inline AddRef (__in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
 
virtual ULONG Release (__in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
 
virtual ULONG AddRefOverride (__in WDFOBJECT_OFFSET Offset, __in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
 
virtual ULONG ReleaseOverride (__in WDFOBJECT_OFFSET Offset, __in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
 
virtual _Must_inspect_result_ NTSTATUS QueryInterface (__in FxQueryInterfaceParams *Params)
 
VOID MarkTraceState (VOID)
 
BOOLEAN __inline IsTraceState (VOID)
 
VOID __inline TraceDroppedEvent (__in FxObjectDroppedEvent Event)
 
VOID MarkPassiveDispose (__in FxObjectLockState State=ObjectLock)
 
VOID MarkPassiveCallbacks (__in FxObjectLockState State=ObjectLock)
 
VOID MarkForceDisposeThread (__in FxObjectLockState State=ObjectLock)
 
BOOLEAN IsPassiveCallbacks (__in BOOLEAN AcquireLock=TRUE)
 
BOOLEAN IsPassiveDispose (__in BOOLEAN AcquireLock=TRUE)
 
BOOLEAN IsForceDisposeThread (__in BOOLEAN AcquireLock=TRUE)
 
VOID MarkCommitted (VOID)
 
BOOLEAN IsCommitted (VOID)
 
VOID MarkDisposeOverride (__in FxObjectLockState State=ObjectLock)
 
VOID MarkNoDeleteDDI (__in FxObjectLockState State=ObjectLock)
 
BOOLEAN IsNoDeleteDDI (VOID)
 
_Must_inspect_result_ NTSTATUS Commit (__in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __out_opt WDFOBJECT *ObjectHandle, __in_opt FxObject *Parent=NULL, __in BOOLEAN AssignDriverAsDefaultParent=TRUE)
 
VOID DeleteFromFailedCreate (VOID)
 
VOID ClearEvtCallbacks (VOID)
 
BOOLEAN EarlyDispose (VOID)
 
virtual VOID DeleteObject (VOID)
 
virtual BOOLEAN Dispose (VOID)
 
_Must_inspect_result_ NTSTATUS AssignParentObject (__in FxObject *ParentObject)
 
_Must_inspect_result_ NTSTATUS AddContext (__in FxContextHeader *Header, __in PVOID *Context, __in PWDF_OBJECT_ATTRIBUTES Attributes)
 
_Must_inspect_result_ NTSTATUS RemoveParentAssignment (VOID)
 
_Must_inspect_result_ FxObjectGetParentObjectReferenced (__in PVOID Tag)
 
BOOLEAN IsDisposed (VOID)
 

Public Attributes

UNICODE_STRING m_UnicodeString
 

Additional Inherited Members

- Static Public Member Functions inherited from FxObject
static FxObject_FromDisposeEntry (__in PSINGLE_LIST_ENTRY Entry)
 
static FxObject_GetObjectFromHandle (__in WDFOBJECT Handle, __inout PWDFOBJECT_OFFSET ObjectOffset)
 
static PVOID __inline _ToHandle (__in FxObject *Object)
 
static VOID __inline _ReferenceActual (__in WDFOBJECT Object, __in_opt PVOID Tag, __in LONG Line, __in PSTR File)
 
static VOID __inline _DereferenceActual (__in WDFOBJECT Object, __in_opt PVOID Tag, __in LONG Line, __in PSTR File)
 
static PVOID _GetDebugBase (__in FxObject *Object)
 
static PFX_POOL_HEADER _CleanupPointer (__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxObject *Object)
 
static _Must_inspect_result_ NTSTATUS _GetEffectiveLock (__in FxObject *Object, __in_opt IFxHasCallbacks *Callbacks, __in BOOLEAN AutomaticLocking, __in BOOLEAN PassiveCallbacks, __out FxCallbackLock **CallbackLock, __out_opt FxObject **CallbackLockObject)
 
static _Must_inspect_result_ NTSTATUS _ObjectQuery (_In_ FxObject *Object, _In_ CONST GUID *Guid, _In_ ULONG QueryBufferLength, _Out_writes_bytes_(QueryBufferLength) PVOID QueryBuffer)
 
- Protected Member Functions inherited from FxObject
 FxObject (__in WDFTYPE Type, __in USHORT Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxObjectType ObjectType)
 
FxObjectDebugExtensionGetDebugExtension (VOID)
 
BOOLEAN IsDebug (VOID)
 
VOID AllocateTagTracker (__in WDFTYPE Type)
 
virtual VOID SelfDestruct (VOID)
 
PVOID __inline GetObjectHandleUnchecked (VOID)
 
VOID __inline DestroyChildren (VOID)
 
VOID DeleteEarlyDisposedObject (VOID)
 
- Static Protected Member Functions inherited from FxObject
static PVOID _GetBase (__in FxObject *Object)
 
- Protected Attributes inherited from FxObject
union {
   CfxDeviceBase *   m_DeviceBase
 
   CfxDevice *   m_Device
 
}; 
 

Detailed Description

Definition at line 30 of file fxstring.hpp.

Constructor & Destructor Documentation

◆ FxString()

FxString::FxString ( __in PFX_DRIVER_GLOBALS  FxDriverGlobals)

Definition at line 28 of file fxstring.cpp.

30 :
31 FxObject(FX_TYPE_STRING, sizeof(FxString), FxDriverGlobals)
32{
35}
VOID MarkPassiveDispose(__in FxObjectLockState State=ObjectLock)
Definition: fxobject.hpp:944
UNICODE_STRING m_UnicodeString
Definition: fxstring.hpp:36
#define NULL
Definition: types.h:112
@ ObjectDoNotLock
Definition: fxobject.hpp:128
@ FX_TYPE_STRING
Definition: fxtypes.h:52
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)

◆ ~FxString()

FxString::~FxString ( )

Definition at line 37 of file fxstring.cpp.

38{
41 }
42}
void FxPoolFree(__in_xcount(ptr is at an offset from AllocationStart) PVOID ptr)
Definition: wdfpool.cpp:361

Member Function Documentation

◆ Assign() [1/2]

_Must_inspect_result_ NTSTATUS FxString::Assign ( __in const UNICODE_STRING UnicodeString)

Definition at line 46 of file fxstring.cpp.

49{
53}
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
Definition: fxobject.hpp:734
_Must_inspect_result_ NTSTATUS FxDuplicateUnicodeString(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in const UNICODE_STRING *Source, __out PUNICODE_STRING Destination)
Definition: stringutil.cpp:180

◆ Assign() [2/2]

_Must_inspect_result_ NTSTATUS FxString::Assign ( __in PCWSTR  SourceString)

Definition at line 57 of file fxstring.cpp.

61{
63
65
66 return Assign(&string);
67}
_Must_inspect_result_ NTSTATUS Assign(__in PCWSTR SourceString)
Definition: fxstring.cpp:57
char string[160]
Definition: util.h:11
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
Definition: rtlfuncs.h:1910

Referenced by WDFDEVICE_INIT::_AllocateControlDeviceInit(), Assign(), FxDriver::GetRegistryPath(), and if().

◆ Buffer()

__inline PWCHAR FxString::Buffer ( VOID  )
inline

Definition at line 144 of file fxstring.hpp.

147 {
148 return m_UnicodeString.Buffer;
149 }

Referenced by FxCopyMultiSz(), and IntUnicodeStringToBuffer().

◆ ByteLength()

__inline USHORT FxString::ByteLength ( __in BOOLEAN  IncludeNull)
inline

Definition at line 94 of file fxstring.hpp.

97 {
98 if (IncludeNull) {
99 return m_UnicodeString.Length + sizeof(UNICODE_NULL);
100 }
101 else {
102 return m_UnicodeString.Length;
103 }
104 }
#define UNICODE_NULL

Referenced by FxCalculateTotalStringSize(), and FxCopyMultiSz().

◆ CharacterLength()

__inline USHORT FxString::CharacterLength ( VOID  )
inline

Definition at line 108 of file fxstring.hpp.

111 {
112 return m_UnicodeString.Length / sizeof(WCHAR);
113 }
__wchar_t WCHAR
Definition: xmlstorage.h:180

◆ GetUnicodeString()

PUNICODE_STRING __inline FxString::GetUnicodeString ( VOID  )
inline

Definition at line 64 of file fxstring.hpp.

67 {
68 return &m_UnicodeString;
69 }

◆ Length()

__inline USHORT FxString::Length ( VOID  )
inline

Definition at line 85 of file fxstring.hpp.

88 {
90 }

Referenced by IntUnicodeStringToBuffer().

◆ MaximumByteLength()

__inline USHORT FxString::MaximumByteLength ( VOID  )
inline

Definition at line 126 of file fxstring.hpp.

129 {
131 }
USHORT MaximumLength
Definition: env_spec_w32.h:370

◆ MaximumCharacterLength()

__inline USHORT FxString::MaximumCharacterLength ( VOID  )
inline

Definition at line 135 of file fxstring.hpp.

138 {
139 return m_UnicodeString.MaximumLength / sizeof(WCHAR);
140 }

◆ MaximumLength()

__inline USHORT FxString::MaximumLength ( VOID  )
inline

Definition at line 117 of file fxstring.hpp.

120 {
122 }

◆ operator PUNICODE_STRING()

__inline FxString::operator PUNICODE_STRING ( )
inline

Definition at line 56 of file fxstring.hpp.

58 {
59 return &m_UnicodeString;
60 }

◆ ReleaseString()

VOID __inline FxString::ReleaseString ( __out PUNICODE_STRING  ReleaseTo)
inline

Definition at line 47 of file fxstring.hpp.

50 {
51 RtlCopyMemory(ReleaseTo, &m_UnicodeString, sizeof(UNICODE_STRING));
53 }
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262

Referenced by FxDevice::_Create().

Member Data Documentation

◆ m_UnicodeString


The documentation for this class was generated from the following files: