atributo local

El [ atributo local ] especifica al compilador MIDL que una interfaz o función no es remota.

[ 
    local 
    [, interface-attribute-list] 
] 
interface interface-name
{
}

[ 
    object, 
    uuid(string-uuid), 
    local [, interface-attribute-list] 
]
interface interface-name
{
}

[ local [, function-attribute-list] ] function-declarator ;

Parámetros

interface-attribute-list

Especifica otros atributos que se aplican a la interfaz en su conjunto. El punto de [ conexión de ] [ ] atributos, la versión y el [ valor predeterminado _ del ] puntero son opcionales. Al compilar con el modificador /app _ config, también puede haber un identificador [ _ implícito o un identificador ] [ _ ] automático. Separe varios atributos con comas.

interface-name

Especifica el nombre por el que los componentes de software pueden delinear la interfaz.

string-uuid

Especifica una cadena UUID generada por la utilidad Uuidgen. Si no usa el modificador del compilador MIDL /osf, puede incluir la cadena UUID entre comillas.

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; el atributo de puntero [ ] [ ref ] , [ unique ] o [ ptr; ] [ ] [ ] [ _ ] y la cadena de atributos de uso , ignore y el identificador de contexto . Separe varios atributos con comas.

function-declarator

Especifica el especificador de tipo, el nombre de función y la lista de parámetros de la función.

Observaciones

El [ atributo local ] se puede aplicar a funciones individuales o a la interfaz en su conjunto.

Cuando se usa en el encabezado de interfaz, el atributo [ local ] permite usar el compilador MIDL como generador de encabezados. El compilador no genera código auxiliar para ninguna función y no garantiza que se pueda transmitir el encabezado.

Para una interfaz RPC, el [ atributo local ] no se puede usar al mismo tiempo que el atributo [ uuid. ] Uuid [ o ] [ local ] deben estar presentes en el encabezado de interfaz y el que elija debe producirse exactamente una vez.

Para una interfaz COM (identificada por el atributo de interfaz de objeto), la lista de atributos de interfaz puede incluir el atributo [ ] [ local ] aunque el [ atributo uuid ] esté presente.

Cuando se usa en una función individual, el atributo [ local ] designa un procedimiento local para el que no se genera ningún código auxiliar. El [ uso de local ] como atributo de función es una extensión de Microsoft para DCE IDL. Por lo tanto, este atributo no está disponible cuando se compila mediante el modificador MIDL /osf.

Tenga en cuenta que una interfaz sin atributos se puede importar en un archivo IDL base. Sin embargo, la interfaz solo debe contener tipos de datos sin procedimientos. Si incluso hay un procedimiento contenido en la interfaz, se debe especificar un atributo uuid o local.

Ejemplos

/* IDL file #1 */ 
[
    local
] 
interface local_procs 
{ 
    void MyLocalProc(void);
} 
 
/* IDL file #2 */ 
[
    object, 
    uuid(12345678-1234-1234-123456789ABC), 
    local
] 
interface local_object_procs : IUnknown
{ 
    void MyLocalObjectProc(void);
} 
 
/* IDL file #3 */ 
[
    uuid(87654321-1234-1234-123456789ABC)
] 
interface mixed_procs 
{ 
    [local] void MyLocalProc(void); 
    HRESULT MyRemoteProc([in] short sParam); 
}

Vea también

/app _ config

identificador _ automático

devolución de llamada

identificador de _ contexto

endpoint

Archivo de definición de interfaz (IDL)

Ignorar

identificador _ implícito

/osf

object

valor _ predeterminado del puntero

Ptr

ref

Cadena

Único

Uuid

version