//======================================================================== // Copyright (C) 1997 Microsoft Corporation //======================================================================== #ifndef _MM_OPTDEFL_H_ #define _MM_OPTDEFL_H_ #include typedef struct _M_OPTDEF { DWORD OptId; DWORD Type; LPWSTR OptName; LPWSTR OptComment; LPBYTE OptVal; DWORD OptValLen; ULONG UniqId; } M_OPTDEF, *PM_OPTDEF, *LPM_OPTDEF; typedef struct _M_OPTDEFLIST { ARRAY OptDefArray; } M_OPTDEFLIST, *PM_OPTDEFLIST, *LPM_OPTDEFLIST; DWORD _inline MemOptDefListInit( IN OUT PM_OPTDEFLIST OptDefList ) { AssertRet(OptDefList, ERROR_INVALID_PARAMETER); return MemArrayInit(&OptDefList->OptDefArray); } DWORD _inline MemOptDefListCleanup( IN OUT PM_OPTDEFLIST OptDefList ) { return MemArrayCleanup(&OptDefList->OptDefArray); } DWORD MemOptDefListFindOptDefInternal( // Dont use this function out of optdefl.c IN PM_OPTDEFLIST OptDefList, IN DWORD OptId, IN LPWSTR OptName, // either OptId or OptName need only be specified.. OUT PARRAY_LOCATION Location ) ; DWORD _inline MemOptDefListFindOptDef( IN PM_OPTDEFLIST OptDefList, IN DWORD OptId, IN LPWSTR OptName, // only either the name or the option id need be given.. OUT PM_OPTDEF *OptDef ) { ARRAY_LOCATION Location; DWORD Error; Error = MemOptDefListFindOptDefInternal( OptDefList, OptId, OptName, &Location ); if( ERROR_SUCCESS != Error ) return Error; return MemArrayGetElement( &OptDefList->OptDefArray, &Location, (LPVOID *)OptDef ); } DWORD MemOptDefListAddOptDef( // Add or replace an option defintion for given Option Id IN OUT PM_OPTDEFLIST OptDefList, IN DWORD OptId, IN DWORD Type, IN LPWSTR OptName, IN LPWSTR OptComment, IN LPBYTE OptVal, IN DWORD OptValLen, IN ULONG UniqId ) ; DWORD MemOptDefListDelOptDef( IN OUT PM_OPTDEFLIST OptDefList, IN DWORD OptId ); #endif // _MM_OPTDEFL_H_ //======================================================================== // end of file //========================================================================