Compartir a través de


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. Los atributos [endpoint], [version]y [pointer_default] son opcionales. Al compilar con el modificador /app_config, también puede estar presente [implicit_handle] o [auto_handle]. 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 [devolución de llamada]; el atributo de puntero [ref], [unique], o [ptr]; y los atributos de uso [string], [ignore]y [context_handle]. 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ódigos auxiliares para ninguna función y no garantiza que el encabezado se pueda transmitir.

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 [object], 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 /osf MIDL.

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 un procedimiento está 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

auto_handle

devolución de llamada

context_handle

Extremo

Archivo de definición de interfaz (IDL)

Ignorar

implicit_handle

/Osf

object

pointer_default

Ptr

Ref

Cadena

Único

uuid

Versión