CALLCONV Enumeração

Definição

Identifica a convenção de chamada usada por um método descrito numa estrutura 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

Name Valor Description
CC_CDECL 1

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

CC_MSCPASCAL 2

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

CC_PASCAL 2

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

CC_MACPASCAL 3

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

CC_STDCALL 4

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

CC_RESERVED 5

Este valor está reservado para utilização futura.

CC_SYSCALL 6

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

CC_MPWCDECL 7

Indica que a convenção de chamadas CDECL do Macintosh Programmers' Workbench (MPW) é usada para um método.

CC_MPWPASCAL 8

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

CC_MAX 9

Indica o fim da CALLCONV enumeração.

Observações

As convenções de chamada nesta classe descrevem como as funções passam argumentos e retornam valores. Especificam a ordem em que os parâmetros são configurados para as funções chamadas, onde os parâmetros são armazenados (em registos 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 utiliza as convenções de nomeação e chamada da linguagem C. O chamador empurra os parâmetros para a pilha em ordem inversa (da direita para a esquerda) e limpa a pilha após o regresso da função. Esta convenção de chamada permite chamar funções com varargs, o que a torna adequada para uso com métodos que aceitam um número variável de parâmetros, como as funções de execução C printf, _printf_l, wprintf, _wprintf_l.

  • CC_PASCAL utiliza a convenção de chamada Pascal. O chamador empurra os parâmetros para a pilha em ordem da esquerda para a direita. A função chamada limpa a pilha antes de regressar.

  • CC_STDCALL é a convenção padrão de chamadas para funções Win32. É a convenção padrão para chamar funções não geridas com platform invoke. O chamador empurra os parâmetros para a pilha em ordem inversa (da direita para a esquerda), e a função chamada limpa a pilha antes de regressar.

  • CC_SYSCALL é semelhante ao CDECL no sentido em que os argumentos são empurrados da direita para a esquerda. Os registos EAX, ECX e EDX não estão preservados.

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

O runtime da linguagem comum lança uma exceção quando um método COM em código nativo devolve um HRESULT. Para mais informações, veja Como: Mapear HRESULTs e Exceções.

Aplica-se a

Ver também