Zwracane wartości funkcji
Wartości zwracane przez funkcję są podobne do [out]parametrów — tylko dlatego, że ich dane nie są dostarczane przez aplikację klienczą. Są one jednak zarządzane inaczej. W przeciwieństwie do parametrów [out]-only, nie są one wymagane do wskazania. Procedura zdalna może zwracać dowolny prawidłowy typ danych, z wyjątkiem wskaźników referencyjnych i związków nie hermetyzowanych.
Zaleca się jednak użycie parametru [out] zamiast wartości zwracanej dla złożonych typów danych. Podczas zwracania złożonych typów danych kompilator MIDL wygeneruje wycinkę trybu /Os. W związku z tym wszystkie ostatnie informacje dotyczące sprawdzania błędów dostarczone przez /robust zostaną utracone.
Zwracane wartości funkcji, które są typami wskaźników, są przydzielane przez wycinkę klienta z wywołaniem midl_user_allocate. W związku z tym do typu zwracanego wskaźnika można zastosować tylko unikatowy lub pełny atrybut wskaźnika.