77 lines
1.7 KiB
C
77 lines
1.7 KiB
C
/*++
|
|
|
|
Copyright (c) 1998 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
csrdlini.c
|
|
|
|
Abstract:
|
|
|
|
This module implements functions that are used by the Win32 Initialization
|
|
File APIs to communicate with csrss.
|
|
|
|
Author:
|
|
|
|
Michael Zoran (mzoran) 21-Jun-1998
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#include "basedll.h"
|
|
|
|
NTSTATUS
|
|
CsrBasepRefreshIniFileMapping(
|
|
PUNICODE_STRING BaseFileName
|
|
)
|
|
{
|
|
|
|
#if defined(BUILD_WOW6432)
|
|
return NtWow64CsrBasepRefreshIniFileMapping(BaseFileName);
|
|
#else
|
|
|
|
NTSTATUS Status;
|
|
|
|
BASE_API_MSG m;
|
|
PBASE_REFRESHINIFILEMAPPING_MSG ap = &m.u.RefreshIniFileMapping;
|
|
PCSR_CAPTURE_HEADER CaptureBuffer;
|
|
CaptureBuffer = NULL;
|
|
|
|
if (BaseFileName->Length > (MAX_PATH * sizeof( WCHAR ))) {
|
|
return STATUS_INVALID_PARAMETER;
|
|
}
|
|
|
|
CaptureBuffer = CsrAllocateCaptureBuffer( 1,
|
|
BaseFileName->MaximumLength
|
|
);
|
|
if (CaptureBuffer == NULL) {
|
|
return STATUS_NO_MEMORY;
|
|
}
|
|
|
|
CsrCaptureMessageString( CaptureBuffer,
|
|
(PCHAR)BaseFileName->Buffer,
|
|
BaseFileName->Length,
|
|
BaseFileName->MaximumLength,
|
|
(PSTRING)&ap->IniFileName
|
|
);
|
|
|
|
CsrClientCallServer( (PCSR_API_MSG)&m,
|
|
CaptureBuffer,
|
|
CSR_MAKE_API_NUMBER( BASESRV_SERVERDLL_INDEX,
|
|
BasepRefreshIniFileMapping
|
|
),
|
|
sizeof( *ap )
|
|
);
|
|
|
|
Status = (NTSTATUS)m.ReturnValue;
|
|
|
|
CsrFreeCaptureBuffer( CaptureBuffer );
|
|
return Status;
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
|