
//-------------------------------------------------------------------------
//
// File:        message.hxx
//
// Contents:    This has all the defines for the various messages that can
//              be generated by the Klass code. It also has a MACRO which will
//              be expanded in the future to do event logging stuff.
//
// History:     02-20-93        SudK    Created.
//
//-------------------------------------------------------------------------


#define DFS_INVALID_SERVICE_NAME_MSG                    0
#define DFS_VOLUME_OBJECT_CORRUPT_MSG                   1
#define DFS_RECOVERY_FAILURE_MSG                        2
#define DFS_INVALID_ARGUMENT_MSG                        3
#define DFS_FAILED_UPDATE_PKT_MSG                       4
#define DFS_SERVICE_DOES_NOT_EXIST_MSG                  5
#define DFS_CANT_GET_PARENT_MSG                         6
#define DFS_CANT_CREATE_CHILD_MSG                       7
#define DFS_CANT_CREATE_ANY_EXIT_POINT_MSG              8
#define DFS_CANT_GET_TO_CHILD_IDFSVOL_MSG               9
#define DFS_RECOVERY_NECESSARY_MSG                      10
#define DFS_UNABLE_TO_CREATE_SUBORDINATE_ENTRY_MSG      11
#define DFS_CANNOT_SET_SERVICE_PROPERTY_MSG             12
#define DFS_CANNOT_DELETE_SERVICE_PROPERTY_MSG          13
#define DFS_DELETE_VOLUME_FAILED_MSG                    14
#define DFS_RECOVERED_FROM_CREATION_MSG                 15
#define DFS_RECOVERED_FROM_ADDSERVICE_MSG               16
#define DFS_RECOVERED_FROM_REMOVESERVICE_MSG            17
#define DFS_RECOVERED_FROM_DELETE_MSG                   18
#define DFS_RECOVERED_FROM_MOVE_MSG                     19
#define DFS_RECOVERY_FROM_REMOVE_SERVICE_FAILED_MSG     20
#define DFS_UNKNOWN_RECOVERY_STATE_MSG                  21
#define DFS_CANT_DELETE_ENTRY_MSG                       22
#define DFS_CAUGHT_EXCEPTION_MSG                        23
#define DFS_SERVICE_ALREADY_EXISTS_MSG                  24
#define DFS_CANT_CREATE_SUBORDINATE_ENTRY_MSG           25
#define DFS_CANT_DELETE_EXIT_POINT_MSG                  26
#define DFS_CANT_CREATE_LOCAL_VOLUME_MSG                27
#define DFS_UNRECOGNISED_RECOVERY_CODE_MSG              28
#define DFS_INCONSISTENT_RECOVERY_ARGS_MSG              29
#define DFS_MODIFY_PREFIX_FAILED_MSG                    30
#define DFS_CANT_VERIFY_SERVER_KNOWLEDGE_MSG            31
#define DFS_CANT_SYNC_SERVER_MSG                        32
#define DFS_PREFIX_SIMULTANEOUSLY_MODIFIED_MSG          33
#define DFS_STATE_SIMULTANEOUSLY_MODIFIED_MSG           34
#define DFS_COMMENT_SIMULTANEOUSLY_MODIFIED_MSG         35
#define DFS_ENTRY_PATH_RECONCILE_FAILED_MSG             36
#define DFS_ENTRY_PATH_RECONCILE_BAD_PARENT_MSG         37
#define DFS_UNABLE_TO_SAVE_RECONCILIATIONS_MSG          38
#define DFS_SERVICE_NOT_NOTIFIED_OF_STATE_CHANGE_MSG    39


#if 0
PWCHAR  DfsErrString[] =
    {
        L"ServiceObject seems to be Bad : ",
        L"Volume Object seems to be Bad : ",
        L"Recovery on this Volume object failed : ",
        L"Invalid Argument was passed in. Call Rejected. ",
        L"Failed to update Pkt. This should not have happened at all.",
        L"Service Does not exist in Service List. ",
        L"Cant get to the Parent volume object. ",
        L"Cant create child volume object. ",
        L"Cant create any exit point at any of the services. ",
        L"Unable to get to one of the children of: ",
        L"Attempting recovery on this volume: ",
        L"Unable to create subordinate entry: ",
        L"Unable to set this service property: ",
        L"Unable to delete this service property: ",
        L"Unable to delete the local volume: ",
        L"Recovered From Creation of this volume: ",
        L"Recovered From AddService to this volume: ",
        L"Recovered From RemoveService to this volume: ",
        L"Recovered From Deletion of this volume: ",
        L"Recovered From Move of this volume: ",
        L"Unable to recover from a RemoveService operation :",
        L"Unknown recovery state message on this volume: ",
        L"Unable to delete PKT Entry: ",
        L"Caught an exception. Operation and VolumeIdentity below:",
        L"Following Service Already exists and adding was attempted: ",
        L"Cannot Create Subordinate Entry for this volume: ",
        L"Cannot Delete Exit Point at this Service: ",
        L"Failed to Do CreateLocalVolume on this Service: ",
        L"Random Recovery Code was found on this Object: ",
        L"Inconsistent recovery args found on this object: ",
        L"ModifyPrefix to on service failed. Args Follow: ",
        L"Unable to verify server's knowledge for: ",
        L"Unable to force-sync server: ",
        L"Volume name simultaneously modified! Unable to reconcile ",
        L"Volume state simultaneously modified! Unable to reconcile ",
        L"Volume comment simultaneously modified! Unable to reconcile ",
        L"Error reconciling volume prefix change: ",
        L"Error reconciling volume prefix change - invalid parent: ",
        L"Unable to save reconciliation changes for volume: ",
        L"Unable to change Volume state at: "

    };
#endif

#if DBG == 1
#define LogMessage(Severity, pwcstrs, count, errnum) \
        LogMessageFull(Severity, pwcstrs, count, errnum) 
#else
#define LogMessage(Severity, pwcstrs, count, errnum)
#endif
VOID
LogMessageFull( 
   DWORD Severity, 
   PWCHAR pwcstrs[],
   DWORD  count, 
   DWORD  ErrNum);


extern PWCHAR   *nullPtr;
extern PWCHAR   DfsErrString[];
