/*
 * Copyright(C) 2000 Проект ИОК
 *
 * Этот файл содержит информацию, являющуюся
 * собственностью компании Крипто Про.
 *
 * Любая часть этого файла не может быть скопирована,
 * исправлена, переведена на другие языки,
 * локализована или модифицирована любым способом,
 * откомпилирована, передана по сети с или на
 * любую компьютерную систему без предварительного
 * заключения соглашения с компанией Крипто Про.
 */


#include "fat12prj.h" /* Project (READER/FAT12) include.
    Мастер include файл для проекта (READER/FAT12). */

DWORD fat12_aux_call(
    TSupSysContext *context, 
    TSupSysInfo *info )
{
    TSupSysInfoCall *inf = (TSupSysInfoCall*)info;
    DWORD code;
#if defined _WIN32
    unsigned int last_error_mode;
#endif /* _WIN32 */

    SUPSYS_PRE_INFO( info, TSupSysInfoCall );
    if( inf->fun == NULL )
	return (DWORD)ERROR_NOT_SUPPORTED;
#if defined _WIN32
    last_error_mode = SetErrorMode( SEM_NOOPENFILEERRORBOX | SEM_FAILCRITICALERRORS );
    if( last_error_mode & ~( SEM_NOOPENFILEERRORBOX | SEM_FAILCRITICALERRORS ) )
	SetErrorMode( last_error_mode | SEM_NOOPENFILEERRORBOX | SEM_FAILCRITICALERRORS );
#endif /* _WIN32 */
    code = inf->fun( context, inf->info );
#if defined _WIN32
    SetErrorMode( last_error_mode );
#endif /* _WIN32 */
    return code;
}
