out (atributo)

El atributo out identifica los parámetros de puntero que se devuelven del procedimiento llamado al procedimiento de llamada [ ] (del servidor al cliente).

[ [function-attribute-list] ] type-specifier [pointer-declarator] function-name(
    [ out [ , parameter-attribute-list ] ] type-specifier [declarator]
    , ...
);

Parámetros

function-attribute-list

Especifica cero o más atributos que se aplican a la función. Los atributos de función válidos son la devolución de llamada , local; el atributo de puntero [ ] [ ] [ ref ] , [ unique ] o [ ptr; ] [ ] [ ] [ _ ] y la cadena de atributos de uso , ignore y el identificador de contexto .

type-specifier

Especifica un tipo base , struct, unióno tipo de enumeración o identificador de tipo. _ Una especificación de almacenamiento opcional puede preceder al especificador de tipo.

pointer-declarator

Especifica cero o más declaradores de puntero. Un declarador de puntero es el mismo que el declarador de puntero usado en C; se construye a partir del * designador, modificadores como , y el calificador const.

function-name

Especifica el nombre del procedimiento remoto.

parameter-attribute-list

Especifica cero o más atributos adecuados para un tipo de parámetro especificado. Los atributos de parámetro con el atributo out también pueden quitar el atributo direccional; los atributos de campo primero son , el último es , [ ] length [ ] [ _es ] , [ _max ] [ _ ] [ _ ] [ _ ] [ _ ] [ ] [ ] [ ] [ _ ] [ ] es , size es y switch type ; el atributo de puntero ref , unique o ptr ; y el identificador de contexto de los atributos de uso y la cadena . El atributo usage [ ignore no ] se puede usar como atributo de parámetro. Separe varios atributos con comas.

declarador

Especifica los declaradores estándar, como identificadores, declaradores de puntero y declaradores de matriz. Para obtener más información, vea Array and Sized-Pointer Attributes, arrays, and Arrays and Pointers. El declarador de parámetros del declarador de función, como el nombre del parámetro, es opcional.

Observaciones

El atributo out indica que un parámetro que actúa como puntero y sus datos asociados en la memoria se van a devolver desde el procedimiento llamado al [ ] procedimiento que realiza la llamada.

El [ atributo out ] debe ser un puntero. Los compiladores IDL de DCE requieren la presencia de un declarador explícito como * puntero en la declaración de parámetro. Microsoft IDL ofrece una extensión que elimina este requisito y permite una matriz o un tipo de puntero definido previamente.

Un atributo relacionado, en , indica que el parámetro se pasa desde el procedimiento que realiza la llamada [ ] al procedimiento llamado. Los [ atributos de ] entrada [ y salida especifican la dirección ] en la que se pasan los parámetros. Un parámetro se puede definir como [ en ] -only, [ out ] -only o [ en, out ] .

Se supone que un parámetro out -only no está definido cuando se llama al procedimiento remoto y el servidor asigna memoria [ ] para el objeto. Puesto que el puntero o los parámetros de nivel superior siempre deben apuntar a un almacenamiento válido y, por lo tanto, no pueden ser NULL, out no se puede aplicar a [ ] [ ] [ punteros ptr o ] únicos de nivel superior. Los parámetros que [ son ] [ punteros únicos o ptr ] deben estar [ en ] o [ en parámetros ] out.

Ejemplos

HRESULT MyFunction([out] short * pcount);

Vea también

Matrices

Tipos base midl

devolución de llamada

const

identificador de _ contexto

Enum

en primer _ lugar es

Ignorar

En

el _ último es

length _ es

Local

max _ is

Ptr

ref

el _ tamaño es

Cadena

Estructura

tipo _ de conmutador

union

Único