Windows-Server-2003/net/mmc/rtrlib/ustringp.h

74 lines
1.4 KiB
C

//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1999 - 1999
//
// File: ustringp.h
//
//--------------------------------------------------------------------------
#ifndef _USTRINGP_H_
#define _USTRINGP_H_
//nclude <ntdef.h>
//
// Unicode strings are counted 16-bit character strings. If they are
// NULL terminated, Length does not include trailing NULL.
//
#ifndef _USTRINGP_NO_UNICODE_STRING
typedef struct _UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
#ifdef MIDL_PASS
[size_is(MaximumLength / 2), length_is((Length) / 2) ] USHORT * Buffer;
#else // MIDL_PASS
PWSTR Buffer;
#endif // MIDL_PASS
} UNICODE_STRING;
typedef UNICODE_STRING *PUNICODE_STRING;
typedef const UNICODE_STRING *PCUNICODE_STRING;
#define UNICODE_NULL ((WCHAR)0) // winnt
#endif
#ifndef _USTRINGP_NO_UNICODE_STRING32
typedef struct _STRING32 {
USHORT Length;
USHORT MaximumLength;
ULONG Buffer;
} STRING32;
typedef STRING32 *PSTRING32;
typedef STRING32 UNICODE_STRING32;
typedef UNICODE_STRING32 *PUNICODE_STRING32;
#endif
#ifdef __cplusplus
extern "C"
{
#endif
void
SetUnicodeString (
IN OUT UNICODE_STRING* pustr,
IN LPCWSTR psz );
void
SetUnicodeMultiString (
IN OUT UNICODE_STRING* pustr,
IN LPCWSTR pmsz );
#ifdef __cplusplus
};
#endif
#endif