Cadeias de caracteres de formato
Uma cadeia de caracteres de formato é um token interpretado que o mecanismo NDR entende. As cadeias de caracteres de formato geralmente são conhecidas como MOPs; esta documentação usa a cadeia de caracteres de formato de termo por toda parte.
Para ser mais preciso, um caractere de formato é um token interpretável individual (atômico). Cada caractere de formato tem um byte de tamanho. Uma cadeia de caracteres de formato é uma sequência de caracteres de formato ou caracteres de formato e dados numéricos. O termo descritor também é usado para nomear sequências comuns; por exemplo, uma cadeia de caracteres de formato de parâmetro ou um descritor de parâmetro é uma cadeia de caracteres de formato usada para descrever um parâmetro de uma rotina.
Os caracteres de formato têm nomes simbólicos sugestivos, como FC_LONG ou FC_STRUCT. Todos os caracteres de cadeia de caracteres de formato usados por MIDL e o mecanismo NDR são definidos no arquivo Ndrtypes.h.
Formatar tabelas de cadeia de caracteres
Duas tabelas de cadeia de caracteres de formato primário são usadas pelo mecanismo: a tabela de cadeia de caracteres de formato de procedimento, __MIDL_ProcFormatString, que mantém os descritores do procedimento; e a tabela de cadeia de caracteres de formato de tipo, __MIDL_TypeFormatString, que mantém os descritores de tipo de dados. O compilador gera ambos nos arquivos stub main (*_c.c, *_s.c, *_p.c). A tabela de cadeia de caracteres de formato de procedimento é usada principalmente por vários interpretadores, mas também é usada para a conversão de buffer, independentemente do modo do compilador. A tabela de cadeia de caracteres de formato de tipo é usada ao chamar o mecanismo NDR principal para indicar tipos de dados específicos para serem trabalhados.
Formatar notação de cadeia de caracteres
A notação usada neste documento segue diretrizes comuns de descrição de programação, com uma barra ( | ) usada para indicar constructos alternativos e colchetes ( [ ] ) usados para indicar elementos opcionais. As cadeias de caracteres de formato são frequentemente empilhadas para legibilidade (responsabilidade). Ao longo deste documento, o FC denota um caractere de formato único. Os caracteres de formato são apresentados em todos os CAPS, usando seus nomes simbólicos reais. Outros campos arbitrários são representados por um nome e um tamanho.
Colchetes angulares ( <> ) são usados para indicar tamanhos dos descritores. As convenções mostradas na tabela a seguir são empregadas.
Notation | Significado |
---|---|
< n> | O tamanho do descritor é n bytes. |
<> | O tamanho do descritor varia. |
{<>}* | O descritor é repetido várias vezes (0,1,2 ...). |
Os caracteres de formato a seguir têm um significado especial.
Caractere | Significado |
---|---|
FC_END | Indica o fim de algumas cadeias de caracteres de formato. |
FC_PAD | Caractere de teclado não interpretado. |