[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | DECmcc user notes file. Does not replace IPMT. |
Notice: | Use IPMT for problems. Newsletter location in note 6187 |
Moderator: | TAEC::BEROUD |
|
Created: | Mon Aug 21 1989 |
Last Modified: | Wed Jun 04 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 6497 |
Total number of notes: | 27359 |
815.0. "Can Register, Can't Deregister, Erase, Rename" by HLDG00::GOES () Wed Mar 20 1991 08:25
Here we are with a new problem.
With our home made Access Module we can register entities but we can't
Deregister, Erase or Rename them.
In our development of the Access Module we followed the rules for
minimal support for the Registration FM as described in the MM Programming
Manual:
We included the Reference attributes and the DIRECTORY, REGISTER, DEREGISTER,
RENAME, ERASE, SET and SHOW directives in our MSL.
We also provided the Access Module with an entry point for SHOW all IDENT.
This entry point takes the entity instance from the call_args by using the
MCC-routine MCC_AES_GET and returns the instance as identifier by 'putting' the
resulting descriptor in the ILV list by using the MCC_ILV_PUT routine.
An Example of an MCC-session that shows our problems:
$ Manage /Enterprise
MCC> Register WRIGHT 3
WRIGHT 3
AT 20-MAR-1991 13:51:41
Registration Successful
MCC> Register WRIGHT 3
WRIGHT 3
AT 20-MAR-1991 13:52:12
The requested operation cannot be completed
Entity Existence Info = Entity Exists
MCC> Deregister WRIGHT 3
WRIGHT 3
AT 20-MAR-1991 13:52:30
The requested operation cannot be completed
MCC Routine Error = %MCC-E-INV_DNSIDENT, specified
identifier attribute is not valid for
instance lookup
The response with the second Register directive shows (as far as we can see)
that the entity is registered in DNS.
This seems to be true when we activate dns$control: The object 1 is indeed
present in the root directory (.).
Another aspect is that a Directory directive shows the registered WRIGHT
instances and a SHOW WRIGHT * ALL REF shows the reference information of the
registered WRIGHT instances. But we still can not Deregister instances in a way
other than dns$control delete obj .1 (and that's not what we want).
Can somebody out there give us some information about these problem.
Explanation of the error message ?
Source of our problem ?
Eventually a solution to our problem ?
For completeness we supply a part of our MCC_WRIGHT_SHOW__IDENT.c routine:
(Our identifier part consists of 1 identifier attribute:
Port Name Point Number of type Simple Name)
{
unsigned long int status = MCC_S_NORMAL;
struct MCC_R_ILV_CONTEXT ctx;
unsigned long mode = MCC_K_ILV_LIST_VALUE; /* mode of operation */
unsigned long int aes_level = 0;
unsigned long int type;
MCC_T_IDCode class;
MCC_T_Descriptor entity_descriptor;
char entity_instance[255];
/* determine identifier from arguments passed in mcc_call */
entity_descriptor.mcc_w_maxstrlen = 254;
entity_descriptor.mcc_b_dtype = DSC_K_DTYPE_T;
entity_descriptor.mcc_b_class = DSC_K_CLASS_S;
entity_descriptor.mcc_a_pointer = &entity_instance[0];
entity_descriptor.mcc_w_curlen = 0;
entity_descriptor.mcc_b_flags = 0;
entity_descriptor.mcc_b_ver = 1;
entity_descriptor.mcc_a_link = MCC_K_NULL_PTR;
entity_descriptor.mcc_l_id = MCC_K_CLASS_WRIGHT;
entity_descriptor.mcc_l_dt = MCC_K_DT_SIMPLE_NAME;
status = mcc_aes_get( &p_callargs->p_in_entity,
&aes_level,
&class,
&entity_descriptor,
&type);
/* create a descriptor for the reply out */
if(status == MCC_S_NORMAL)
status = mcc_desframe_create_descriptor(
&(*p_context)->alloc_mem_list, /* Memory Allocation List */
&(*p_context)->ReplyArg_p1, /* Descriptor Pointer */
/* From Context block */
&128, /* Length */
&MCC_K_DT_ILV, /* Datatype */
0, /* Initial Value */
0, /* Id */
0); /* VMS datatype */
/* Begin building Reply-Output */
if(status == MCC_S_NORMAL)
status = mcc_ilv_put_param_begin(&ctx, (*p_context)->ReplyArg_p1);
/* Begin Constructor, Id = Reply-Argument Id Value */
if(status == MCC_S_NORMAL)
status = mcc_ilv_put_cons_begin(&ctx, &MCC_K_ARG_SHOW_VALUES,
MCC_K_NULL_PTR, MCC_K_NULL_PTR, &mode);
/* List-Put the Component Id into the Reply-Output */
if(status == MCC_S_NORMAL &&
*p_callargs->p_attribute == MCC_K_ATTR_PRT_IDENTIFIER)
status = mcc_ilv_put(&ctx, &entity_descriptor, &0);
etcetera , etcetera .......
T.R | Title | User | Personal Name | Date | Lines |
---|
815.1 | Look at 585.* and 653.* | SIEVAX::TMJ | The meek won't want it | Wed Mar 20 1991 09:55 | 0
|