windows-nt/Source/XPSP1/NT/net/sfm/afp/service/client/apistub.c
2020-09-26 16:20:57 +08:00

1323 lines
25 KiB
C
Raw Permalink 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) 1989 Microsoft Corporation. **/
/********************************************************************/
//***
//
// Filename: apistub.c
//
// Description: This module contains the AFP server service API RPC
// client stubs.
//
// History:
// June 11,1992. NarenG Created original version.
//
#include "client.h"
//**
//
// Call: AfpAdminConnect
//
// Returns: NO_ERROR - success
// non-zero returns from the AfpRPCBind routine.
//
//
// Description: This is the DLL entrypoint for AfpAdminConnect
//
DWORD
AfpAdminConnect(
IN LPWSTR lpwsServerName,
OUT PAFP_SERVER_HANDLE phAfpServer
)
{
// Bind with the server
//
return( AfpRPCBind( lpwsServerName, phAfpServer ) );
}
//**
//
// Call: AfpAdminDisconnect
//
// Returns: none.
//
// Description: This is the DLL entrypoint for AfpAdminDisconnect
//
VOID
AfpAdminDisconnect(
IN AFP_SERVER_HANDLE hAfpServer
)
{
RpcBindingFree( (handle_t *)&hAfpServer );
}
//**
//
// Call: AfpAdminBufferFree
//
// Returns: none
//
// Description: This is the DLL entrypoint for AfpAdminBufferFree
//
VOID
AfpAdminBufferFree(
IN PVOID pBuffer
)
{
MIDL_user_free( pBuffer );
}
//**
//
// Call: AfpAdminVolumeEnum
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero returns from AdpAdminrVolumeEnum
//
// Description: This is the DLL entry point for AfpAdminVolumeEnum.
//
DWORD
AfpAdminVolumeEnum(
IN AFP_SERVER_HANDLE hAfpServer,
OUT LPBYTE *ppbBuffer,
IN DWORD dwPrefMaxLen,
OUT LPDWORD lpdwEntriesRead,
OUT LPDWORD lpdwTotalEntries,
IN LPDWORD lpdwResumeHandle
)
{
DWORD dwRetCode;
VOLUME_INFO_CONTAINER InfoStruct;
// Touch all pointers
//
try {
*ppbBuffer = NULL;
*lpdwEntriesRead = 0;
*lpdwTotalEntries = 0;
if ( lpdwResumeHandle )
*lpdwResumeHandle;
}
except( EXCEPTION_EXECUTE_HANDLER ) {
return( ERROR_INVALID_PARAMETER );
}
InfoStruct.dwEntriesRead = 0;
InfoStruct.pBuffer = NULL;
RpcTryExcept{
dwRetCode = AfpAdminrVolumeEnum( hAfpServer,
&InfoStruct,
dwPrefMaxLen,
lpdwTotalEntries,
lpdwResumeHandle );
if ( InfoStruct.pBuffer != NULL ) {
*ppbBuffer = (LPBYTE)(InfoStruct.pBuffer);
*lpdwEntriesRead = InfoStruct.dwEntriesRead;
}
else
*lpdwEntriesRead = 0;
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminVolumeSetInfo
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrVolumeSetInfo
//
// Description: This is the DLL entrypoint for AfpAdminSetInfo
//
DWORD
AfpAdminVolumeSetInfo(
IN AFP_SERVER_HANDLE hAfpServer,
IN LPBYTE pbBuffer,
IN DWORD dwParmNum
)
{
DWORD dwRetCode;
if ( dwParmNum == 0 )
return( ERROR_INVALID_PARAMETER );
if ( !IsAfpVolumeInfoValid( dwParmNum, (PAFP_VOLUME_INFO)pbBuffer ) )
return( ERROR_INVALID_PARAMETER );
RpcTryExcept{
dwRetCode = AfpAdminrVolumeSetInfo( hAfpServer,
(PAFP_VOLUME_INFO)pbBuffer,
dwParmNum );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminVolumeGetInfo
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrVolumeGetInfo
//
// Description: This is the DLL entrypoint for AfpAdminVolumeGetInfo
//
DWORD
AfpAdminVolumeGetInfo(
IN AFP_SERVER_HANDLE hAfpServer,
IN LPWSTR lpwsVolumeName ,
OUT LPBYTE *ppbBuffer
)
{
DWORD dwRetCode;
if ( !IsAfpVolumeNameValid( lpwsVolumeName ) )
return( ERROR_INVALID_PARAMETER );
// Make sure that all pointers passed in are valid
//
try {
*ppbBuffer = NULL;
}
except( EXCEPTION_EXECUTE_HANDLER ) {
return( ERROR_INVALID_PARAMETER );
}
RpcTryExcept{
dwRetCode = AfpAdminrVolumeGetInfo( hAfpServer,
lpwsVolumeName,
(PAFP_VOLUME_INFO*)ppbBuffer );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminVolumeDelete
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrVolumeDelete
//
// Description: This is the DLL entrypoint for AfpAdminVolumeDelete
//
DWORD
AfpAdminVolumeDelete(
IN AFP_SERVER_HANDLE hAfpServer,
IN LPWSTR lpwsVolumeName
)
{
DWORD dwRetCode;
if ( !IsAfpVolumeNameValid( lpwsVolumeName ) )
return( ERROR_INVALID_PARAMETER );
RpcTryExcept{
dwRetCode = AfpAdminrVolumeDelete( hAfpServer, lpwsVolumeName );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminVolumeAdd
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrVolumeAdd
//
// Description: This is the DLL entrypoint for AfpAdminVolumeAdd
//
DWORD
AfpAdminVolumeAdd(
IN AFP_SERVER_HANDLE hAfpServer,
IN LPBYTE pbBuffer
)
{
DWORD dwRetCode;
if ( !IsAfpVolumeInfoValid( AFP_VALIDATE_ALL_FIELDS,
(PAFP_VOLUME_INFO)pbBuffer ) )
return( ERROR_INVALID_PARAMETER );
RpcTryExcept{
dwRetCode = AfpAdminrVolumeAdd(hAfpServer, (PAFP_VOLUME_INFO)pbBuffer);
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminInvalidVolumeEnum
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero returns from AdpAdminrInvalidVolumeEnum
//
// Description: This is the DLL entry point for AfpAdminInvalidVolumeEnum.
//
DWORD
AfpAdminInvalidVolumeEnum(
IN AFP_SERVER_HANDLE hAfpServer,
OUT LPBYTE *ppbBuffer,
OUT LPDWORD lpdwEntriesRead
)
{
DWORD dwRetCode;
VOLUME_INFO_CONTAINER InfoStruct;
// Touch all pointers
//
try {
*ppbBuffer = NULL;
*lpdwEntriesRead = 0;
}
except( EXCEPTION_EXECUTE_HANDLER ) {
return( ERROR_INVALID_PARAMETER );
}
InfoStruct.dwEntriesRead = 0;
InfoStruct.pBuffer = NULL;
RpcTryExcept{
dwRetCode = AfpAdminrInvalidVolumeEnum( hAfpServer, &InfoStruct );
if ( InfoStruct.pBuffer != NULL ) {
*ppbBuffer = (LPBYTE)(InfoStruct.pBuffer);
*lpdwEntriesRead = InfoStruct.dwEntriesRead;
}
else
*lpdwEntriesRead = 0;
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminInvalidVolumeDelete
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrInvalidVolumeDelete
//
// Description: This is the DLL entrypoint for AfpAdminInvalidVolumeDelete
//
DWORD
AfpAdminInvalidVolumeDelete(
IN AFP_SERVER_HANDLE hAfpServer,
IN LPWSTR lpwsVolumeName
)
{
DWORD dwRetCode;
if ( !IsAfpVolumeNameValid( lpwsVolumeName ) )
return( ERROR_INVALID_PARAMETER );
RpcTryExcept{
dwRetCode = AfpAdminrInvalidVolumeDelete( hAfpServer, lpwsVolumeName );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminDirectoryGetInfo
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrDirectoryGetInfo
//
// Description: This is the DLL entrypoint for AfpAdminDirectoryGetInfo
//
DWORD
AfpAdminDirectoryGetInfo(
IN AFP_SERVER_HANDLE hAfpServer,
IN LPWSTR lpwsPath,
OUT LPBYTE *ppbBuffer
)
{
DWORD dwRetCode;
// Make sure that all pointers passed in are valid
//
try {
STRLEN( lpwsPath );
*ppbBuffer = NULL;
}
except( EXCEPTION_EXECUTE_HANDLER ) {
return( ERROR_INVALID_PARAMETER );
}
RpcTryExcept{
dwRetCode = AfpAdminrDirectoryGetInfo(hAfpServer,
lpwsPath,
(PAFP_DIRECTORY_INFO*)ppbBuffer);
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminDirectorySetInfo
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrDirectorySetInfo
//
// Description: This is the DLL entrypoint for AfpAdminDirectorySetInfo
//
DWORD
AfpAdminDirectorySetInfo(
IN AFP_SERVER_HANDLE hAfpServer,
IN LPBYTE pbBuffer,
IN DWORD dwParmNum
)
{
DWORD dwRetCode;
if ( dwParmNum == 0 )
return( ERROR_INVALID_PARAMETER );
if ( !IsAfpDirInfoValid( dwParmNum, (PAFP_DIRECTORY_INFO)pbBuffer ) )
return( ERROR_INVALID_PARAMETER );
RpcTryExcept{
dwRetCode = AfpAdminrDirectorySetInfo(hAfpServer,
(PAFP_DIRECTORY_INFO)pbBuffer,
dwParmNum );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminServerGetInfo
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrServerGetInfo
//
// Description: This is the DLL entrypoint for AfpAdminServerGetInfo
//
DWORD
AfpAdminServerGetInfo(
IN AFP_SERVER_HANDLE hAfpServer,
OUT LPBYTE *ppbBuffer
)
{
DWORD dwRetCode;
// Make sure that all pointers passed in are valid
//
try {
*ppbBuffer = NULL;
}
except( EXCEPTION_EXECUTE_HANDLER ) {
return( ERROR_INVALID_PARAMETER );
}
RpcTryExcept{
dwRetCode = AfpAdminrServerGetInfo( hAfpServer,
(PAFP_SERVER_INFO*)ppbBuffer);
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminServerSetInfo
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrServerSetInfo
//
// Description: This is the DLL entrypoint for AfpAdminServerSetInfo
//
DWORD
AfpAdminServerSetInfo(
IN AFP_SERVER_HANDLE hAfpServer,
IN LPBYTE pbBuffer,
IN DWORD dwParmNum
)
{
DWORD dwRetCode;
if ( dwParmNum == 0 )
return( ERROR_INVALID_PARAMETER );
if ( !IsAfpServerInfoValid( dwParmNum, (PAFP_SERVER_INFO)pbBuffer ) )
return( ERROR_INVALID_PARAMETER );
RpcTryExcept{
dwRetCode = AfpAdminrServerSetInfo( hAfpServer,
(PAFP_SERVER_INFO)pbBuffer,
dwParmNum );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminSessionEnum
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrSessionEnum
//
// Description: This is the DLL entry point for AfpAdminSessionEnum.
//
DWORD
AfpAdminSessionEnum(
IN AFP_SERVER_HANDLE hAfpServer,
OUT LPBYTE *ppbBuffer,
IN DWORD dwPrefMaxLen,
OUT LPDWORD lpdwEntriesRead,
OUT LPDWORD lpdwTotalEntries,
IN LPDWORD lpdwResumeHandle
)
{
DWORD dwRetCode;
SESSION_INFO_CONTAINER InfoStruct;
// Touch all pointers
//
try {
*ppbBuffer = NULL;
*lpdwEntriesRead = 0;
*lpdwTotalEntries = 0;
if ( lpdwResumeHandle )
*lpdwResumeHandle;
}
except( EXCEPTION_EXECUTE_HANDLER ) {
return( ERROR_INVALID_PARAMETER );
}
InfoStruct.dwEntriesRead = 0;
InfoStruct.pBuffer = NULL;
RpcTryExcept{
dwRetCode = AfpAdminrSessionEnum( hAfpServer,
&InfoStruct,
dwPrefMaxLen,
lpdwTotalEntries,
lpdwResumeHandle );
if ( InfoStruct.pBuffer != NULL ) {
*ppbBuffer = (LPBYTE)(InfoStruct.pBuffer);
*lpdwEntriesRead = InfoStruct.dwEntriesRead;
}
else
*lpdwEntriesRead = 0;
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminSessionClose
//
// Returns: NO_ERROR - success
// non-zero return codes from AfpAdminrSessionClose
//
// Description: This is the DLL entrypoint for AfpAdminSessionClose
//
DWORD
AfpAdminSessionClose(
IN AFP_SERVER_HANDLE hAfpServer,
IN DWORD dwSessionId
)
{
DWORD dwRetCode;
RpcTryExcept{
dwRetCode = AfpAdminrSessionClose( hAfpServer, dwSessionId );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminConnectionEnum
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrConnectionEnum
//
// Description: This is the DLL entry point for AfpAdminConnectionEnum.
//
DWORD
AfpAdminConnectionEnum(
IN AFP_SERVER_HANDLE hAfpServer,
OUT LPBYTE *ppbBuffer,
IN DWORD dwFilter,
IN DWORD dwId,
IN DWORD dwPrefMaxLen,
OUT LPDWORD lpdwEntriesRead,
OUT LPDWORD lpdwTotalEntries,
IN LPDWORD lpdwResumeHandle
)
{
DWORD dwRetCode;
CONN_INFO_CONTAINER InfoStruct;
switch( dwFilter ){
case AFP_FILTER_ON_VOLUME_ID:
case AFP_FILTER_ON_SESSION_ID:
if ( dwId == 0 )
return( ERROR_INVALID_PARAMETER );
break;
case AFP_NO_FILTER:
break;
default:
return( ERROR_INVALID_PARAMETER );
}
// Touch all pointers
//
try {
*ppbBuffer = NULL;
*lpdwEntriesRead = 0;
*lpdwTotalEntries = 0;
if ( lpdwResumeHandle )
*lpdwResumeHandle;
}
except( EXCEPTION_EXECUTE_HANDLER ) {
return( ERROR_INVALID_PARAMETER );
}
InfoStruct.dwEntriesRead = 0;
InfoStruct.pBuffer = NULL;
RpcTryExcept{
dwRetCode = AfpAdminrConnectionEnum( hAfpServer,
&InfoStruct,
dwFilter,
dwId,
dwPrefMaxLen,
lpdwTotalEntries,
lpdwResumeHandle );
if ( InfoStruct.pBuffer != NULL ) {
*ppbBuffer = (LPBYTE)(InfoStruct.pBuffer);
*lpdwEntriesRead = InfoStruct.dwEntriesRead;
}
else
*lpdwEntriesRead = 0;
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminConnectionClose
//
// Returns: NO_ERROR - success
// non-zero return codes from AfpAdminrConnectionClose
//
// Description: This is the DLL entrypoint for AfpAdminConnectionClose
//
DWORD
AfpAdminConnectionClose(
IN AFP_SERVER_HANDLE hAfpServer,
IN DWORD dwConnectionId
)
{
DWORD dwRetCode;
RpcTryExcept{
dwRetCode = AfpAdminrConnectionClose( hAfpServer, dwConnectionId );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminFileEnum
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrFileEnum
//
// Description: This is the DLL entry point for AfpAdminFileEnum.
//
DWORD
AfpAdminFileEnum(
IN AFP_SERVER_HANDLE hAfpServer,
OUT LPBYTE *ppbBuffer,
IN DWORD dwPrefMaxLen,
OUT LPDWORD lpdwEntriesRead,
OUT LPDWORD lpdwTotalEntries,
IN LPDWORD lpdwResumeHandle
)
{
DWORD dwRetCode;
FILE_INFO_CONTAINER InfoStruct;
// Touch all pointers
//
try {
*ppbBuffer = NULL;
*lpdwEntriesRead = 0;
*lpdwTotalEntries = 0;
if ( lpdwResumeHandle )
*lpdwResumeHandle;
}
except( EXCEPTION_EXECUTE_HANDLER ) {
return( ERROR_INVALID_PARAMETER );
}
InfoStruct.dwEntriesRead = 0;
InfoStruct.pBuffer = NULL;
RpcTryExcept{
dwRetCode = AfpAdminrFileEnum( hAfpServer,
&InfoStruct,
dwPrefMaxLen,
lpdwTotalEntries,
lpdwResumeHandle );
if ( InfoStruct.pBuffer != NULL ) {
*ppbBuffer = (LPBYTE)(InfoStruct.pBuffer);
*lpdwEntriesRead = InfoStruct.dwEntriesRead;
}
else
*lpdwEntriesRead = 0;
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminFileClose
//
// Returns: NO_ERROR - success
// non-zero return codes from AfpAdminrFileClose
//
// Description: This is the DLL entrypoint for AfpAdminFileClose
//
DWORD
AfpAdminFileClose(
IN AFP_SERVER_HANDLE hAfpServer,
IN DWORD dwFileId
)
{
DWORD dwRetCode;
RpcTryExcept{
dwRetCode = AfpAdminrFileClose( hAfpServer, dwFileId );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminETCMapGetInfo
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrETCMapGetInfo
//
// Description: This is the DLL entry point for AfpAdminETCMapGetInfo.
//
DWORD
AfpAdminETCMapGetInfo(
IN AFP_SERVER_HANDLE hAfpServer,
OUT LPBYTE *ppbBuffer
)
{
DWORD dwRetCode;
try {
*ppbBuffer = NULL;
}
except( EXCEPTION_EXECUTE_HANDLER ) {
return( ERROR_INVALID_PARAMETER );
}
RpcTryExcept{
dwRetCode = AfpAdminrETCMapGetInfo( hAfpServer,
(PAFP_ETCMAP_INFO*)ppbBuffer
);
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminETCMapAdd
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrETCMapAdd
//
// Description: This is the DLL entrypoint for AfpAdminETCMapAdd
//
DWORD
AfpAdminETCMapAdd(
IN AFP_SERVER_HANDLE hAfpServer,
IN PAFP_TYPE_CREATOR pAfpTypeCreator
)
{
DWORD dwRetCode;
if ( !IsAfpTypeCreatorValid( pAfpTypeCreator ) )
return( ERROR_INVALID_PARAMETER );
RpcTryExcept{
dwRetCode = AfpAdminrETCMapAdd( hAfpServer, pAfpTypeCreator );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminETCMapDelete
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrETCMapDelete
//
// Description: This is the DLL entrypoint for AfpAdminETCMapDelete
//
DWORD
AfpAdminETCMapDelete(
IN AFP_SERVER_HANDLE hAfpServer,
IN PAFP_TYPE_CREATOR pAfpTypeCreator
)
{
DWORD dwRetCode;
if ( !IsAfpTypeCreatorValid( pAfpTypeCreator ) )
return( ERROR_INVALID_PARAMETER );
RpcTryExcept{
dwRetCode = AfpAdminrETCMapDelete( hAfpServer, pAfpTypeCreator );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminrETCMapSetInfo
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrETCMapSetInfo
//
// Description: This is the DLL entrypoint for AfpAdminETCMapSetInfo
//
DWORD
AfpAdminETCMapSetInfo(
IN AFP_SERVER_HANDLE hAfpServer,
IN PAFP_TYPE_CREATOR pAfpTypeCreator
)
{
DWORD dwRetCode;
if ( !IsAfpTypeCreatorValid( pAfpTypeCreator ) )
return( ERROR_INVALID_PARAMETER );
RpcTryExcept{
dwRetCode = AfpAdminrETCMapSetInfo( hAfpServer, pAfpTypeCreator );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminETCMapAssociate
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrETCMapAssociate
//
// Description: This is the DLL entrypoint for AfpAdminETCMapAssociate
//
DWORD
AfpAdminETCMapAssociate(
IN AFP_SERVER_HANDLE hAfpServer,
IN PAFP_TYPE_CREATOR pAfpTypeCreator,
IN PAFP_EXTENSION pAfpExtension
)
{
DWORD dwRetCode;
if ( !IsAfpTypeCreatorValid( pAfpTypeCreator ) )
return( ERROR_INVALID_PARAMETER );
if ( !IsAfpExtensionValid( pAfpExtension ) )
return( ERROR_INVALID_PARAMETER );
RpcTryExcept{
dwRetCode = AfpAdminrETCMapAssociate( hAfpServer,
pAfpTypeCreator,
pAfpExtension
);
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminStatisticsGet
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrStatisticsGet
//
// Description: This is the DLL entrypoint for AfpAdminStatisticsGet
//
DWORD
AfpAdminStatisticsGet(
IN AFP_SERVER_HANDLE hAfpServer,
OUT LPBYTE *ppbBuffer
)
{
DWORD dwRetCode;
try {
*ppbBuffer = NULL;
}
except( EXCEPTION_EXECUTE_HANDLER ) {
return( ERROR_INVALID_PARAMETER );
}
RpcTryExcept{
dwRetCode = AfpAdminrStatisticsGet( hAfpServer,
(PAFP_STATISTICS_INFO*)ppbBuffer );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminStatisticsGetEx
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrStatisticsGetEx
//
// Description: This is the DLL entrypoint for AfpAdminStatisticsGetEx
//
DWORD
AfpAdminStatisticsGetEx(
IN AFP_SERVER_HANDLE hAfpServer,
OUT LPBYTE *ppbBuffer
)
{
DWORD dwRetCode;
try {
*ppbBuffer = NULL;
}
except( EXCEPTION_EXECUTE_HANDLER ) {
return( ERROR_INVALID_PARAMETER );
}
RpcTryExcept{
dwRetCode = AfpAdminrStatisticsGetEx( hAfpServer,
(PAFP_STATISTICS_INFO_EX *)ppbBuffer );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminStatisticsClear
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrStatisticsClear
//
// Description: This is the DLL entrypoint for AfpAdminStatisticsClear
//
DWORD
AfpAdminStatisticsClear(
IN AFP_SERVER_HANDLE hAfpServer
)
{
DWORD dwRetCode;
RpcTryExcept{
dwRetCode = AfpAdminrStatisticsClear( hAfpServer );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminProfileGet
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrProfileGet
//
// Description: This is the DLL entrypoint for AfpAdminProfileGet
//
DWORD
AfpAdminProfileGet(
IN AFP_SERVER_HANDLE hAfpServer,
OUT LPBYTE *ppbBuffer
)
{
DWORD dwRetCode;
try {
*ppbBuffer = NULL;
}
except( EXCEPTION_EXECUTE_HANDLER ) {
return( ERROR_INVALID_PARAMETER );
}
RpcTryExcept{
dwRetCode = AfpAdminrProfileGet( hAfpServer,
(PAFP_PROFILE_INFO*)ppbBuffer );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminProfileClear
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrProfileClear
//
// Description: This is the DLL entrypoint for AfpAdminProfileClear
//
DWORD
AfpAdminProfileClear(
IN AFP_SERVER_HANDLE hAfpServer
)
{
DWORD dwRetCode;
RpcTryExcept{
dwRetCode = AfpAdminrProfileClear( hAfpServer );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminMessageSend
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrMessageSend
//
// Description: This is the DLL entrypoint for AfpAdminMessageSend
//
DWORD
AfpAdminMessageSend(
IN AFP_SERVER_HANDLE hAfpServer,
IN PAFP_MESSAGE_INFO pAfpMessageInfo
)
{
DWORD dwRetCode;
try {
*pAfpMessageInfo;
}
except( EXCEPTION_EXECUTE_HANDLER ) {
return( ERROR_INVALID_PARAMETER );
}
if ( !IsAfpMsgValid( pAfpMessageInfo->afpmsg_text ) )
return( ERROR_INVALID_PARAMETER );
RpcTryExcept{
dwRetCode = AfpAdminrMessageSend( hAfpServer,
pAfpMessageInfo );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}
//**
//
// Call: AfpAdminFinderSetInfo
//
// Returns: NO_ERROR - success
// ERROR_INVALID_PARAMETER
// non-zero return codes from AfpAdminrFinderSetInfo
//
// Description: This is the DLL entrypoint for AfpAdminFinderSetInfo
//
DWORD
AfpAdminFinderSetInfo(
IN AFP_SERVER_HANDLE hAfpServer,
IN LPWSTR pType,
IN LPWSTR pCreator,
IN LPWSTR pData,
IN LPWSTR pResource,
IN LPWSTR pTarget,
IN DWORD dwParmNum
)
{
DWORD dwRetCode;
if ( !IsAfpFinderInfoValid( pType,
pCreator,
pData,
pResource,
pTarget,
dwParmNum ) )
return( ERROR_INVALID_PARAMETER );
if ( pType == NULL )
pType = (LPWSTR)TEXT("");
if ( pCreator == NULL )
pCreator = (LPWSTR)TEXT("");
if ( pData == NULL )
pData = (LPWSTR)TEXT("");
if ( pResource == NULL )
pResource = (LPWSTR)TEXT("");
RpcTryExcept{
dwRetCode = AfpAdminrFinderSetInfo( hAfpServer,
pType,
pCreator,
pData,
pResource,
pTarget,
dwParmNum );
}
RpcExcept(I_RpcExceptionFilter(RpcExceptionCode())) {
dwRetCode = RpcExceptionCode();
}
RpcEndExcept
return( dwRetCode );
}