121 lines
2.5 KiB
C++
121 lines
2.5 KiB
C++
/*++
|
|
|
|
Copyright (c) 2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
strsectgen.cpp
|
|
|
|
Abstract:
|
|
|
|
C-ish wrapper around CSSGenCtx object used to generate a string section.
|
|
|
|
Author:
|
|
|
|
Michael J. Grier (MGrier) 23-Feb-2000
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#include "stdinc.h"
|
|
#include <windows.h>
|
|
#include "sxsp.h"
|
|
#include "ssgenctx.h"
|
|
|
|
BOOL
|
|
SxsInitStringSectionGenerationContext(
|
|
OUT PSTRING_SECTION_GENERATION_CONTEXT *SSGenContext,
|
|
IN ULONG DataFormatVersion,
|
|
IN BOOL CaseInSensitive,
|
|
IN STRING_SECTION_GENERATION_CONTEXT_CALLBACK_FUNCTION CallbackFunction,
|
|
IN LPVOID Context
|
|
)
|
|
{
|
|
return CSSGenCtx::Create(
|
|
SSGenContext,
|
|
DataFormatVersion,
|
|
CaseInSensitive,
|
|
CallbackFunction,
|
|
Context);
|
|
}
|
|
|
|
PVOID
|
|
WINAPI
|
|
SxsGetStringSectionGenerationContextCallbackContext(
|
|
IN PSTRING_SECTION_GENERATION_CONTEXT SSGenContext
|
|
)
|
|
{
|
|
return ((CSSGenCtx *) SSGenContext)->GetCallbackContext();
|
|
}
|
|
|
|
VOID
|
|
WINAPI
|
|
SxsDestroyStringSectionGenerationContext(
|
|
IN PSTRING_SECTION_GENERATION_CONTEXT SSGenContext
|
|
)
|
|
{
|
|
if (SSGenContext != NULL)
|
|
{
|
|
((CSSGenCtx *) SSGenContext)->DeleteYourself();
|
|
}
|
|
}
|
|
|
|
BOOL
|
|
WINAPI
|
|
SxsAddStringToStringSectionGenerationContext(
|
|
IN PSTRING_SECTION_GENERATION_CONTEXT SSGenContext,
|
|
IN PCWSTR String,
|
|
IN SIZE_T StringCch,
|
|
IN PVOID DataContext,
|
|
IN ULONG AssemblyRosterIndex,
|
|
IN DWORD DuplicateErrorCode
|
|
)
|
|
{
|
|
return ((CSSGenCtx *) SSGenContext)->Add(String, StringCch, DataContext, AssemblyRosterIndex, DuplicateErrorCode);
|
|
}
|
|
|
|
BOOL
|
|
WINAPI
|
|
SxsFindStringInStringSectionGenerationContext(
|
|
IN PSTRING_SECTION_GENERATION_CONTEXT SSGenContext,
|
|
IN PCWSTR String,
|
|
IN SIZE_T Cch,
|
|
OUT PVOID *DataContext,
|
|
OUT BOOL *Found
|
|
)
|
|
{
|
|
return ((CSSGenCtx *) SSGenContext)->Find(String, Cch, DataContext, Found);
|
|
}
|
|
|
|
BOOL
|
|
WINAPI
|
|
SxsDoneModifyingStringSectionGenerationContext(
|
|
IN PSTRING_SECTION_GENERATION_CONTEXT SSGenContext
|
|
)
|
|
{
|
|
return ((CSSGenCtx *) SSGenContext)->DoneAdding();
|
|
}
|
|
|
|
BOOL
|
|
WINAPI
|
|
SxsGetStringSectionGenerationContextSectionSize(
|
|
IN PSTRING_SECTION_GENERATION_CONTEXT SSGenContext,
|
|
OUT PSIZE_T DataSize
|
|
)
|
|
{
|
|
return ((CSSGenCtx *) SSGenContext)->GetSectionSize(DataSize);
|
|
}
|
|
|
|
BOOL
|
|
WINAPI
|
|
SxsGetStringSectionGenerationContextSectionData(
|
|
IN PSTRING_SECTION_GENERATION_CONTEXT SSGenContext,
|
|
IN SIZE_T BufferSize,
|
|
IN PVOID Buffer,
|
|
OUT PSIZE_T BytesWritten OPTIONAL
|
|
)
|
|
{
|
|
return ((CSSGenCtx *) SSGenContext)->GetSectionData(BufferSize, Buffer, BytesWritten);
|
|
}
|