Udostępnij za pośrednictwem


ICEM06

ICEM06 sprawdza nieprawidłowe bezpośrednie odwołania do funkcji przez moduł.

Pliki ICE modułu scalania są przechowywane w pliku cub modułu scalania o nazwie Mergemod.cub, a nie w pliku cub zawierającym ICE używane do weryfikacji pakietu.

Wynik

ICEM06 publikuje błąd, gdy baza danych modułu zawiera bezpośrednie odwołania do funkcji. Informacje o funkcji muszą być udostępniane przez użytkownika modułu.

Przykład

ICEM06 publikuje następujące komunikaty o błędach dla modułu zawierającego wpisy bazy danych pokazane poniżej.

The target of shortcut Shortcut1.GUID1 is not a property and not a null GUID. 
Modules may not directly reference features.
The row GUID2.LocalServer32.Component2 in the Class table has a feature reference 
that is not a null GUID. Modules may not directly reference features.

tabeli skrótów (częściowe)

Skrót Cel
Skrót1.GUID1 cmd.exe
Skrót2.GUID1 [MyProp]
Skrót3.GUID1 {00000000-0000-0000-0000-000000000000}

 

Tabela klas (częściowa)

CLSID Kontekst Składnik_ Cecha_
GUID1 LocalServer32 Składnik1 {00000000-0000-0000-0000-000000000000}
GUID2 LocalServer32 Składnik2 MyFeature

 

ICEM06 zgłasza pierwszy błąd, ponieważ pierwszy rekord w tabeli Shortcut zawiera wpis w polu Target, który nie jest właściwością lub identyfikatorem GUID o wartości null. Moduł nie może odwoływać się bezpośrednio do funkcji. Informacje o funkcji muszą być udostępniane przez użytkownika modułu. Aby naprawić ten błąd, odwołania do funkcji powinny zostać zastąpione przez identyfikator GUID o wartości null.

ICEM06 zgłasza drugi błąd, ponieważ drugi rekord w tabeli Class (Klasa) zawiera wpis w polu Funkcja, który nie jest identyfikatorem GUID o wartości null. Moduł nie może odwoływać się bezpośrednio do funkcji. Informacje o funkcji muszą być udostępniane przez użytkownika modułu. Aby naprawić ten błąd, odwołania do funkcji powinny zostać zastąpione przez identyfikator GUID o wartości null.

scalanie modułu ICE — dokumentacja