diff -r 51a74ef9ed63 -r ae94777fff8f Symbian3/SDK/Source/GUID-39186342-960A-46A4-BC35-851F53665FA8.dita --- a/Symbian3/SDK/Source/GUID-39186342-960A-46A4-BC35-851F53665FA8.dita Wed Mar 31 11:11:55 2010 +0100 +++ b/Symbian3/SDK/Source/GUID-39186342-960A-46A4-BC35-851F53665FA8.dita Fri Jun 11 12:39:03 2010 +0100 @@ -1,112 +1,112 @@ - - - - - -Writing -the Version 3 Registration Resource FileThe version 3 registration resource file is an evolution of the -version 2 . This version is evolved to accommodate extended interfaces. - -Set Info_format -to the type of info record that is, IMPLEMENTATION_INFO or BINARY_IMPLEMENTATION_INFO. - - -default_data: -The data identifier field used by the resolver to determine if the implementation -matches a client request. -

In IMPLEMENTATION_INFO structure, the data type -is changed to accommodate maximum 2 strings with 255 bytes each.

In BINARY_IMPLEMENTATION_INFO, -the data type is changed to accommodate a maximum 512 bytes.

-
-opaque_data: -A binary data field that can contain additional data. This additional data -can be used by the custom resolvers. -

In IMPLEMENTATION_INFO structure, the data type -is changed to accommodate maximum 2 strings with 255 bytes each.

In BINARY_IMPLEMENTATION_INFO structure, -the data type is changed to accommodate a maximum 512 bytes.

-
-extended_interfaces a -maximum 8 UID's extended interfaces for both IMPLEMENTATION_INFO structure -and BINARY_IMPLEMENTATION_INFO structure. - -FLAG_ROM_ONLY changed -from bool data type to bit flag. -

rom_only set to 1 indicates the ROM-only implementation -must be used.

rom_only set to 0 indicates the ROM-only -implementation can be overidden.

-
-In REGISTRY_INFO structure, -the resource_format_version must be RESOURCE_FORMAT_VERSION_3 . - - -In INTERFACE_INFOstructure, -the interface_uid is renamed to instantiation_interface_uid. - -In REGISTRY_INFO structure, -the resource_format_version must be RESOURCE_FORMAT_VERSION_3. - - -
-#define IMPLEMENTATION_INFO_RECORD_TYPE1 1 -STRUCT IMPLEMENTATION_INFO - { - BYTE info_format; // = IMPLEMENTATION_INFO_RECORD_TYPE1 - LONG implementation_uid; - BYTE version_no; - LTEXT display_name; - LEN BYTE LTEXT8 default_data[]; // maximum 2 strings with 255 bytes each - LEN BYTE LTEXT8 opaque_data[]; // maximum 2 strings with 255 bytes each - LONG extended_interfaces[]; // maximum 8 extended interfaces - BYTE flags; - } - -#define IMPLEMENTATION_INFO_RECORD_TYPE2 2 -STRUCT BINARY_IMPLEMENTATION_INFO - { - BYTE info_format; // = IMPLEMENTATION_INFO_RECORD_TYPE2 - LONG implementation_uid; - BYTE version_no; - LTEXT display_name; - BYTE default_data[]; // maximum 512 bytes - BYTE opaque_data[]; // maximum 512 bytes - LONG extended_interfaces[]; // maximum 8 extended interfaces - BYTE flags; - } - -STRUCT INTERFACE_INFO - { - LONG instantiation_interface_uid; - STRUCT implementations[]; // maximum 8 implementations for each interface - } - -STRUCT REGISTRY_INFO - { - LONG resource_format_version; // Use RESOURCE_FORMAT_VERSION_3 - LONG dll_uid; - STRUCT interfaces[]; // maximum 4 interfaces - } -

    -
  • Maximum of fourINTERFACE_INFO structures can be defined -in one resource file.

  • -
  • Maximum of eight IMPLEMENTATION_INFO or BINARY_IMPLEMENTATION_INFO structures -in each INTERFACE_INFO . Totally eight structures can be -defined.

  • -
  • Maximum eight extended interfaces in each IMPLEMENTATION_INFO record.

  • -
  • In a IMPLEMENTATION_INFO record a maximum of two strings -with 255 bytes each can be used for default_data oropaque_data definitions.

  • -
  • In a BINARY_IMPLEMENTATION_INFO record, a maximum -of 512 bytes each for default_data or opaque_data definitions. -

  • -

