Imprive code of GetIconDescriptor