atributo retval
O atributo [retval] designa o parâmetro que recebe o valor retornado do membro.
return-type function-name(
[out, retval [, optional-attributes]] data-type * param-name,
...);
-
return-type
-
O tipo de dados do valor retornado do procedimento remoto.
-
function-name
-
O nome usado para invocar o procedimento remoto.
-
optional-attributes
-
Zero ou mais atributos MIDL.
-
tipo de dados
-
O tipo dos dados passados pelo parâmetro .
-
param-name
-
O nome do identificador do parâmetro.
Você pode usar o atributo [retval] em parâmetros de membros de interface que descrevem métodos ou obtêm propriedades. (O atributo é necessário no último parâmetro de um método que tem o atributo[propget].) O parâmetro deve ter o atributo [out] e deve ser um tipo de ponteiro.
Não é possível aplicar o atributo [opcional] a um parâmetro [retval] .
O compilador MIDL aceita a seguinte ordenação de parâmetro (da esquerda para a direita):
- Parâmetros obrigatórios (parâmetros que não têm os atributos [defaultvalue] ou [opcional] ).
- Parâmetros opcionais com ou sem o atributo [defaultvalue] .
- Parâmetros com o atributo [opcional] e sem o atributo [defaultvalue] .
- [lcid] parâmetro, se houver.
- Parâmetro [retval] .
Parâmetros com o atributo [retval] não são exibidos em navegadores orientados ao usuário.
IDLFLAG_FRETVAL
HRESULT MyMethod([out, retval] InMyFace** ReturnVal);
HRESULT MyOtherMethod([out, retval] VARIANT_BOOL* ReturnVal);