-
-Writing a -Standard Registration Resource File -Writing the -Version 2 Registration Resource File + + + + + +Writing +the Version 3 Registration Resource FileThe version 3 registration resource file is an evolution of the +version 2 . This version is evolved to accommodate extended interfaces. + +Set Info_format +to the type of info record that is, IMPLEMENTATION_INFO or BINARY_IMPLEMENTATION_INFO. + + +default_data: +The data identifier field used by the resolver to determine if the implementation +matches a client request. +

In IMPLEMENTATION_INFO structure, the data type +is changed to accommodate maximum 2 strings with 255 bytes each.

In BINARY_IMPLEMENTATION_INFO, +the data type is changed to accommodate a maximum 512 bytes.

+
+opaque_data: +A binary data field that can contain additional data. This additional data +can be used by the custom resolvers. +

In IMPLEMENTATION_INFO structure, the data type +is changed to accommodate maximum 2 strings with 255 bytes each.

In BINARY_IMPLEMENTATION_INFO structure, +the data type is changed to accommodate a maximum 512 bytes.

+
+extended_interfaces a +maximum 8 UID's extended interfaces for both IMPLEMENTATION_INFO structure +and BINARY_IMPLEMENTATION_INFO structure. + +FLAG_ROM_ONLY changed +from bool data type to bit flag. +

rom_only set to 1 indicates the ROM-only implementation +must be used.

rom_only set to 0 indicates the ROM-only +implementation can be overidden.

+
+In REGISTRY_INFO structure, +the resource_format_version must be RESOURCE_FORMAT_VERSION_3 . + + +In INTERFACE_INFOstructure, +the interface_uid is renamed to instantiation_interface_uid. + +In REGISTRY_INFO structure, +the resource_format_version must be RESOURCE_FORMAT_VERSION_3. + + +
+#define IMPLEMENTATION_INFO_RECORD_TYPE1 1 +STRUCT IMPLEMENTATION_INFO + { + BYTE info_format; // = IMPLEMENTATION_INFO_RECORD_TYPE1 + LONG implementation_uid; + BYTE version_no; + LTEXT display_name; + LEN BYTE LTEXT8 default_data[]; // maximum 2 strings with 255 bytes each + LEN BYTE LTEXT8 opaque_data[]; // maximum 2 strings with 255 bytes each + LONG extended_interfaces[]; // maximum 8 extended interfaces + BYTE flags; + } + +#define IMPLEMENTATION_INFO_RECORD_TYPE2 2 +STRUCT BINARY_IMPLEMENTATION_INFO + { + BYTE info_format; // = IMPLEMENTATION_INFO_RECORD_TYPE2 + LONG implementation_uid; + BYTE version_no; + LTEXT display_name; + BYTE default_data[]; // maximum 512 bytes + BYTE opaque_data[]; // maximum 512 bytes + LONG extended_interfaces[]; // maximum 8 extended interfaces + BYTE flags; + } + +STRUCT INTERFACE_INFO + { + LONG instantiation_interface_uid; + STRUCT implementations[]; // maximum 8 implementations for each interface + } + +STRUCT REGISTRY_INFO + { + LONG resource_format_version; // Use RESOURCE_FORMAT_VERSION_3 + LONG dll_uid; + STRUCT interfaces[]; // maximum 4 interfaces + } +

    +
  • Maximum of fourINTERFACE_INFO structures can be defined +in one resource file.

  • +
  • Maximum of eight IMPLEMENTATION_INFO or BINARY_IMPLEMENTATION_INFO structures +in each INTERFACE_INFO . Totally eight structures can be +defined.

  • +
  • Maximum eight extended interfaces in each IMPLEMENTATION_INFO record.

  • +
  • In a IMPLEMENTATION_INFO record a maximum of two strings +with 255 bytes each can be used for default_data oropaque_data definitions.

  • +
  • In a BINARY_IMPLEMENTATION_INFO record, a maximum +of 512 bytes each for default_data or opaque_data definitions. +

  • +

+
+Writing a +Standard Registration Resource File +Writing the +Version 2 Registration Resource File
\ No newline at end of file