Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1991-92 Microsoft Corporation
Module Name:
StrArray.h
Abstract:
This is the a header file of handy functions and macros for TCHAR string arrays.
These arrays are in the following format (spaces added for clarity):
one \0 two \0 three \0 \0
where \0 is a null character in the appropriate format.
Author:
John Rogers (JohnRo) 03-Jan-1992
Environment:
Portable to any flat, 32-bit environment. (Uses Win32 typedefs.) Requires ANSI C extensions: slash-slash comments, long external names.
Revision History:
03-Jan-1992 JohnRo Created this file from bits and pieces in RxCommon and NetLib.
--*/
#ifndef _STRARRAY_
#define _STRARRAY_
// These must be included first:
#include <windef.h> // IN, LPTSTR, LPVOID, etc.
// These may be included in any order:
// (none)
#ifdef __cplusplus
extern "C" { #endif
VOID ScAddWStrToWStrArray ( IN OUT LPWSTR Dest, IN LPWSTR Src );
// BOOL
// ScIsWStrArrayEmpty (
// IN LPWSTR Array
// );
#define ScIsWStrArrayEmpty( Array ) \
( ( (*(Array)) == 0) ? TRUE : FALSE )
#if DBG
VOID ScDisplayWStrArray ( IN LPWSTR Array );
#else // not DBG
#define ScDisplayWStrArray(Array) /* nothing */
#endif // not DBG
// LPWSTR
// ScNextWStrArrayEntry (
// IN LPWSTR Array
// );
#define ScNextWStrArrayEntry(Array) \
( ((LPWSTR)(Array)) + (wcslen(Array) + 1) )
// LPSTR
// ScNextAStrArrayEntry (
// IN LPSTR Array
// );
#define ScNextAStrArrayEntry(Array) \
( ((LPSTR)(Array)) + (strlen(Array) + 1) )
//
// Return number of bytes to allocate for this string array.
// This includes the "extra" trailing null char.
//
DWORD ScWStrArraySize( IN LPWSTR Array );
DWORD ScAStrArraySize( IN LPSTR Array );
#ifdef __cplusplus
} #endif
#endif // ndef _STRARRAY_
|