CALLCONV Enumeração

Definição

Identifica a convenção de chamada usada por um método descrito em uma estrutura de METHODDATA.

public enum class CALLCONV
public enum CALLCONV
[System.Serializable]
public enum CALLCONV
type CALLCONV = 
[<System.Serializable>]
type CALLCONV = 
Public Enum CALLCONV
Herança
CALLCONV
Atributos

Campos

CC_CDECL 1

Indica que a convenção de chamada CDECL (declaração C) é usada para um método.

CC_MACPASCAL 3

Indica que a convenção de chamada MACPASCAL (Macintosh Pascal) é usada para um método.

CC_MAX 9

Indica o fim da enumeração CALLCONV.

CC_MPWCDECL 7

Indica que a convenção de chamada CDECL MPW (Workbench de programadores Macintosh) é usada para um método.

CC_MPWPASCAL 8

Indica que a convenção de chamada PASCAL MPW (Workbench de programadores Macintosh) é usada para um método.

CC_MSCPASCAL 2

Indica que a convenção de chamada MSCPASCAL (MSC Pascal) é usada para um método.

CC_PASCAL 2

Indica que a convenção de chamada Pascal é usada para um método.

CC_RESERVED 5

Este valor está reservado para uso futuro.

CC_STDCALL 4

Indica que a convenção de chamada STDCALL (Padrão) é usada para um método.

CC_SYSCALL 6

Indica que a convenção de chamada SYSCALL padrão é usada para um método.

Comentários

As convenções de chamada nessa classe descrevem como as funções passam argumentos e valores retornados. Eles especificam a ordem na qual os parâmetros são configurados para as funções chamadas, em que os parâmetros são armazenados (em registros ou na memória) e quem (chamador ou função chamada) é responsável por limpar a pilha após o retorno da função. Por exemplo:

  • CC_CDECL usa as convenções de nomenclatura e chamada da linguagem C. O chamador envia os parâmetros por push para a pilha na ordem inversa (da direita para a esquerda) e limpa a pilha após o retorno da função. Essa convenção de chamada permite que você chame funções com varargs, o que o torna apropriado para uso com métodos que aceitam um número variável de parâmetros, como as funções de tempo de execução C printf, _printf_l, wprintf _wprintf_l.

  • CC_PASCAL usa a convenção de chamada Pascal. O chamador envia os parâmetros para a pilha na ordem da esquerda para a direita. A função chamada limpa a pilha antes de retornar.

  • CC_STDCALL é a convenção de chamada padrão para funções Win32. É a convenção padrão para chamar funções não gerenciadas com invocação de plataforma. O chamador envia os parâmetros para a pilha na ordem inversa (da direita para a esquerda) e a função chamada limpa a pilha antes de retornar.

  • CC_SYSCALL é semelhante à CDECL, pois os argumentos são enviados da direita para a esquerda. Os registros EAX, ECX e EDX não são preservados.

Esses identificadores de convenção de chamada são usados pelo .NET Framework, pela plataforma Windows Embedded CE e pela Automação.

O Common Language Runtime gera uma exceção quando um método COM no código nativo retorna um HRESULT. Para obter mais informações, consulte Como mapear HRESULTs e exceções.

Aplica-se a

Confira também