windows-nt/Source/XPSP1/NT/ds/published/inc/ftnfoctx.w
2020-09-26 16:20:57 +08:00

142 lines
2.2 KiB
OpenEdge ABL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
Copyright (c) 1987-2001 Microsoft Corporation
Module Name:
ftnfoctx.h
Abstract:
Utility routines for manipulating the forest trust context
Author:
27-Jul-00 (cliffv)
Environment:
User mode only.
Contains NT-specific code.
Requires ANSI C extensions: slash-slash comments, long external names.
Revision History:
--*/
#ifndef __FTNFOCTX_H
#define __FTNFOCTX_H
//
// Context used to collect the individual FTinfo entries
//
typedef struct _NL_FTINFO_CONTEXT {
//
// List of all the FTinfo structures collected so far.
//
LIST_ENTRY FtinfoList;
//
// Size (in bytes) of the entries on FtinfoList.
//
ULONG FtinfoSize;
//
// Number of entries on FtinfoList
//
ULONG FtinfoCount;
} NL_FTINFO_CONTEXT, *PNL_FTINFO_CONTEXT;
//
// A single FTinfo entry
//
typedef struct _NL_FTINFO_ENTRY {
//
// Link off of NL_FITINFO_CONTEXT->FtinfoList
//
LIST_ENTRY Next;
//
// Size (in bytes) of just the 'Record' portion of this entry
//
ULONG Size;
//
// Pad the Record to start on an ALIGN_WORST boundary
//
ULONG Pad;
//
// The actual Ftinfo entry
//
LSA_FOREST_TRUST_RECORD Record;
} NL_FTINFO_ENTRY, *PNL_FTINFO_ENTRY;
#ifdef __cplusplus
extern "C" {
#endif
VOID
NetpInitFtinfoContext(
OUT PNL_FTINFO_CONTEXT FtinfoContext
);
PLSA_FOREST_TRUST_INFORMATION
NetpCopyFtinfoContext(
IN PNL_FTINFO_CONTEXT FtinfoContext
);
VOID
NetpCleanFtinfoContext(
IN PNL_FTINFO_CONTEXT FtinfoContext
);
BOOLEAN
NetpAllocFtinfoEntry (
IN PNL_FTINFO_CONTEXT FtinfoContext,
IN LSA_FOREST_TRUST_RECORD_TYPE ForestTrustType,
IN PUNICODE_STRING Name,
IN PSID Sid,
IN PUNICODE_STRING NetbiosName
);
BOOLEAN
NetpAddTlnFtinfoEntry (
IN PNL_FTINFO_CONTEXT FtinfoContext,
IN PUNICODE_STRING Name
);
NTSTATUS
NetpMergeFtinfo(
IN PUNICODE_STRING TrustedDomainName,
IN PLSA_FOREST_TRUST_INFORMATION InNewForestTrustInfo,
IN PLSA_FOREST_TRUST_INFORMATION InOldForestTrustInfo OPTIONAL,
OUT PLSA_FOREST_TRUST_INFORMATION *MergedForestTrustInfo
);
#ifdef __cplusplus
}
#endif
#endif