Partilhar via


Formatar cadeias de caracteres

Uma cadeia de caracteres de formato é um token interpretado que o mecanismo NDR compreende. As cadeias de caracteres de formato são muitas vezes referidas como MOPs; Esta documentação usa o termo Format String 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 pelo MIDL e pelo 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 de 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 principais (*_c.c, *_s.c, *_p.c). A tabela de cadeia de caracteres de formato de procedimento é usada principalmente por vários intérpretes, mas também é usada para a conversão de buffer, independentemente do modo de compilador. A tabela de formatos de tipos é usada ao chamar o mecanismo principal do NDR para indicar os tipos de dados específicos a 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 denotar construções alternativas e colchetes ( [ ] ) usados para indicar elementos opcionais. As cadeias de caracteres de formato são frequentemente concatenadas para legibilidade (responsabilidade). Ao longo deste documento, 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.

Os colchetes angulares ( <> ) são utilizados para indicar os tamanhos dos descritores. São utilizadas as convenções apresentadas no quadro seguinte.

Notação Significado
< n> O tamanho do descritor é n bytes.
<> O tamanho do descritor varia.
{<>}* O descritor é repetido várias vezes (0,1,2 ...).

 

Os seguintes caracteres de formato têm um significado especial.

Personagem Significado
FC_END Indica o fim de algumas cadeias de caracteres de formato.
FC_PAD Caractere de preenchimento não interpretado.