214 if (!AtomNameString->
Length)
291 PWSTR AtomNameString;
292 ULONG AtomInfoLength;
293 ULONG AtomNameLength;
297 if (!Unicode &&
Size > 0x7000)
Size = 0x7000;
320 AtomNameString = (
PWSTR)AtomName;
328 AtomNameString = TempBuffer;
364 AtomNameString = AtomInfo->
Name;
375 RetVal = AtomNameLength /
sizeof(
WCHAR);
378 if (AtomNameString != (
PWSTR)AtomName)
413 if (TempBuffer)
RtlFreeHeap(RtlGetProcessHeap(), 0, TempBuffer);
515 if (nSize < 4 || nSize > 511)
nSize = 37;
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
#define NT_SUCCESS(StatCode)
PRTL_ATOM_TABLE BaseLocalAtomTable
BOOL WINAPI InitAtomTable(DWORD nSize)
ATOM WINAPI FindAtomW(LPCWSTR lpString)
ATOM WINAPI InternalDeleteAtom(BOOLEAN Local, ATOM Atom)
UINT WINAPI GetAtomNameW(ATOM nAtom, LPWSTR lpBuffer, int nSize)
ATOM WINAPI InternalFindAtom(BOOLEAN Local, BOOLEAN Unicode, LPCSTR AtomName)
ATOM WINAPI GlobalFindAtomW(LPCWSTR lpString)
UINT WINAPI InternalGetAtomName(BOOLEAN Local, BOOLEAN Unicode, ATOM Atom, LPSTR AtomName, DWORD Size)
PVOID WINAPI InternalInitAtomTable(VOID)
UINT WINAPI GlobalGetAtomNameW(ATOM nAtom, LPWSTR lpBuffer, int nSize)
ATOM WINAPI FindAtomA(LPCSTR lpString)
ATOM WINAPI AddAtomA(LPCSTR lpString)
ATOM WINAPI GlobalAddAtomA(LPCSTR lpString)
ATOM WINAPI DeleteAtom(ATOM nAtom)
ATOM WINAPI AddAtomW(LPCWSTR lpString)
UINT WINAPI GetAtomNameA(ATOM nAtom, LPSTR lpBuffer, int nSize)
ATOM WINAPI GlobalFindAtomA(LPCSTR lpString)
ATOM WINAPI InternalAddAtom(BOOLEAN Local, BOOLEAN Unicode, LPCSTR AtomName)
ATOM WINAPI GlobalDeleteAtom(ATOM nAtom)
UINT WINAPI GlobalGetAtomNameA(ATOM nAtom, LPSTR lpBuffer, int nSize)
ATOM WINAPI GlobalAddAtomW(LPCWSTR lpString)
struct atom_table ** PRTL_ATOM_TABLE
struct _ATOM_BASIC_INFORMATION ATOM_BASIC_INFORMATION
NTSYSAPI NTSTATUS NTAPI RtlAddAtomToAtomTable(_In_ PRTL_ATOM_TABLE AtomTable, _In_ PWSTR AtomName, _Out_ PRTL_ATOM Atom)
NTSYSAPI NTSTATUS NTAPI RtlLookupAtomInAtomTable(_In_ PRTL_ATOM_TABLE AtomTable, _In_ PWSTR AtomName, _Out_ PRTL_ATOM Atom)
NTSYSAPI NTSTATUS NTAPI RtlCreateAtomTable(_In_ ULONG TableSize, _Inout_ PRTL_ATOM_TABLE *AtomTable)
NTSYSAPI NTSTATUS NTAPI RtlDeleteAtomFromAtomTable(_In_ PRTL_ATOM_TABLE AtomTable, _In_ RTL_ATOM Atom)
NTSYSAPI NTSTATUS NTAPI RtlQueryAtomInAtomTable(_In_ PRTL_ATOM_TABLE AtomTable, _In_ RTL_ATOM Atom, _Out_opt_ PULONG RefCount, _Out_opt_ PULONG PinCount, _Out_opt_z_bytecap_(*NameLength) PWSTR AtomName, _Inout_opt_ PULONG NameLength)
NTSYSAPI NTSTATUS NTAPI RtlUnicodeStringToAnsiString(PANSI_STRING DestinationString, PUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
NTSYSAPI NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString, PANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
NTSYSAPI VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
NTSTATUS NTAPI NtQueryInformationAtom(RTL_ATOM Atom, ATOM_INFORMATION_CLASS AtomInformationClass, PVOID AtomInformation, ULONG AtomInformationLength, PULONG ReturnLength)
NTSTATUS NTAPI NtDeleteAtom(IN RTL_ATOM Atom)
NTSTATUS NTAPI NtAddAtom(IN PWSTR AtomName, IN ULONG AtomNameLength, OUT PRTL_ATOM Atom)
NTSTATUS NTAPI NtFindAtom(IN PWSTR AtomName, IN ULONG AtomNameLength, OUT PRTL_ATOM Atom)
DWORD BaseSetLastNTError(IN NTSTATUS Status)
#define STATUS_BUFFER_OVERFLOW
#define RtlMoveMemory(Destination, Source, Length)
#define STATUS_INVALID_PARAMETER
#define STATUS_OBJECT_NAME_NOT_FOUND
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
*nSize LPSTR _Inout_ LPDWORD nSize