-
MIDL2000
|
-
deve especificar /c_ext para declaradores abstratos
- Declaradores abstratos representam uma extensão da Microsoft para RPC e não são definidos no DCE RPC. Portanto, se o arquivo incluir declaradores abstratos, você não poderá compilar com a opção /osf , o que impõe compatibilidade estrita de DCE. As versões MIDL 3.0 e posteriores usam a opção /c_ext como padrão; a opção /osf desativa a opção /c_ext . Para obter informações sobre declaradores abstratos, consulte O corpo do ACF.
|
-
MIDL2001
|
-
instanciação de dados é ilegal; você deve usar "extern" ou "static"
- A declaração e a inicialização no arquivo IDL não são compatíveis com o DCE RPC. Esse recurso é uma extensão da Microsoft que não está disponível quando você compila no modo de compatibilidade com DCE (/osf).
|
-
MIDL2002
|
-
estouro de pilha do compilador
- O compilador ficou sem espaço de pilha ao processar o arquivo IDL. Esse problema pode ocorrer quando o compilador está processando uma declaração ou expressão complexa. Para resolver o problema, simplifique a declaração ou expressão complexa.
|
-
MIDL2003
|
-
Redefinição
- Essa mensagem de erro pode aparecer nas seguintes circunstâncias: um tipo foi redefinido; um protótipo de procedimento foi redefinido; já existe um membro de uma estrutura ou união de mesmo nome; um parâmetro com o mesmo nome já existe no protótipo.
|
-
MIDL2004
|
-
[auto_handle] a associação será usada
- Nenhum tipo de identificador foi definido como o tipo de identificador padrão. O compilador pressupõe que um identificador automático será usado como o identificador de associação para o procedimento especificado.
|
-
MIDL2005
|
-
memória insuficiente
- O compilador ficou sem memória durante a compilação. Reduza o tamanho ou a complexidade do arquivo IDL ou aloque mais memória para o processo.
|
-
MIDL2006
|
-
definição recursiva
- Uma estrutura ou união foi definida recursivamente. Esse erro pode ocorrer quando uma especificação de ponteiro em uma definição de estrutura aninhada é perdida.
|
-
MIDL2007
|
-
importação ignorada; arquivo já importado
- Importar um arquivo IDL é uma operação idempotente. Incluí-lo mais de uma vez não tem efeito. Todos, exceto a primeira operação de importação, são ignorados.
|
-
MIDL2008
|
-
Enumerações esparsas exigem /c_ext ou /ms_ext
- Atribuir valores a constantes de enumeração não é compatível com DCE RPC. Se você quiser usar as extensões da Microsoft para MIDL que permitam a atribuição de valores a constantes de enumeração, não será possível compilar com a opção /osf , que impõe compatibilidade estrita de DCE. As versões MIDL 3.0 e posteriores usam as opções /c_ext e /ms_ext como padrão; a opção /osf desativa esses comutadores de extensão.
|
-
MIDL2009
|
-
símbolo indefinido
- Um símbolo indefinido foi usado em uma expressão. Esse erro pode ocorrer quando você usa um valor enumerado indefinido.
|
-
MIDL2010
|
-
tipo usado no arquivo ACF não definido no arquivo IDL
- Um tipo indefinido está sendo usado.
|
-
MIDL2011
|
-
declaração de tipo não resolvido
- O tipo relatado no campo informações de erro adicionais não foi definido em outro lugar no arquivo IDL.
|
-
MIDL2012
|
-
O uso de constantes de caractere largo requer /ms_ext ou /c_ext
- Constantes de caractere largo são uma extensão da Microsoft para DCE IDL. Para usar o tipo de dados wchar_t, não é possível compilar com a opção /osf , que substitui as opções padrão do compilador MIDL /ms_ext e /c_ext.
|
-
MIDL2013
|
-
O uso de cadeias de caracteres largos requer /ms_ext ou /c_ext
- Constantes de cadeia de caracteres largos são uma extensão da Microsoft para DCE IDL. Para usar o tipo de dados wchar_t, não é possível compilar com a opção /osf , que substitui as opções padrão do compilador MIDL /ms_ext e /c_ext.
|
-
MIDL2014
|
-
redefinição inconsistente do tipo wchar_t
- O tipo wchar_t foi redefinido como um tipo que não é equivalente a UNSigned short DOS *.
|
-
MIDL2015
|
-
importlib não encontrado
- O compilador não pôde localizar a biblioteca de tipos especificada pela diretiva [ importlib]. Verifique se o caminho e o nome da biblioteca estão corretos.
|
-
MIDL2016
|
-
dois blocos de biblioteca
- Dois blocos de biblioteca (mesmo com nomes diferentes) no mesmo arquivo de origem são ilegais. Combine todos os elementos em um único bloco de biblioteca.
|
-
MIDL2017
|
-
a instrução dispinterface requer uma definição para IDispatch
- Esse erro geralmente ocorre quando os arquivos Stdole2.tlb ou Oaidl.idl não são importados.
|
-
MIDL2018
|
-
erro ao acessar a biblioteca de tipos
- O compilador não pôde localizar a biblioteca de tipos especificada. Verifique se você especificou o caminho corretamente.
|
-
MIDL2019
|
-
erro ao acessar informações de tipo
- A biblioteca de tipos importada é corrompida, inválida ou apenas parcialmente construída.
|
-
MIDL2020
|
-
erro ao gerar biblioteca de tipos
- Não foi possível gerar a biblioteca de tipos. Uma possível causa desse erro é especificar um caminho para o arquivo IDL com mais de 126 caracteres. Oleaut32.dll não dá suporte a nomes de caminho com mais de 126 caracteres.
|
-
MIDL2021
|
-
ID duplicada
- Os aplicativos usam a instrução id em arquivos IDL para especificar um DISPID para funções membro. As funções membro podem ser propriedades ou métodos de interfaces ou dispinterfaces. Esse erro indica que o arquivo IDL especifica o mesmo número de identificador para dois métodos ou propriedades.
|
-
MIDL2022
|
-
valor inválido ou ausente para o atributo de entrada
- O argumento para o atributo de entrada pode ser uma cadeia de caracteres que especifica um ponto de entrada nomeado ou um número ordinal que define o ponto de entrada. Esse argumento está ausente ou contém um valor inválido.
|
-
MIDL2023
|
-
a recuperação de erro pressupõe
- O compilador MIDL encontrou caracteres ilegais no arquivo IDL.
|
-
MIDL2024
|
-
descartes de recuperação de erro
- O compilador MIDL encontrou caracteres ilegais no arquivo IDL. Ele ignorará os caracteres ilegais.
|
-
MIDL2025
|
-
erro de sintaxe
- O compilador detectou um erro de sintaxe na linha especificada.
|
-
MIDL2026
|
-
não é possível se recuperar de erros de sintaxe anteriores; anulando a compilação
- O compilador MIDL tenta se recuperar automaticamente de erros de sintaxe adicionando ou removendo elementos sintacticos. Essa mensagem indica que, apesar dessas tentativas de recuperação, o compilador detectou muitos erros. Corrija os erros especificados e recompile.
|
-
MIDL2027
|
-
opção pragma desconhecida
- Não há suporte para o pragma C especificado em MIDL. Remova o pragma do arquivo IDL.
|
-
MIDL2028
|
-
recurso não implementado
- O recurso MIDL, embora parte da definição de linguagem, não é implementado no Microsoft RPC e não tem suporte do compilador MIDL. Por exemplo, os seguintes recursos de linguagem não são implementados: bitset, pipe e o tipo de caractere internacional. O recurso de linguagem não simplificado aparece no campo informações de erro adicionais da mensagem de erro.
|
-
MIDL2029
|
-
tipo não implementado
- O tipo de dados especificado, embora um midl legal palavra-chave, não é implementado no Microsoft RPC.
|
-
MIDL2030
|
-
não ponteiro usado em uma operação de desreferência
- Um tipo de dados que não é um ponteiro foi associado a operações de ponteiro. Você não pode acessar o objeto por meio do não ponteiro especificado.
|
-
MIDL2031
|
-
expressão tem uma divisão por zero
- A expressão constante contém divisão por zero.
|
-
MIDL2032
|
-
expressão usa tipos incompatíveis
- Os lados esquerdo e direito do operador em uma expressão são de tipos incompatíveis.
|
-
MIDL2033
|
-
A expressão nonarray usa o operador de índice
- A expressão usa a operação de indexação de matriz em um item de dados que não é do tipo de matriz.
|
-
MIDL2034
|
-
O lado esquerdo da expressão não é avaliado como struct/union/enum
- O operador de referência direta ou indireta "." ou "->" foi aplicado a um objeto de dados que não é uma estrutura, união ou enumeração. Você não pode obter uma referência direta ou indireta usando o objeto especificado.
|
-
MIDL2035
|
-
expressão constante esperada
- Uma expressão constante era esperada na sintaxe. Por exemplo, os limites da matriz exigem uma expressão constante. O compilador emite essa mensagem de erro quando o limite da matriz é definido com uma variável ou um símbolo indefinido.
|
-
MIDL2036
|
-
expressão não pode ser avaliada em tempo de compilação
- O compilador não pode avaliar uma expressão em tempo de compilação.
|
-
MIDL2037
|
-
expressão não implementada
- Não há suporte para um recurso com suporte em versões anteriores do compilador MIDL na versão do compilador fornecida com o Microsoft RPC. Remova a expressão especificada.
|
-
MIDL2038
|
-
nenhum atributo [pointer_default] especificado, supondo [exclusivo] para todos os ponteiros não atribuídos
- O compilador MIDL oferece três casos padrão diferentes para ponteiros que não têm atributos de ponteiro. Parâmetros de função que são ponteiros de nível superior padrão para ponteiros [ref]. Ponteiros inseridos em estruturas e ponteiros para outros ponteiros (não ponteiros de nível superior) padrão para o tipo especificado pelo atributo [pointer_default]. Quando nenhum atributo [pointer_default] é fornecido, esses ponteiros sem escala padrão para ponteiros exclusivos. Essa mensagem de erro indica o último caso: nenhum atributo [pointer_default] é fornecido e há pelo menos um ponteiro de nível não superior que será tratado como um ponteiro exclusivo. Para obter mais informações, consulte Tipos de ponteiro padrão.
|
-
MIDL2039
|
-
interface não é compatível com marshaling de automação
- A interface não atende aos requisitos de uma interface de Automação OLE. Verifique se a interface é derivada de IUnknown ou IDispatch.
|
-
MIDL2040
|
-
[out] somente o parâmetro não pode ser um ponteiro para uma estrutura aberta
- Um parâmetro [out]-only foi usado como um ponteiro para uma estrutura, conhecida como uma estrutura aberta, cujo intervalo e tamanho transmitidos são determinados em tempo de execução. O stub do servidor não sabe quanto espaço alocar para uma estrutura aberta. Use um ponteiro para um ponteiro para a estrutura aberta e verifique se o aplicativo de servidor aloca espaço suficiente para ele.
|
-
MIDL2041
|
-
[out] somente o parâmetro não pode ser uma cadeia de caracteres não dimensionada
- Uma matriz com o atributo string foi declarada como um parâmetro [out]-only sem nenhuma especificação de tamanho. O stub do servidor precisa de informações de tamanho para alocar memória para a cadeia de caracteres. Você pode remover o atributo de cadeia de caracteres e adicionar o atributo [size_is] ou alterar o parâmetro para um parâmetro [in, out].
|
-
MIDL2042
|
-
[out] parâmetro não é um ponteiro
- Todos os parâmetros [out] devem ser ponteiros, de acordo com a convenção de chamada por valor da linguagem de programação C. O parâmetro direcional [out] indica que o servidor transmite um valor para o cliente. Com a convenção de chamada por valor, o servidor só poderá transmitir dados para o cliente se o argumento de função for um ponteiro.
|
-
MIDL2043
|
-
estrutura aberta não pode ser um parâmetro
- Uma estrutura aberta contém uma matriz compatível como o último elemento. Uma estrutura ou união é truncada quando o último elemento dessa estrutura ou união é uma matriz compatível.
|
-
MIDL2044
|
-
[out] identificador de contexto/identificador genérico deve ser especificado como um ponteiro para esse tipo de identificador
- Um parâmetro de identificador definido pelo usuário ou identificador de contexto com o atributo direcional [out] deve ser um ponteiro para um ponteiro.
|
-
MIDL2045
|
-
o identificador de contexto não deve derivar de um tipo que tenha o atributo [transmit_as]
- Os identificadores de contexto devem ser transmitidos como tipos de identificador de contexto. Eles não podem ser transmitidos como outros tipos e não podem derivar de [transmit_is], [represent_as], [wire_marshal]ou [user_marshal].
|
-
MIDL2046
|
-
não é possível especificar um número variável de argumentos para um procedimento remoto
- Chamadas de procedimento remoto que especificam um número variável de argumentos em tempo de compilação não são compatíveis com a definição de RPC do DCE. Você não pode usar um número variável de argumentos no Microsoft RPC.
|
-
MIDL2047
|
-
parâmetro nomeado não pode ser "void"
- Um parâmetro com o tipo base void é especificado com um nome.
|
-
MIDL2048
|
-
parâmetro deriva de "coclass" ou "module"
- A coclass especifica um objeto de nível superior que contém interfaces e dispinterfaces. Ele não pode ser passado como um parâmetro.
|
-
MIDL2049
|
-
somente o primeiro parâmetro pode ser um identificador de associação; você deve especificar a opção /ms_ext
- O DCE RPC permite que apenas o primeiro parâmetro seja um identificador de associação. A compilação com a opção /osf desativa o comutador /ms_ext padrão que dá suporte a vários parâmetros de identificador e manipula parâmetros em diferentes da posição mais à esquerda.
|
-
MIDL2050
|
-
não pode usar [comm_status] em um parâmetro e um tipo de retorno
- O procedimento e um de seus parâmetros têm o atributo [comm_status]. O atributo [comm_status] especifica que apenas um objeto de dados por vez pode ser do tipo error_status_t.
|
-
MIDL2051
|
-
O atributo [local] em um procedimento requer /ms_ext
- O atributo [local] é uma extensão da Microsoft para IDL de DCE. Para usar esse atributo em uma função, você não pode compilar com a opção /osf . A opção /osf substitui os comutadores padrão do compilador MIDL /ms_ext e /c_ext.
|
-
MIDL2052
|
-
atributos de propriedade só podem ser usados com procedimentos
- Uso inadequado de um atributo [propget], [propput]ou [propputref]. Verifique se você digitou o nome da função da propriedade corretamente e se a propriedade e a função têm o mesmo nome.
|
-
MIDL2053
|
-
um procedimento pode não ter mais de um atributo de propriedade
- No máximo, apenas um dos atributos [propget], [propput]ou [propputref] pode ser especificado para uma função.
|
-
MIDL2054
|
-
o procedimento tem uma combinação ilegal de atributos de operação
- Determinados atributos não podem ser usados em conexão com outros atributos. Verifique a Referência de Linguagem MIDL para obter os requisitos exatos e a sintaxe dos atributos usados neste procedimento.
|
-
MIDL2055
|
-
campo derivado de uma matriz compatível deve ser o último membro da estrutura
- A estrutura contém uma matriz compatível que não é o último elemento na estrutura. A matriz de conformidade deve aparecer como o último elemento de estrutura.
|
-
MIDL2056
|
-
rótulo duplicado [case]
- Um rótulo de caso duplicado foi especificado. O rótulo duplicado é exibido.
|
-
MIDL2057
|
-
nenhum caso [padrão] especificado para união discriminada
- Uma união discriminada foi especificada sem um caso padrão.
|
-
MIDL2058
|
-
A expressão de atributo não pode ser resolvida
- A expressão associada ao atributo não pode ser resolvida. Esse erro geralmente ocorre quando uma variável que aparece na expressão não é definida. Por exemplo, o erro pode ocorrer quando a variável s não está definida e é usada pelo atributo [size_is].
|
-
MIDL2059
|
-
a expressão de atributo deve ser do tipo integral, sem suporte para expressões de 64 bits
- A variável de atributo ou expressão especificada deve ser um tipo integral. Esse erro ocorre quando o tipo attribute-expression não resolve a um inteiro.
|
-
MIDL2060
|
-
[byte_count] requer /ms_ext
- O atributo [byte_count] é uma extensão da Microsoft para IDL de DCE. Para usar esse atributo, você não pode compilar com a opção /osf , que substitui as opções padrão do compilador MIDL /ms_ext e /c_ext.
|
-
MIDL2061
|
-
[byte_count] só pode ser aplicado a parâmetros out do tipo de ponteiro
- O atributo [byte_count] só pode ser aplicado a parâmetros [out], e todos os parâmetros [out] devem ser tipos de ponteiro.
|
-
MIDL2062
|
-
[byte_count] não pode ser especificado em um ponteiro para uma matriz ou estrutura compatível
- O atributo [byte_count] não pode ser aplicado a uma matriz ou estrutura compatível.
|
-
MIDL2063
|
-
parâmetro que especifica a contagem de bytes não é [in] apenas ou o parâmetro de contagem de bytes não é [out] apenas
- O valor associado ao [byte_count] deve ser transmitido do cliente para o servidor; deve ser um parâmetro [in]. O parâmetro [byte_count] não precisa ser um parâmetro [in, out].
|
-
MIDL2064
|
-
parâmetro que especifica a contagem de bytes não é um tipo integral
- O valor associado à contagem de bytes deve ser o tipo inteiro int, pequeno, curto ou longo.
|
-
MIDL2065
|
-
[byte_count] não pode ser especificado em um parâmetro com atributos de tamanho
- O atributo [byte_count] não pode ser usado com outros atributos de tamanho, como [size_is] ou [length_is].
|
-
MIDL2066
|
-
[case] expressão não é constante
- A expressão especificada para o rótulo de maiúsculas e minúsculas não é uma constante.
|
-
MIDL2067
|
-
[case] expressão não é do tipo integral
- A expressão especificada para o rótulo de maiúsculas e minúsculas não é um tipo inteiro.
|
-
MIDL2068
|
-
especificar [context_handle] em um tipo diferente de void * requer /ms_ext
- Para compatibilidade DCE-RPC, o identificador de contexto deve ser um ponteiro do tipo void *. Se você quiser que os identificadores de contexto sejam associados a tipos diferentes do void *, não use a opção /osf do compilador MIDL, que substitui a opção padrão do compilador MIDL /ms_ext.
|
-
MIDL2069
|
-
não é possível especificar mais de um parâmetro com cada um dos comm_status/fault_status
- Um procedimento pode ter apenas um parâmetro com o atributo [comm_status]. Ele pode ter no máximo um parâmetro com o atributo [fault_status].
|
-
MIDL2070
|
-
comm_status/fault_status parâmetro deve ser um parâmetro de ponteiro somente [out]
- Os tipos de código de erro [comm_status] e [fault_status] são transmitidos de servidor para cliente e, portanto, devem ser especificados como um parâmetro [out]. Devido às restrições na linguagem de programação C, todos os parâmetros [out] devem ser ponteiros.
|
-
MIDL2071
|
-
Erro de sintaxe do ponto de extremidade
- A sintaxe do ponto de extremidade está incorreta.
|
-
MIDL2072
|
-
atributo inaplicativo
- O atributo especificado não pode ser aplicado neste constructo. Por exemplo, o atributo de cadeia de caracteres se aplica a matrizes char ou ponteiros char e não pode ser aplicado a uma estrutura que consiste em dois inteiros curtos :
typedef [string] struct moo
{
short x;
short y;
};
|
-
MIDL2073
|
-
[allocate] requer /ms_ext
- O atributo allocate representa uma extensão da Microsoft que não é definida como parte do DCE RPC. Para usar esse atributo, você não pode compilar com a opção /osf , que substitui a opção padrão do compilador MIDL /ms_ext
|
-
MIDL2074
|
-
modo inválido [allocate]
- Um modo inválido para o constructo de atributo [allocate] foi especificado. Os quatro modos válidos são single_node, all_nodes, on_null e sempre.
|
-
MIDL2075
|
-
atributos length não podem ser aplicados com atributo de cadeia de caracteres
- Quando o atributo string é usado, os arquivos stub gerados chamam a função strlen para determinar o comprimento da cadeia de caracteres. Não use o atributo length e o atributo de cadeia de caracteres para a mesma variável.
|
-
MIDL2076
|
-
[last_is] e [length_is] não podem ser especificados ao mesmo tempo
- [last_is] e [length_is] foram especificados para a mesma matriz. Esses atributos estão relacionados da seguinte maneira: length = last first + 1. Como cada valor pode ser derivado do outro, não especifique ambos.
|
-
MIDL2077
|
-
[max_is] e [size_is] não podem ser especificados ao mesmo tempo
- [ max_is] e [ size_is] foram especificados para a mesma matriz. Esses atributos estão relacionados da seguinte maneira: max = size + 1. Como cada valor pode ser derivado do outro, não especifique ambos.
|
-
MIDL2078
|
-
nenhum atributo [switch_is] especificado no uso da união
- Nenhum discriminante foi especificado para a união. O atributo [switch_is] indica o discriminador usado para selecionar entre os campos de união.
|
-
MIDL2079
|
-
no [uuid] especificado
- Nenhuma UUID foi especificada para a interface.
|
-
MIDL2080
|
-
[uuid] ignorado na interface [local]
- Usar o atributo [local] em uma interface de objeto faz com que o compilador MIDL ignore o atributo [uuid]. Você não pode usar ambos os atributos em uma interface RPC.
|
-
MIDL2081
|
-
incompatibilidade de tipo entre expressões de atributo de tamanho e comprimento
- As expressões de atributo de tamanho e comprimento devem ser dos mesmos tipos. Por exemplo, esse aviso é emitido quando a variável de atributo para a expressão [size_is] é do tipo long sem sinal e a variável de atributo para a expressão [length_is] é do tipo long.
|
-
MIDL2082
|
-
O atributo [string] deve ser especificado como "byte", "char" ou "wchar_t" matriz ou ponteiro
- Um atributo de cadeia de caracteres não pode ser aplicado a um ponteiro ou matriz cujo tipo base não é um byte, char ou struct no qual os membros são todos do tipo byte ou char .
|
-
MIDL2083
|
-
incompatibilidade entre o tipo da expressão [switch_is] e o tipo de comutador da união
- Se a união [switch_type] não for especificada, o tipo de comutador será do mesmo tipo que o campo [switch_is].
|
-
MIDL2084
|
-
[transmit_as] não deve ser aplicado a um tipo que deriva de um identificador de contexto
- Os identificadores de contexto não podem ser transmitidos como outros tipos.
|
-
MIDL2085
|
-
[transmit_as] deve especificar um tipo transmissível
- O tipo [transmit_as] especificado deriva de um tipo que não pode ser transmitido pelo Microsoft RPC, como void, void *ou int. Usar um tipo base RPC definido; no caso de int, adicione especificadores de tamanho como pequeno, curto ou longo para qualificar o int.
|
-
MIDL2086
|
-
o tipo transmitido para [transmit_as] e [represent_as] não deve ser um ponteiro ou derivar de um ponteiro
- O tipo transmitido não pode ser um ponteiro ou derivar de um ponteiro.
|
-
MIDL2087
|
-
o tipo apresentado para [transmit_as] e [represent_as] não deve derivar de uma matriz conformante/variável, seu ponteiro equivalente ou uma estrutura de conformidade/variação
- O tipo ao qual [transmit_as] foi aplicado não pode derivar de uma matriz ou estrutura compatível (uma matriz ou estrutura cujo tamanho é determinado em tempo de execução).
|
-
MIDL2088
|
-
O formato [uuid] está incorreto
- O formato UUID não está em conformidade com a especificação. A UUID deve ser uma cadeia de caracteres que consiste em cinco sequências de dígitos hexadecimal de comprimento 8, 4, 4, 4 e 12 dígitos. "12345678-1234-ABCD-EF01-28A49C28F17D" é uma UUID válida. Use a função UuidCreate ou um utilitário para gerar uma UUID válida.
|
-
MIDL2089
|
-
uuid não é um número hexadecimal
- A UUID especificada para a interface contém caracteres inválidos em uma representação de número hexadecimal. Os caracteres 0 a 9 e A a F são válidos em uma representação hexadecimal.
|
-
MIDL2090
|
-
parâmetros opcionais devem vir após os parâmetros necessários
- Para obter uma descrição da ordenação de listas de parâmetros, consulte [opcional] na Referência de Linguagem MIDL.
|
-
MIDL2091
|
-
[dllname] necessário quando [entrada] é usado
- Se você estiver especificando um ponto de entrada em uma DLL, também deverá especificar o nome dessa DLL usando o atributo [dllname].
|
-
MIDL2092
|
-
[associável] é inválido sem [propget], [propput]ou [propputref]
- O atributo [associável] é válido apenas em uma propriedade, portanto, você também deve especificar uma das funções de acesso à propriedade ou de configuração de propriedade.
|
-
MIDL2093
|
-
os procedimentos com [propput] ou [propputref] devem ter pelo menos um parâmetro
- Um procedimento [propput] ou [ propputref] deve ter pelo menos um parâmetro [in] com a propriedade a ser definida; um procedimento [propget] deve ter pelo menos um parâmetro [out, retval] para receber a propriedade ou referência.
|
-
MIDL2094
|
-
O atributo [id] é necessário
- Essa função membro, devido à sintaxe dispinterface usada, requer um DISPID, que você especifica usando o atributo [ id]. Ao especificar uma dispinterface usando propriedades e métodos, você deve especificar um DISPID para cada propriedade e método.
|
-
MIDL2095
|
-
o nome da interface especificado no ACF não corresponde ao especificado no arquivo IDL
- No modo do compilador atual, o nome que segue a interface palavra-chave no ACF deve ser o mesmo que o nome que segue a interface palavra-chave no arquivo IDL. Os nomes de interface nos arquivos IDL e ACF podem ser diferentes quando você compila com a opção /acf do compilador MIDL.
|
-
MIDL2096
|
-
atributo duplicado
- Atributos duplicados ou conflitantes foram especificados. Esse erro geralmente ocorre quando dois atributos são mutuamente exclusivos. Por exemplo, os atributos [código] e [nocode] não podem ser usados ao mesmo tempo.
|
-
MIDL2097
|
-
parâmetro com o atributo [comm_status] ou [fault_status] deve ser um ponteiro para digitar error_status_t
- Quando [fault_status] ou [comm_status] é usado como um atributo de parâmetro, o parâmetro deve ser um parâmetro [out] do tipo error_status_t. Se ocorrer um erro de servidor, o parâmetro será definido como o código de erro. Quando a chamada remota é concluída com êxito, o procedimento define o valor.
|
-
MIDL2098
|
-
um procedimento [local] não pode ser especificado no arquivo ACF
- Um procedimento local foi especificado no ACF. O procedimento local só pode ser especificado no arquivo IDL.
|
-
MIDL2099
|
-
o tipo especificado não é definido como um identificador
- O tipo especificado no atributo [implicit_handle] não é definido como um tipo de identificador. Altere a definição de tipo ou o nome de tipo especificado pelo atributo .
|
-
MIDL2100
|
-
procedimento indefinido
- Um atributo foi aplicado a um procedimento no ACF e esse procedimento não é definido no arquivo IDL.
|
-
MIDL2101
|
-
esse parâmetro não existe no arquivo IDL
- Um parâmetro especificado no ACF não existe na definição no arquivo IDL. Todos os parâmetros, funções e definições de tipo que aparecem no ACF devem corresponder a parâmetros, funções e tipos definidos anteriormente no arquivo IDL.
|
-
MIDL2102
|
-
não há suporte para esse constructo de limites de matriz
- Atualmente, o MIDL dá suporte à expressão dos limites superior e inferior de uma matriz no formato Array[Lower .. Superior] somente quando a constante que especifica o limite inferior da matriz é resolvida para o valor zero.
|
-
MIDL2103
|
-
a especificação associada à matriz é inválida
- A especificação do usuário de limites de matriz para a matriz de tamanho fixo é inválida. Por exemplo:
typedef short Array[-1]
|
-
MIDL2104
|
-
não há suporte para um ponteiro para uma matriz compatível ou uma matriz que contém uma matriz compatível
- Uso ilegal de matriz em conformidade. Para regras que regem matrizes em conformidade, consulte Matrizes e RPC.
|
-
MIDL2105
|
-
pointee/array não deriva nenhum tamanho
- Uma matriz compatível foi especificada sem nenhuma especificação de tamanho. Você pode especificar o tamanho com o atributo [max_is] ou [size_is].
|
-
MIDL2106
|
-
somente matrizes fixas e SAFEARRAYs são legais em uma biblioteca de tipos
- Você usou um tipo de matriz dentro de uma instrução de biblioteca que não pode ser usada em uma biblioteca de tipos.
|
-
MIDL2107
|
-
SAFEARRAYs só são legais dentro de um bloco de biblioteca
- O compilador MIDL não reconhece um SAFEARRAY como um tipo de dados válido, exceto ao gerar uma biblioteca de tipos.
|
-
MIDL2108
|
-
constante de caractere mal formado
- O caractere de fim de linha não é permitido em constantes de caracteres.
|
-
MIDL2109
|
-
fim do arquivo encontrado no comentário
- O caractere de fim do arquivo foi encontrado em um comentário.
|
-
MIDL2110
|
-
fim do arquivo encontrado na cadeia de caracteres
- O caractere de fim de arquivo foi encontrado em uma cadeia de caracteres.
|
-
MIDL2111
|
-
O comprimento do identificador excede 31 caracteres
- Os identificadores são limitados a 31 caracteres alfanuméricos. Nomes de identificador com mais de 31 caracteres são truncados.
|
-
MIDL2112
|
-
fim da linha encontrada na cadeia de caracteres
- O caractere de fim de linha foi encontrado na cadeia de caracteres. Verifique se você incluiu o caractere de aspas duplas que encerra a cadeia de caracteres.
|
-
MIDL2113
|
-
constante de cadeia de caracteres excede o limite de 255 caracteres
- A cadeia de caracteres excedeu o comprimento máximo permitido de 255 caracteres.
|
-
MIDL2114
|
-
identificador excede o limite de 255 caracteres e foi truncado
- O identificador excedeu o comprimento máximo permitido de 255 caracteres. Caracteres em excesso no identificador são truncados.
|
-
MIDL2115
|
-
constante muito grande
- A constante é muito grande para ser representada internamente.
|
-
MIDL2116
|
-
erro numérico de análise
- O compilador não pôde analisar o identificador numérico.
|
-
MIDL2117
|
-
erro ao abrir o arquivo
- O sistema operacional relatou um erro ao tentar abrir um arquivo de saída. Esse erro pode ser causado por um nome muito longo para o sistema de arquivos ou por um nome de arquivo duplicado.
|
-
MIDL2118
|
associação de erro à função
|
-
MIDL2119
|
erro ao inicializar o OLE
|
-
MIDL2120
|
biblioteca de carregamento de erros
|
-
MIDL2121
|
-
[out] somente o parâmetro não deve derivar de uma matriz/ponteiro [exclusivo] ou [ptr] de nível superior
- Um ponteiro exclusivo não pode ser um parâmetro [out]-only. Por definição, um ponteiro exclusivo pode mudar de NULL para não NULL. Nenhuma informação sobre o parâmetro [out]-only é passada de cliente para servidor.
|
-
MIDL2122
|
-
O atributo não é aplicável a essa união não rpcable
- Somente os atributos [switch_is] e [switch_type] se aplicam a uma união transmitida como parte de uma chamada de procedimento remoto.
|
-
MIDL2123
|
-
expressão usada para um atributo de tamanho não deve derivar de um parâmetro [out]-only
- O valor de um parâmetro [out]-only não é transmitido para o servidor e não pode ser usado para determinar o comprimento ou o tamanho do parâmetro [in].
|
-
MIDL2124
|
-
expressão usada para um atributo de comprimento para um parâmetro [in] não pode derivar de um parâmetro [out]-only
- O valor de um parâmetro [out]-only não é transmitido para o servidor e não pode ser usado para determinar o comprimento ou o tamanho do parâmetro [in].
|
-
MIDL2125
|
-
uso de "int" precisa de /c_ext
- MIDL é uma linguagem fortemente tipada. Todos os parâmetros transmitidos pela rede devem ser derivados de um dos tipos base MIDL. O tipo int não é definido como parte de MIDL. Os dados transmitidos devem incluir um especificador de tamanho: pequeno, curto ou longo. Os dados que não são transmitidos pela rede podem ser incluídos em uma interface; use a opção /c_ext .
|
-
MIDL2126
|
-
o campo struct/union não deve ser "void"
- Os campos em uma estrutura ou união devem ser declarados como de um tipo base específico compatível com MIDL ou um tipo derivado dos tipos base. Tipos nulos não são permitidos em operações remotas.
|
-
MIDL2127
|
-
O elemento array não deve ser nulo
- Um elemento de matriz não pode ser nulo.
|
-
MIDL2128
|
-
o uso de qualificadores de tipo e/ou modificadores precisa de /c_ext
- Modificadores de tipo como _cdecl e _far só poderão ser compilados se você especificar a opção /c_ext .
|
-
MIDL2129
|
-
o campo struct/union não deve derivar de uma função
- Os campos de uma estrutura ou união devem ser tipos base MIDL ou tipos derivados desses tipos base. As funções não são legais em campos de estrutura ou união.
|
-
MIDL2130
|
-
O elemento array não deve ser uma função
- Um elemento de matriz não pode ser uma função.
|
-
MIDL2131
|
-
parâmetro não deve ser uma função
- O parâmetro para um procedimento remoto deve ser uma variável de um tipo especificado. Uma função não pode ser um parâmetro para o procedimento remoto.
|
-
MIDL2132
|
-
struct/union with bit fields needs /c_ext
- Você deve especificar a opção /c_ext do compilador MIDL para permitir campos de bits em estruturas que não são transmitidas em uma chamada de procedimento remoto.
|
-
MIDL2133
|
-
especificação de campo de bit em um tipo outro que "int" é uma extensão não compatível com ANSI
- A especificação da linguagem de programação ANSI C não permite que campos de bits sejam aplicados a tipos noninteger.
|
-
MIDL2134
|
-
a especificação de campo bit só pode ser aplicada a tipos integrais simples
- A especificação da linguagem de programação ANSI C não permite que campos de bits sejam aplicados a tipos noninteger.
|
-
MIDL2135
|
-
o campo struct/union não deve derivar de handle_t ou de um identificador de contexto
- Os identificadores de contexto não podem ser transmitidos como parte de outra estrutura. Eles devem ser transmitidos como identificadores de contexto.
|
-
MIDL2136
|
-
O elemento array não deve derivar de handle_t ou de um identificador de contexto
- Os identificadores de contexto não podem ser transmitidos como parte de uma matriz.
|
-
MIDL2137
|
-
esta especificação de união precisa de /c_ext
- Uma união que aparece na definição de interface deve ser associada ao discriminador ou declarada como local. Os dados que não são transmitidos pela rede podem ser declarados implicitamente como locais quando você usa a opção /c_ext , que é o padrão MIDL. Não é possível compilar essa IDL com a opção /osf .
|
-
MIDL2138
|
-
parâmetro derivado de um "int" deve ter o especificador de tamanho "pequeno", "curto" ou "longo" com o "int"
- O tipo int é apenas um tipo MIDL válido em plataformas de 32 bits, em sistemas de 16 bits int deve ser acompanhado por uma especificação de tamanho. Use um dos especificadores de tamanho pequeno, curto ou longo.
|
-
MIDL2139
|
-
o tipo do parâmetro não pode derivar de void ou void*
- MIDL é uma linguagem fortemente tipada. Todos os parâmetros transmitidos pela rede devem ser derivados de um dos tipos base MIDL. MIDL não dá suporte a void como um tipo base. Você deve alterar a declaração para um tipo MIDL válido.
|
-
MIDL2140
|
-
não há suporte para o parâmetro derivado de um struct/união que contém campos de bits
- Os campos de bits não são definidos como um tipo de dados válido pelo DCE RPC.
|
-
MIDL2141
|
-
uso de um parâmetro derivado de um tipo que contém type-modifiers/type-qualifiers precisa de /c_ext
- O uso de palavras-chave como far, near, const e volatile no arquivo IDL é uma extensão da Microsoft para DCE RPC. Essas palavras-chave não estão disponíveis quando você compila com a opção /osf , que desativa a opção de extensão /c_ext padrão.
|
-
MIDL2142
|
-
O parâmetro não deve derivar de um ponteiro para uma função
- As bibliotecas de tempo de execução RPC transmitem um ponteiro e seus dados associados entre o cliente e o servidor. Os ponteiros para funções não podem ser transmitidos como parâmetros porque a função não pode ser transmitida pela rede.
|
-
MIDL2143
|
-
parâmetro não deve derivar de uma união não compatível compc
- A união deve ser associada a um discriminador. Use os atributos [switch_is] e [switch_type].
|
-
MIDL2144
|
-
tipo de retorno deriva de um "int". Você deve usar especificadores de tamanho com o "int"
- Em sistemas de 16 bits, o tipo int não é um tipo MIDL válido, a menos que seja acompanhado por uma especificação de tamanho. Use um dos especificadores de tamanho pequeno, curto ou longo.
|
-
MIDL2145
|
-
o tipo de retorno não deve derivar de um ponteiro nulo
- MIDL é uma linguagem fortemente tipada. Todos os parâmetros transmitidos pela rede devem ser derivados de um dos tipos base MIDL. Os tipos void não são definidos como parte do MIDL. Você deve alterar a declaração para um tipo MIDL válido.
|
-
MIDL2146
|
-
o tipo de retorno não deve derivar de uma estrutura/união que contenha campos de bits
- Os campos de bits não são definidos como um tipo de dados válido pelo DCE RPC.
|
-
MIDL2147
|
-
o tipo de retorno não deve derivar de uma união não compatível com pc
- A união deve ser associada a um discriminador. Use os atributos [switch_is] e [switch_type].
|
-
MIDL2148
|
-
o tipo de retorno não deve derivar de um ponteiro para uma função
- As bibliotecas de tempo de execução RPC transmitem um ponteiro e seus dados associados entre o cliente e o servidor. Ponteiros para funções não podem ser transmitidos como parâmetros porque o RPC não define um método para transmitir a função associada pela rede.
|
-
MIDL2149
|
-
Não há suporte para inicializadores compostos
- O DCE RPC dá suporte apenas à inicialização simples. A estrutura ou matriz não pode ser inicializada no arquivo IDL.
|
-
MIDL2150
|
-
Os atributos ACF no arquivo IDL precisam da opção /app_config
- Uma extensão da Microsoft permite que você especifique atributos ACF no arquivo IDL. Use a opção /app_config para ativar essa extensão.
|
-
MIDL2151
|
-
o comentário em linha único precisa de /ms_ext ou /c_ext
- Comentários de linha única que usam dois caracteres de barra (//) representam uma extensão da Microsoft para DCE RPC. Você não poderá usar comentários de linha única se estiver compilando com a opção /osf .
|
-
MIDL2152
|
-
O formato [versão] está incorreto
- O número de versão da interface no cabeçalho da interface deve ser especificado no formato principal. menor, em que cada número pode variar de 0 a 65535.
|
-
MIDL2153
|
-
"assinado" precisa de /ms_ext ou /c_ext
- O uso do palavra-chave assinado é uma extensão da Microsoft para DCE RPC. Você não poderá usar a opção /osf se quiser usar esse recurso.
|
-
MIDL2154
|
-
incompatibilidade no tipo de atribuição
- O tipo da variável não corresponde ao tipo do valor atribuído à variável.
|
-
MIDL2155
|
-
declaration deve ser do formato: const <type> \<declarator> = <initializing expression>
- A declaração não é compatível com a sintaxe DCE RPC. Use a opção /ms_ext ou /c_ext modo do compilador MIDL.
|
-
MIDL2156
|
-
declaração deve ter "const"
- As declarações no arquivo IDL devem ser expressões constantes que usam o palavra-chave const, por exemplo:
const short x = 2;
|
-
MIDL2157
|
-
struct/union/enum não deve ser definido em uma especificação de tipo de parâmetro
- A estrutura, a união ou o tipo enumerado devem ser explicitamente declarados fora do protótipo da função.
|
-
MIDL2158
|
-
O atributo [allocate] deve ser aplicado somente em tipos de ponteiro não nulos
- O atributo [allocate] foi projetado para estruturas de dados complexas baseadas em ponteiro. Quando o atributo [allocate] é especificado, o arquivo stub atravessa a estrutura de dados para calcular o tamanho total de todos os objetos acessíveis do ponteiro e de todos os outros ponteiros na estrutura de dados. Altere o tipo para um tipo de ponteiro nãovoid ou remova o atributo [allocate] e use outro método para determinar seu tamanho de alocação, como o operador sizeof .
|
-
MIDL2159
|
-
array ou constructo de ponteiro equivalente não pode derivar de uma união nãocapsulada
- Cada união deve ser associada a um discriminador. Matrizes de uniões não são permitidas porque não fornecem o discriminador associado. Matrizes de estruturas nas quais a estrutura empacota a união e seu discriminante são permitidas porque os stubs podem usar o discriminante para determinar o tamanho de cada união.
|
-
MIDL2160
|
-
O campo não deve derivar de um tipo de error_status_t
- O tipo error_status_t só pode ser usado como um parâmetro ou um tipo de retorno. Ele não pode ser inserido no campo de uma estrutura ou união.
|
-
MIDL2161
|
-
union tem pelo menos um braço sem um rótulo de maiúsculas e minúsculas
- A declaração de união não corresponde à sintaxe MIDL necessária para a união. Cada braço de união requer um rótulo de caso ou rótulo padrão que seleciona esse braço de união.
|
-
MIDL2162
|
-
parâmetro ou valor retornado não deve derivar de um tipo que tenha [ignorar] aplicado a ele
- O atributo [ignore] é um atributo de campo que pode ser aplicado somente a campos, como campos de estruturas e matrizes. O atributo [ignore] indica que o stub não deve desreferenciar o ponteiro durante a transmissão e não é permitido quando está em conflito com outros atributos que devem ser desreferenciados, como parâmetros [out] e valores retornados de função.
|
-
MIDL2163
|
-
pointer já tem um atributo de ponteiro aplicado a ele
- Somente um dos atributos de ponteiro, [ref], [unique], ou [ptr], pode ser aplicado a um único ponteiro.
|
-
MIDL2164
|
-
field/parameter não deve derivar de uma estrutura recursiva por meio de um ponteiro ref
- Por definição, um ponteiro de referência não pode ser definido como NULL. Uma estrutura de dados recursiva definida com um ponteiro de referência não tem elementos NULL e, por convenção, não está seminando. Use um atributo de ponteiro [exclusivo] para permitir que a estrutura de dados especifique um elemento NULL ou redefina a estrutura de dados como uma estrutura de dados não recursiva.
|
-
MIDL2165
|
-
uso de campo derivado de um ponteiro nulo precisa de /c_ext
- O tipo void * e outros tipos e qualificadores de tipo que não têm suporte no DCE IDL são permitidos no arquivo IDL somente quando você usa as configurações do compilador padrão MIDL. O uso da opção /osf substitui esse padrão. Se você precisar compilar no modo de compatibilidade osf, precisará redefinir o tipo de ponteiro.
|
-
MIDL2166
|
-
o uso desse atributo precisa de /ms_ext
- Esse recurso de linguagem é uma extensão da Microsoft para DCE IDL. Você não poderá usar esse recurso se estiver compilando no modo de compatibilidade osf ( /osf ).
|
-
MIDL2167
|
-
esse atributo só é permitido com novas bibliotecas de tipos de formato
- Para usar esse atributo, você precisa da versão do Oleaut32.dll fornecida com o Windows 2000 ou posterior.
|
-
MIDL2168
|
-
uso de wchar_t precisa de /ms_ext ou /c_ext
- O tipo de caractere largo representa uma extensão para DCE IDL. O compilador MIDL não aceita o tipo de caractere largo quando você especifica a opção /osf .
|
-
MIDL2169
|
-
campos sem nome precisam de /ms_ext ou /c_ext
- O DCE IDL não dá suporte ao uso de estruturas ou uniões não nomeadas inseridas em outras estruturas ou uniões. No DCE IDL, todos esses campos inseridos devem ser nomeados. O compilador MIDL não permite seu uso quando você especifica a opção /osf .
|
-
MIDL2170
|
-
campos sem nome podem derivar somente de tipos de struct/união
- A extensão da Microsoft para a IDL de DCE que dá suporte a campos sem nome se aplica apenas a estruturas e uniões. Você deve atribuir um nome ao campo ou redefinir o campo para cumprir essa restrição.
|
-
MIDL2171
|
-
campo de uma união não pode derivar de uma matriz compatível/variável ou seu ponteiro equivalente
- A matriz em conformidade não pode aparecer sozinha na união, mas deve ser acompanhada pelo valor que especifica o tamanho da matriz. Em vez de usar a matriz como o braço de união, use uma estrutura que consiste na matriz compatível e no identificador que especifica seu tamanho.
|
-
MIDL2172
|
-
nenhum atributo [pointer_default] especificado, supondo que [ptr] para todos os ponteiros não atribuídos na interface
- A implementação de IDL de DCE especifica que todos os ponteiros em cada arquivo IDL devem ser associados a atributos de ponteiro. Quando um atributo de ponteiro explícito não é atribuído ao parâmetro ou tipo de ponteiro e nenhum atributo [pointer_default] é especificado no arquivo IDL, o atributo de ponteiro completo ptr é associado ao ponteiro. Você pode alterar os atributos de ponteiro usando atributos de ponteiro explícitos, especificando um atributo [pointer_default] ou especificando a opção /ms_ext para alterar o padrão para ponteiros não atribuídos para [exclusivo].
|
-
MIDL2173
|
-
inicializar a expressão deve resolve a uma expressão constante
- Se uma expressão for usada como inicializador, a expressão deverá ser uma expressão constante. Isso é verdadeiro em todos os modos do compilador MIDL. A expressão deve ser resolvível em tempo de compilação. Especifique uma constante literal ou uma expressão que seja resolvida para uma constante, em vez de uma variável.
|
-
MIDL2174
|
-
a expressão de atributo deve ser do tipo inteiro, char, booliano ou enumeração
- O tipo especificado não resolve a um tipo de comutador válido. Use um tipo inteiro, caractere, byte, booliano ou enumerado ou um tipo derivado de um desses tipos.
|
-
MIDL2175
|
-
constante ilegal
- A constante especificada está fora do intervalo válido para o tipo especificado.
|
-
MIDL2176
|
-
atributo não implementado; Ignorado
- O atributo especificado não é implementado nesta versão do Microsoft RPC. O compilador MIDL continua processando o arquivo IDL como se o atributo não estivesse presente.
|
-
MIDL2177
|
-
o tipo de retorno não deve derivar de um ponteiro [ref]
- Os valores de retorno de função definidos para serem tipos de ponteiro devem ser especificados como ponteiros [exclusivos] ou completos . Você não pode usar ponteiros de referência.
|
-
MIDL2178
|
-
A expressão de atributo deve ser um nome de variável ou uma expressão de desreferência de ponteiro nesse modo. Você deve especificar a opção /ms_ext
- O compilador de IDL do DCE requer que o tamanho associado ao atributo [size_is] seja especificado por uma variável ou variável de ponteiro. Se você quiser aproveitar a extensão da Microsoft que permite que o atributo [size_is] seja definido por uma expressão constante, não será possível usar a opção do compilador /osf .
|
-
MIDL2179
|
-
O parâmetro não deve derivar de uma união nãocapsulada recursiva
- Uma união deve incluir um discriminador, de modo que uma união não possa ter outra união como elemento. Uma união só pode ser inserida em outra união quando faz parte de uma estrutura que inclui o discriminador.
|
-
MIDL2180
|
-
O parâmetro binding-handle não pode ser somente [out]
- O parâmetro handle identificado pelo compilador MIDL como o identificador de associação para essa operação deve ser um parâmetro [in]. [out]-only parâmetros são indefinidos no stub do cliente e o identificador de associação deve ser definido no cliente.
|
-
MIDL2181
|
-
ponteiro para um identificador não pode ser [exclusivo] ou [ptr]
- Você não pode usar os atributos de ponteiro exclusivos e completos para um ponteiro para um identificador. Esses atributos permitem o valor NULL e o identificador de associação não pode ser NULL. Use o atributo [ref] para derivar o parâmetro binding-handle de ponteiros de referência.
|
-
MIDL2182
|
-
O parâmetro que não é um identificador de associação não deve derivar de handle_t
- O tipo de identificador primitivo handle_t não é um tipo de dados válido transmitido pela rede. Altere o tipo de parâmetro para um tipo diferente de handle_t ou remova o parâmetro .
|
-
MIDL2183
|
-
fim inesperado do arquivo encontrado
- O compilador MIDL encontrou o final do arquivo antes que ele pudesse resolve com êxito todos os elementos sintáticos do arquivo. Verifique se o caractere de chave direita de terminação (}) está presente no final do arquivo ou marcar a sintaxe.
|
-
MIDL2184
|
-
tipo derivado de handle_t não deve ter [transmit_as] aplicado a ele
- O tipo de identificador primitivo handle_t não é transmitido pela rede.
|
-
MIDL2185
|
-
[context_handle] não deve ser aplicado a um tipo que tenha [identificador] aplicado a ele
- Os atributos [context_handle] e [handle] não podem ser aplicados ao mesmo tipo.
|
-
MIDL2186
|
-
[handle] não deve ser especificado em um tipo derivado de void ou void *
- Um tipo especificado com o atributo [handle] pode ser transmitido pela rede, mas o tipo void* não é um tipo transmissível. O tipo de identificador deve resolve a um tipo que deriva dos tipos base transmissíveis.
|
-
MIDL2187
|
-
O parâmetro deve ter [in], [out] ou [in,out] nesse modo. Você deve especificar /ms_ext ou /c_ext
- O compilador de IDL do DCE requer que todos os parâmetros tenham parâmetros direcionais explícitos. Para usar as extensões da Microsoft para DCE IDL, você não pode usar a opção /osf , que substitui /ms_ext e /c_ext.
|
-
MIDL2188
|
-
O tipo transmitido não pode derivar de "void" para [transmit_as], [represent_as], [wire_marshal], [user_marshal]
- O atributo [transmit_as] aplica-se somente a tipos de ponteiro. Use o tipo void* no lugar de void.
|
-
MIDL2189
|
-
"void" deve ser especificado na primeira e única especificação de parâmetro
- O palavra-chave nulo aparece incorretamente com outros parâmetros de função. Para especificar uma função sem parâmetros, o palavra-chave void deve ser o único elemento da lista de parâmetros, como no exemplo a seguir:
void Moo(void)
|
-
MIDL2190
|
-
[switch_is] deve ser especificado apenas em um tipo derivado de uma união não recapitulada
- A palavra-chave [switch_is] é aplicada incorretamente. Ele só pode ser usado com tipos de união não encapsulados.
|
-
MIDL2191
|
-
estruturas stringable não são implementadas nesta versão
- A IDL DCE permite que o atributo [string] seja aplicado a uma estrutura cujos elementos consistem apenas em caracteres, bytes ou tipos que resolve a caracteres ou bytes. Não há suporte para essa funcionalidade no Microsoft RPC. O atributo [string] não pode ser aplicado à estrutura como um todo. No entanto, ele pode ser aplicado a cada matriz individual.
|
-
MIDL2192
|
-
o tipo switch só pode ser integral, char, booliano ou enumerado
- O tipo especificado não resolve a um tipo de comutador válido. Use um inteiro, caractere, byte, booliano, tipo de enumeração ou um tipo derivado de um desses tipos.
|
-
MIDL2193
|
-
[handle] não deve ser especificado em um tipo derivado de handle_t
- Um tipo de identificador deve ser definido usando um e apenas um dos tipos de identificador ou atributos. Use o tipo primitivo handle_t ou o atributo [handle], mas não ambos. O tipo de identificador definido pelo usuário deve ser transmissível, mas o tipo de handle_t não é transmitido na rede.
|
-
MIDL2194
|
-
parâmetro derivado de handle_t não deve ser um parâmetro [out]
- Um identificador do tipo primitivo handle_t é significativo apenas para o lado do aplicativo no qual ele é definido. O tipo handle_t não é transmitido na rede.
|
-
MIDL2195
|
-
expressão de atributo deriva de [unique] ou [ptr] pointer dereference
- Embora os atributos [exclusivo] e de ponteiro completo permitam que os ponteiros tenham valores NULL , a expressão que define o atributo size ou length nunca deve ter um valor NULL . Quando ponteiros são usados, MIDL restringe expressões a ponteiros [ref].
|
-
MIDL2196
|
-
"cpp_quote" requer /ms_ext
- O atributo cpp_quote é uma extensão da Microsoft para a IDL do DCE. Não use a opção /osf do compilador MIDL, que substitui /ms_ext.
|
-
MIDL2197
|
-
uuid entre aspas requer /ms_ext
- A capacidade de especificar um valor UUID entre aspas é uma extensão da Microsoft para a IDL do DCE. Não use a opção /osf do compilador MIDL, que substitui /ms_ext.
|
-
MIDL2198
|
-
o tipo de retorno não pode derivar de uma união não recapitulada
- A união não recapitulada não pode ser usada como um tipo de retorno de função. Para retornar o tipo de união, especifique o tipo de união como um parâmetro [out] ou [in, out].
|
-
MIDL2199
|
-
o tipo de retorno não pode derivar de uma estrutura compatível
- O tamanho do tipo de retorno deve ser uma constante. Você não pode especificar como um tipo de retorno uma estrutura que contém uma matriz compatível, mesmo quando a estrutura também inclui seu especificador de tamanho. Para retornar a estrutura compatível, especifique a estrutura como um parâmetro [out] ou [in, out].
|
-
MIDL2200
|
-
[transmit_as] não deve ser aplicado a um tipo derivado de um identificador genérico
- Nesta versão, os atributos [handle] e [transmit_as] não podem ser combinados no mesmo tipo.
|
-
MIDL2201
|
-
[handle] não deve ser aplicado a um tipo que tenha [transmit_as] aplicado a ele
- Nesta versão, os atributos [handle] e [transmit_as] não podem ser combinados no mesmo tipo.
|
-
MIDL2202
|
-
o tipo especificado para a declaração const é inválido
- As declarações constantes são limitadas a tipos inteiros, caracteres, caracteres largos, cadeia de caracteres e boolianos.
|
-
MIDL2203
|
-
não há suporte para operando para o operador sizeof
- O compilador MIDL dá suporte à operação sizeof somente para tipos simples. O operando especificado não é avaliado como um tipo inteiro.
|
-
MIDL2204
|
-
esse nome já usado como um nome de identificador const
- O identificador foi usado anteriormente para identificar uma constante em uma declaração const . Altere o nome de um dos identificadores para que os identificadores sejam exclusivos.
|
-
MIDL2205
|
-
redefinição inconsistente do tipo error_status_t
- O tipo error_status_t deve resolve para o tipo long sem sinal. Outras definições de tipo não podem ser usadas.
|
-
MIDL2206
|
-
[case] valor fora do intervalo do tipo de comutador
- O valor associado ao caso da instrução switch está fora do intervalo para o tipo de comutador especificado. Por exemplo, esse erro ocorre quando um valor inteiro longo é usado na instrução case para um tipo inteiro curto.
|
-
MIDL2207
|
-
parâmetro derivado de necessidades de wchar_t /ms_ext
- O tipo de caractere largo wchar_t é uma extensão da Microsoft para IDL de DCE. Não use a opção /osf do compilador MIDL, que substitui /ms_ext
|
-
MIDL2208
|
-
essa interface tem apenas retornos de chamada
- Os retornos de chamada são válidos apenas no contexto de uma chamada de procedimento remoto. A interface deve incluir pelo menos um protótipo de função para uma chamada de procedimento remoto que não inclua o atributo [retorno de chamada].
|
-
MIDL2209
|
-
atributo com redundância especificada; Ignorado
- O atributo especificado foi aplicado mais de uma vez. Várias instâncias do mesmo atributo são ignoradas.
|
-
MIDL2210
|
-
tipo de identificador de contexto usado para um identificador implícito
- Um tipo que foi definido usando o atributo [context_handle] foi especificado como o tipo de identificador em um atributo [ implicit_handle]. Os atributos não podem ser combinados dessa forma.
|
-
MIDL2211
|
-
opções conflitantes especificadas para [alocar]
- As opções especificadas para o atributo ACF [allocate] representam diretivas conflitantes. Por exemplo, especifique a opção all_nodes ou a opção single_node, mas não ambas.
|
-
MIDL2212
|
-
erro ao gravar no arquivo
- Ocorreu um erro ao gravar no arquivo. Essa condição pode ser causada por erros relacionados ao espaço em disco, identificadores de arquivo, restrições de acesso a arquivos e falhas de hardware.
|
-
MIDL2213
|
-
nenhum tipo de comutador encontrado na definição de união, usando o tipo [switch_is]
- A definição de união não inclui um atributo [switch_type] explícito. O tipo da variável especificada pelo atributo [switch_is] é usado como o tipo de comutador.
|
-
MIDL2214
|
-
semântica marcar incompleta devido a erros anteriores
- O compilador MIDL faz duas passagens sobre os arquivos de entrada para resolve quaisquer declarações de encaminhamento. Devido a erros encontrados durante a primeira passagem, a verificação da segunda passagem não foi executada. Erros não relatados relacionados a declarações de encaminhamento ainda podem estar presentes no arquivo.
|
-
MIDL2215
|
-
não há suporte para o parâmetro handle ou o tipo de retorno em um procedimento [retorno de chamada]
- Um procedimento [retorno de chamada] ocorre no contexto de uma chamada de um cliente para o servidor e usa o mesmo identificador de associação que a chamada original. Parâmetros explícitos de identificador de associação ou tipos de retorno não são permitidos em funções de retorno de chamada.
|
-
MIDL2216
|
-
[ptr] não dá suporte ao aliasing nesta versão
- Um alias ocorre quando os dados são acessíveis por meio de mais de um ponteiro ou nome de variável. Remova o alias. Para obter mais informações, consulte Ponteiros Exclusivos.
|
-
MIDL2217
|
-
parâmetro já definido como um identificador de contexto
- O parâmetro foi definido anteriormente como um identificador de contexto.
|
-
MIDL2218
|
-
[context_handle] não deve derivar de handle_t
- As três características do identificador: o tipo handle_t, o atributo [identificador] e o atributo [context_handle], são mutuamente exclusivos. Apenas uma característica pode ser aplicada a um tipo ou parâmetro de cada vez.
|
-
MIDL2219
|
-
tamanho da matriz excede 65536 bytes
- Em algumas plataformas da Microsoft, o tamanho máximo de dados transmissíveis é 64K. Reprojete seu aplicativo para que todos os dados transmitidos se encaixem no tamanho máximo transmissível.
|
-
MIDL2220
|
-
tamanho da estrutura excede 65536 bytes
- Em algumas plataformas da Microsoft, o tamanho máximo de dados transmissíveis é 64K. Reprojete seu aplicativo para que todos os dados transmitidos se encaixem no tamanho máximo transmissível.
|
-
MIDL2221
|
-
campo de uma união nãocapsulada não pode ser outra união nãocapsulada
- Os sindicatos transmitidos como parte de uma chamada de procedimento remoto exigem um item de dados associado, o discriminante, que seleciona o braço da união. Os sindicatos aninhados em outros sindicatos não oferecem um discriminante; Como resultado, eles não podem ser transmitidos neste formulário. Crie uma estrutura que consiste na união e seu discriminante.
|
-
MIDL2222
|
-
atributos de ponteiro aplicados em uma matriz inserida; Ignorado
- Um atributo de ponteiro só pode ser aplicado a uma matriz quando a matriz é um parâmetro de nível superior. Outros atributos de ponteiro aplicados a matrizes inseridas em outras estruturas de dados são ignorados.
|
-
MIDL2223
|
-
[alocar] é ilegal no tipo transmitido ou apresentado para [transmit_as], [represent_as], [wire_marshal], ou [user_marshal]
- Os atributos [transmit_as] e [allocate] não podem ser aplicados ao mesmo tipo. O atributo [transmit_as] distingue entre tipos apresentados e transmitidos, enquanto o atributo [allocate] pressupõe que o tipo apresentado é o mesmo que o tipo transmitido.
|
-
MIDL2224
|
[switch_type] deve ser especificado neste modo de importação
|
-
MIDL2225
|
-
[implicit_handle] tipo indefinido; supondo que o identificador genérico
- O tipo de identificador especificado no ACF não é definido no arquivo IDL. O compilador MIDL pressupõe que o tipo de identificador seja resolvido para o tipo de identificador primitivo handle_t. Adicione o atributo [handle] à definição de tipo se você quiser que o identificador se comporte como um identificador definido pelo usuário ou genérico.
|
-
MIDL2226
|
-
O elemento array não deve derivar de error_status_t
- Nesta versão do Microsoft RPC, o tipo error_status_t pode aparecer apenas como um parâmetro ou tipo de retorno. Ele não pode aparecer em matrizes.
|
-
MIDL2227
|
-
[alocar] inválido em um tipo derivado de um identificador primitivo/genérico/de contexto
- Por design, o atributo ACF [allocate] não pode ser aplicado aos tipos de identificador.
|
-
MIDL2228
|
-
O tipo transmitido ou apresentado não deve derivar de error_status_t
- Nesta versão do Microsoft RPC, o tipo error_status_t não pode ser usado com o atributo [transmit_as].
|
-
MIDL2229
|
-
discriminante de uma união não deve derivar de um campo com [ignorar] aplicado a ele
- Uma união usada em uma chamada de procedimento remoto deve ser associada a outro item de dados, chamado de discriminante, que seleciona o braço de união. O discriminante deve ser transmitido. O atributo [ignore] não pode ser aplicado ao discriminador da união.
|
-
MIDL2230
|
-
[nocode] ignorado para o lado do servidor, pois "/server none" não foi especificado
- Alguns compiladores de IDL de DCE geram um erro quando o atributo [nocode] é aplicado a um procedimento em uma interface para a qual os arquivos stub do servidor estão sendo gerados. Como o servidor deve dar suporte a todas as operações, [nocode] não deve ser aplicado a um procedimento nesse modo ou você deve usar a opção /server do compilador MIDL para especificar explicitamente que nenhuma rotina de servidor deve ser gerada.
|
-
MIDL2231
|
-
nenhum procedimento remoto especificado na interface não[local]; nenhum stub de cliente/servidor será gerado
- A interface fornecida não tem nenhum procedimento remoto, portanto, somente arquivos de cabeçalho serão gerados.
|
-
MIDL2232
|
-
muitos casos padrão especificados para união encapsulada
- Uma união encapsulada pode ter apenas um padrão: arm.
|
-
MIDL2233
|
-
muitas interfaces padrão especificadas para coclass
- Uma coclass pode ter no máximo dois membros [padrão], um para representar a interface de saída (origem) ou dispinterface e outro para representar a interface de entrada (coletor) ou dispinterface.
|
-
MIDL2234
|
-
itens com [defaultvtable] também devem ter [origem]
- A interface defaultvtable cria uma segunda interface de origem para um objeto , que permite que os coletores recebam eventos por meio da tabela V.
|
-
MIDL2235
|
-
especificação de união sem campos é ilegal
- Os sindicatos devem ter pelo menos um campo.
|
-
MIDL2236
|
-
valor fora do intervalo
- O valor de caso fornecido está fora do intervalo do tipo de comutador.
|
-
MIDL2237
|
-
[context_handle] deve ser aplicado em um tipo de ponteiro
- Os identificadores de contexto sempre devem ser tipos de ponteiro. O DCE especifica que todos os identificadores de contexto devem ser tipado como void *.
|
-
MIDL2238
|
-
O tipo de retorno não deve derivar de handle_t
-
handle_t não pode ser retornado.
|
-
MIDL2239
|
-
[identificador] não deve ser aplicado a um tipo derivado de um identificador de contexto
- Um tipo não pode ser um identificador de contexto e um identificador genérico.
|
-
MIDL2240
|
-
campo derivado de um "int" deve ter o especificador de tamanho "pequeno", "curto" ou "longo" com o "int"
- O tipo int não é transmissível em sistemas de 16 bits, pois o tamanho do int pode ser diferente entre computadores.
|
-
MIDL2241
|
-
O campo não deve derivar de um vazio ou nulo *
-
void e void * não podem ser usados como tipos de parâmetro para procedimentos remotos.
|
-
MIDL2242
|
-
o campo não deve derivar de uma estrutura que contém campos de bits
- Estruturas que contêm campos de bits não podem ser usadas como parâmetros ou tipos de retorno para procedimentos remotos.
|
-
MIDL2243
|
-
field não deve derivar de uma união não rpcable
- Uma união deve ser especificada como uma união nãocapsulada ou união encapsulada para ser transmitida. Os sindicatos C comuns não têm o discriminante necessário para transmitir a união através da rede.
|
-
MIDL2244
|
-
o campo não deve derivar de um ponteiro para uma função
- Ponteiros para funções não podem ser transmitidos para procedimentos remotos. Ponteiros para funções apontam para o código de função e nenhum código de função pode ser transmitido pela rede usando RPC.
|
-
MIDL2245
|
-
não é possível usar [fault_status] em um parâmetro e um tipo de retorno
- O atributo [fault_status] pode ser usado apenas uma vez por procedimento. O atributo [comm_status] pode ser usado independentemente.
|
-
MIDL2246
|
-
tipo de retorno muito complicado para modos /Oi, usando /Os
- Tipos de retorno grandes que são passados por valor só podem ser tratados por stubs de otimização /Os . Os stubs para essa rotina serão gerados usando a otimização /Os .
|
-
MIDL2247
|
-
tipo de identificador genérico muito grande para modos /Oi, usando /Os
- Tipos de identificador genéricos grandes que são passados por valor só podem ser manipulados por stubs de otimização /Os . Os stubs para essa rotina serão gerados usando a otimização /Os .
|
-
MIDL2248
|
-
[allocate(all_nodes)] em um parâmetro [in,out] pode órfão da memória original
- O uso de [allocate(all_nodes)] em um parâmetro [in, out] deve realocar memória contígua para a direção [out], órfã do parâmetro [in]. Esse uso não é recomendado.
|
-
MIDL2249
|
-
não pode ter um ponteiro [ref] como um braço de união
- Os ponteiros de referência sempre devem apontar para a memória válida, mas uma união [in, out] com um ponteiro de referência pode retornar um ponteiro de referência quando a direção [in] usou outro tipo.
|
-
MIDL2250
|
-
retorno de identificadores de contexto sem suporte para modos /Oi, usando /Os
- O MIDL não dá suporte a identificadores de contexto nos modos de otimização totalmente interpretados. Alternar para otimização de modo misto.
|
-
MIDL2251
|
-
uso do parâmetro extra [comm_status] ou [fault_status] sem suporte para modos /Oi, usando /Os
- Os atributos [comm_status] e [fault_status] só podem ser tratados por stubs de otimização /Os . Os stubs para essa rotina serão gerados usando a otimização /Os .
|
-
MIDL2252
|
-
uso de um tipo desconhecido para [represent_as] ou [user_marshal] sem suporte para modos /Oi, usando /Os
- O uso do atributo [represent_as] com um tipo local que não está definido no arquivo IDL ou um arquivo IDL importado só pode ser tratado por stubs de otimização /Os . Os stubs para essa rotina serão gerados usando a otimização /Os .
|
-
MIDL2253
|
-
tipos de matriz com [transmit_as] ou [represent_as] não têm suporte no tipo de retorno para modos /Oi , usando /Os
- Retornar uma matriz com [transmit_as] ou [represent_as] aplicado só pode ser tratado por stubs de otimização /Os . Os stubs para essa rotina serão gerados usando a otimização /Os .
|
-
MIDL2254
|
-
tipos de matriz com [transmit_as] ou [represent_as] sem suporte para pass-by-value para modos /Oi, usando /Os
- Não há suporte para essa ação para otimização totalmente interpretada. Alternar para otimização de modo misto.
|
-
MIDL2255
|
-
[retorno de chamada] requer /ms_ext
- O atributo [retorno de chamada] é uma extensão da Microsoft e exige que a opção /ms_ext seja habilitada. Não compile com /osf, que substitui /ms_ext.
|
-
MIDL2256
|
-
dependência de interface circular
- Essa interface usa a si mesma (direta ou indiretamente) como uma interface base.
|
-
MIDL2257
|
-
somente IUnknown pode ser usado como a interface raiz
- Atualmente, todas as interfaces devem ter IUnknown como a interface raiz.
|
-
MIDL2258
|
-
[IID_IS] só pode ser aplicado a ponteiros para interfaces
- O atributo [iid_is] só pode ser aplicado a ponteiros de interface, embora eles possam ser especificados como ponteiros para IUnknown *.
|
-
MIDL2259
|
-
as interfaces só podem ser usadas em constructos de ponteiro para interface
- Os nomes de interface não podem ser usados, exceto como interfaces base ou ponteiros de interface.
|
-
MIDL2260
|
-
os ponteiros de interface devem ter um UUID/IID
- O tipo base da expressão [iid_is] deve ser um tipo UUID/GUID/IID.
|
-
MIDL2261
|
-
definições e declarações fora do corpo da interface exigem /ms_ext
- Colocar declarações e definições fora de qualquer corpo da interface é uma extensão da Microsoft e requer o uso da opção /ms_ext .
|
-
MIDL2262
|
-
várias interfaces em um arquivo exigem /ms_ext
- O uso de várias interfaces em um único arquivo idl é uma extensão da Microsoft e não está disponível quando você compila no modo /osf .
|
-
MIDL2263
|
-
apenas um dos [implicit_handle], [auto_handle]ou [explicit_handle] permitidos
- Cada interface pode ter apenas um desses três atributos.
|
-
MIDL2264
|
-
[implicit_handle] faz referência a um tipo que não é um identificador
- Os identificadores implícitos devem ser de um dos tipos de identificador.
|
-
MIDL2265
|
-
[objeto] os prócs só podem ser usados com "/env win32"
- Interfaces com o atributo [objeto] não podem ser usadas com ambientes de 16 bits.
|
-
MIDL2266
|
-
[retorno de chamada] com -env dos/win16 sem suporte para /Oi, usando /Os
- Os retornos de chamada em ambientes de 16 bits só podem ser tratados por stubs de otimização /Os . Os stubs para essa rotina serão gerados usando a otimização /Os .
|
-
MIDL2267
|
-
float/double não tem suporte como parâmetro de nível superior para o modo /Oi, usando /Os
- Os tipos float e double só podem ser tratados como parâmetros pelos stubs de otimização /Os . Os stubs para essa rotina serão gerados usando a otimização /Os . Os tipos float e double dentro de estruturas, matrizes ou uniões ainda podem ser tratados com/Os.
|
-
MIDL2268
|
-
ponteiros para identificadores de contexto podem não ser usados como valores retornados
- Os identificadores de contexto devem ser usados como valores de retorno diretos, não valores de retorno indiretos.
|
-
MIDL2269
|
-
os procedimentos em uma interface de objeto devem retornar um HRESULT
- Todos os procedimentos em uma interface de objeto que não têm o atributo -[local] devem retornar um HRESULT/SCODE.
|
-
MIDL2270
|
-
UUID duplicado
- O mesmo que UUIDs deve ser exclusivo.
|
-
MIDL2271
|
-
As interfaces [objeto] devem derivar de outra interface [objeto], como IUnknown
- A herança de interface só é permitida quando você está usando interfaces de objeto.
|
-
MIDL2272
|
-
A interface (assíncrona) deve derivar de outra interface (assíncrona)
- As interfaces de objeto, síncronas e assíncronas, devem derivar de IUnknown ou de alguma outra interface OLE base.
|
-
MIDL2273
|
-
[IID_IS] expressão deve ser um ponteiro para a estrutura IID
- O tipo base da expressão [iid_is] deve ser um tipo UUID/GUID/IID.
|
-
MIDL2274
|
-
O tipo [call_as] deve ser um procedimento [local]
- O destino de um tipo [call_as], se definido, deve ter [ local] aplicado.
|
-
MIDL2275
|
-
undefined [call_as] não deve ser usado em uma interface de objeto
- Você deve definir o destino de um tipo [call_as]. Verifique se você forneceu call_as rotinas para a chamada e os aplicativos chamados.
|
-
MIDL2276
|
-
[auto_handle] não pode ser usado com [codificação] ou [decodificar]
- Os atributos [ codificar] e [ decodificar] só podem ser usados com identificadores explícitos ou identificadores implícitos.
|
-
MIDL2277
|
-
procedimentos normais não são permitidos em uma interface com [codificação] ou [decodificar]
- Interfaces que contêm procedimentos [codificar] ou [decodificar] também não podem ter procedimentos remotos.
|
-
MIDL2278
|
-
conformidade de nível superior ou variação não permitida com [codificação] ou [decodificar]
- Tipos que têm conformidade ou variação de nível superior não podem usar serialização de tipo, pois não há como fornecer dimensionamento/alongamento. No entanto, as estruturas que as contêm têm permissão para usar a serialização de tipo.
|
-
MIDL2279
|
-
[out] parâmetros podem não ter "const"
- Como um parâmetro [out] é alterado, ele não deve ser declarado como constante sa.
|
-
MIDL2280
|
-
valores retornados podem não ter "const"
- Como um valor de função é definido quando a função retorna, esse valor não deve ser declarado como uma constante.
|
-
MIDL2281
|
-
uso inválido do atributo "retval"
- Verifique se você não usou o atributo [opcional] e se o parâmetro [retval] é o último parâmetro na lista.
|
-
MIDL2282
|
-
várias convenções de chamada ilegais
- Somente uma convenção de chamada pode ser aplicada a um único procedimento.
|
-
MIDL2283
|
-
atributo inválido no procedimento [object]
- O atributo acima só se aplica a procedimentos em interfaces que não têm o atributo [object].
|
-
MIDL2284
|
-
[out] ponteiros de interface devem usar indireção dupla
- Como o valor alterado é o ponteiro para a interface, deve haver outro nível de indireção acima do ponteiro para permitir que ele seja retornado.
|
-
MIDL2285
|
-
procedimento usado duas vezes como o chamador em [call_as]
- Um determinado procedimento [local] pode ser usado apenas uma vez como o destino de um [call_as], a fim de evitar conflitos de nome.
|
-
MIDL2286
|
-
[call_as] o destino deve ter [local] em uma interface de objeto
- O destino de um [call_as] deve ser um procedimento [local] definido na interface atual.
|
-
MIDL2287
|
-
[código] e [nocode] podem não ser usados juntos
- Esses dois atributos são contraditórios e não podem ser usados juntos.
|
-
MIDL2288
|
-
procedimentos com atributos [talvez] ou [mensagem] podem não ter parâmetros [out] ou os valores retornados devem ser do tipo HRESULT ou error_status_t
- Como [talvez] os procedimentos nunca retornam, não há como obter valores retornados.
|
-
MIDL2289
|
-
ponteiro para a função deve ser usado
- Embora as definições de tipo de função sejam permitidas no modo /c_ext , elas só podem ser usadas como ponteiros para funções. Eles nunca podem ser transmitidos como um parâmetro ou um valor retornado de um procedimento remoto.
|
-
MIDL2290
|
-
as funções podem não ser passadas em uma operação RPC
- Funções e ponteiros de função não podem ser passados como parâmetros ou valores retornados de procedimentos remotos.
|
-
MIDL2291
|
-
hyper/double não tem suporte como valor retornado para modos /Oi, usando /Os
- Os valores de retorno hiper e duplo podem ser tratados apenas por stubs de otimização /Os . Os stubs para essa rotina serão gerados usando a otimização /Os .
|
-
MIDL2292
|
-
#pragma pack(pop) sem #pragma pack(push) correspondente
- #pragma pack(push) e #pragma pack(pop) devem aparecer em pares correspondentes. Pelo menos um número excessivo de #pragma pacotes(push)s foram especificados.
|
-
MIDL2293
|
-
Os campos de estrutura stringable devem ser byte/char/wchar_t
- O tipo [cadeia de caracteres] só pode ser aplicado a uma estrutura cujos campos são todos de byte de tipo ou uma definição de tipo equivalente a byte.
|
-
MIDL2294
|
-
[notificar] sem suporte para modos /Oi, usando /Os
- O atributo [notify] só pode ser processado por stubs de otimização /Os .
|
-
MIDL2295
|
-
não há suporte para o parâmetro handle ou o tipo de retorno em um procedimento em uma interface [objeto]
- Os identificadores não podem ser usados com interfaces [ objeto].
|
-
MIDL2296
|
-
ANSI C só permite que a matriz mais à esquerda associada não seja especificada
- Em uma matriz compatível, ANSI C permite que apenas a matriz mais à esquerda (mais significativa) associada não seja especificada. Se várias dimensões estiverem em conformidade, MIDL tentará colocar um "1" nas outras dimensões em conformidade. Se as outras dimensões forem definidas em uma definição de tipo diferente, isso não poderá ser possível. Tente colocar todas as dimensões da matriz na declaração de matriz para evitar isso. De qualquer forma, cuidado com os cálculos de indexação de matriz feitos pelo compilador; talvez seja necessário fazer seus próprios cálculos usando os tamanhos reais.
|
-
MIDL2297
|
-
Parâmetros de união por valor não suportados para modos /Oi, usando /Os
- Não há suporte para essa ação para otimização totalmente interpretada. Alternar para otimização de modo misto.
|
-
MIDL2298
|
-
O atributo [versão] é ignorado em uma interface [objeto]
- O atributo [objeto] identifica uma interface COM. Uma lista de atributos de interface para uma interface COM não pode incluir o atributo [ versão].
|
-
MIDL2299
|
-
O atributo [size_is] ou [max_is] é inválido em uma matriz fixa
- Matrizes de tamanho fixo não podem usar os atributos size_is ou max_is .
|
-
MIDL2300
|
-
[codificar] ou [decodificar] são inválidos em uma interface [objeto]
- O atributo [objeto] identifica uma interface COM. Os atributos [codificar] e [ decodificar] habilitam a serialização. Ou seja, você pode fornecer e controlar buffers para marshal e unmarshal de dados, no entanto, não é possível executar a serialização em interfaces COM.
|
-
MIDL2301
|
-
[codificar] ou [decodificar] em um tipo requer /ms_ext
- A serialização não faz parte da especificação DCE-IDL. É uma extensão da Microsoft que requer o uso da opção de linha de comando /ms_ext .
|
-
MIDL2302
|
-
int sem suporte em /env win16 ou /env dos
- As plataformas microsoft de 16 bits não dão suporte ao uso do tipo int em um arquivo IDL. Qualifique o tipo int com pequeno, curto ou longo.
|
-
MIDL2303
|
-
[bstring] só pode ser aplicado a um ponteiro para "char" ou "whchar_t"
- Esse erro está obsoleto. Ele é fornecido apenas para compatibilidade com versões anteriores.
|
-
MIDL2304
|
-
atributo inválido em um procedimento em uma interface [objeto]
- O atributo especificado não é permitido no procedimento em uma interface COM.
|
-
MIDL2305
|
-
atributo inválido em uma interface [objeto]
- O atributo especificado não é permitido em uma interface COM.
|
-
MIDL2306
|
-
muitos parâmetros ou pilha muito grande para modos /Oi, usando /Os
- Esse aviso está obsoleto. Ele é fornecido apenas para compatibilidade com versões anteriores. Indica que a chamada para o procedimento remoto faz com que a pilha cresça mais de 64 K.
|
-
MIDL2307
|
-
nenhum atributo no typedef de arquivo ACF, portanto, nenhum efeito
- O arquivo IDL deve conter todas as instruções typedef que não têm atributos. Eles não devem ocorrer em arquivos ACF. Se o fizerem, o compilador MIDL os interpretará como redundantes e os ignorará.
|
-
MIDL2308
|
-
convenções de chamada diferentes de __stdcall ou __cdecl sem suporte para modos /Oi, usando /Os
- Convenções de chamada como __pascal ou __fastcall alterar o formato da pilha. Os modos /Oi dão suporte apenas às convenções de chamada de __stdcall e __cdecl . Se você precisar usar outras convenções de chamada, use o modo /Os .
|
-
MIDL2309
|
-
Muitos métodos de delegação na interface exigem o Windows 2000 ou superior
- Uma interface pode herdar de outra. Quando isso acontece, os métodos da interface base são considerados delegados. Nenhuma interface derivada pode conter mais de 256 métodos delegados.
|
-
MIDL2310
|
-
identificadores automáticos sem suporte com /env mac ou /env powermac
- Ao compilar o arquivo IDL para um PowerMac, você não pode usar identificadores de associação automática. Você deve especificar identificadores explícitos ou implícitos.
|
-
MIDL2311
|
-
instruções fora do bloco de biblioteca são ilegais no modo de compatibilidade mktyplib
- Talvez seja necessário especificar a opção de linha de comando /mktyplib203 ao compilar o arquivo IDL.
Observação:
A ferramenta Mktyplib.exe está obsoleta. Em vez disso, use o compilador MIDL.
|
-
MIDL2312
|
-
sintaxe ilegal, a menos que use o modo de compatibilidade mktyplib
- Talvez seja necessário especificar a opção de linha de comando /mktyplib203 ao compilar o arquivo IDL.
Observação:
A ferramenta Mktyplib.exe está obsoleta. Em vez disso, use o compilador MIDL.
|
-
MIDL2313
|
-
definição ilegal, deve usar typedef no modo de compatibilidade mktyplib
- Talvez seja necessário especificar a opção de linha de comando /mktyplib203 ao compilar o arquivo IDL.
Observação:
A ferramenta Mktyplib.exe está obsoleta. Em vez disso, use o compilador MIDL.
|
-
MIDL2314
|
-
atributo de ponteiro explícito [ptr] [ref] ignorado para ponteiros de interface
- Ponteiros para interfaces não podem ter atributos IDL.
|
-
MIDL2315
|
Modos /Oi não implementados para o PowerMac, alternando para /Os
|
-
MIDL2316
|
-
Tipo de expressão ilegal usado no atributo
- O valor padrão do ponteiro deve ser uma constante.
|
-
MIDL2317
|
-
tipo ilegal usado no pipe
- Os pipes são limitados a tipos de dados IDL básicos. Por exemplo, você não pode especificar um pipe de matrizes.
|
-
MIDL2318
|
-
O procedimento usa pipes, usando /Oicf
- O modo selecionado não dá suporte a pipes. O compilador MIDL detectou o uso de um ou mais pipes em sua interface. Portanto, ele está compilando o arquivo IDL no modo /Oicf .
|
-
MIDL2319
|
-
o procedimento tem um atributo que requer o uso de /Oif, alternando modos
- Você deve compilar procedimentos [assíncronos] no modo /Oif .
|
-
MIDL2320
|
-
requisitos de otimização conflitantes, não é possível otimizar
- Esse erro geralmente indica que você especificou os modos do compilador /Os e /Oi (ou uma variante dos modos do compilador MIDL /Oi). Isso também pode significar que os recursos especificados em seus arquivos IDL e ACL exigem o uso de ambos os modos. Você deve selecionar um modo ou outro para otimizar.
|
-
MIDL2321
|
-
pipes não podem ser elementos de matriz ou membros de estruturas ou uniões
- Os tipos de dados de pipe só podem ser parâmetros de nível superior.
|
-
MIDL2322
|
-
uso inválido de pipe
- Não é possível usar pipes com os atributos [transmit_as], [represent_as]ou [user_marshal]. Além disso, os pipes não podem ser usados como tipos de retorno.
|
-
MIDL2323
|
-
O recurso requer a opção de otimização interpretada avançada; use -Oicf
- Esse erro indica que as opções de linha de comando do compilador MIDL, como /robust , exigem o uso do modo /Oicf .
|
-
MIDL2324
|
-
O recurso requer a opção de otimização interpretada avançada; use -Oicf
- Esse aviso indica que as opções de linha de comando do compilador MIDL, como /robust , exigem o uso do modo /Oicf .
|
-
MIDL2329
|
-
a opção de otimização está sendo eliminada gradualmente, use -Oic
- O modo de otimização /Oi1 foi especificado na linha de comando MIDL. Esse modo não tem mais suporte e /Oicf deve ser usado.
|
-
MIDL2330
|
-
a opção de otimização está sendo eliminada gradualmente, use -Oicf
- O modo de otimização /Oi2 foi especificado na linha de comando MIDL. Esse modo não tem mais suporte e /Oicf deve ser usado.
|
-
MIDL2331
|
-
a opção de otimização está sendo eliminada gradualmente, use -ic
- O modo de otimização i1 foi especificado em um atributo ACF [otimizar]. Esse modo não tem mais suporte e o icf deve ser usado.
Exemplo de arquivo ACF:
[optimize("i1")] roo(); //MIDL 2331
|
-
MIDL2332
|
-
a opção de otimização está sendo eliminada gradualmente, use -icf
- O modo de otimização i2 foi especificado em um atributo ACF [otimizar]. Esse modo não tem mais suporte e o icf deve ser usado.
Exemplo de arquivo ACF:
[optimize("i2")] roo(); //MIDL 2332
|
-
MIDL2333
|
-
as opções -old e -new são obsoletas, use -oldtlb e -newtlb
- Essa mensagem é obsoleta e não é mais omitida pelo MIDL.
|
-
MIDL2334
|
-
valor de argumento inválido
- As variantes permitidas da opção de linha de comando /O incluem /Os, /Oi, /Oic, /Oicf e /Oif.
|
-
MIDL2335
|
-
tipo de expressão ilegal em constante
- A expressão não é avaliada como uma constante.
|
-
MIDL2336
|
-
tipo de expressão ilegal na enumeração
- Um valor enumerado em uma definição de enumeração não é avaliado como um tipo integral.
|
-
MIDL2337
|
-
declaração de encaminhamento insatisfeida
- O compilador MIDL não pôde resolve a definição de uma declaração de encaminhamento.
|
-
MIDL2338
|
-
opções são contraditórios
- Você não pode usar as opções de linha de comando /osf e /ms_ext ao compilar um arquivo IDL. Você deve escolher um ou outro.
|
-
MIDL2339
|
-
MIDL não pode gerar informações hookole para a união não rpc-able
- Esse erro está obsoleto. Ele é fornecido estritamente para compatibilidade com versões anteriores.
|
-
MIDL2340
|
-
nenhuma expressão de caso encontrada para união
- Cada campo de uma união deve ter uma instrução case com uma expressão constante.
|
-
MIDL2341
|
-
[user_marshal] e [wire_marshal] não têm suporte com sinalizadores -Oi e -Oic, use -Os ou -Oicf
- Os atributos [user_marshal] e [wire_marshal] exigem os recursos de otimização específicos disponíveis apenas em /Oicf (proxy sem código com cadeias de caracteres de formato rápido) ou /Os (marshaling de modo misto).
|
-
MIDL2342
|
-
pipes não podem ser usados com serialização de dados, ou seja, [codificar] e/ou [decodificar]
- Você não pode passar pipes como parâmetros para procedimentos que têm os atributos [codificar] ou [decodificar].
|
-
MIDL2343
|
-
todos os ponteiros da interface de pipe devem usar indireção única
- Você não pode usar um ponteiro para um ponteiro para uma interface de pipe dessa maneira.
|
-
MIDL2344
|
-
[iid_is()] não pode ser usado com um ponteiro de interface de pipe
- Essa mensagem está obsoleta. Essa mensagem não é mais usada pelo compilador.
|
-
MIDL2345
|
-
opção -lcid inválida ou inválida
- O LCID (identificador local) especificado não é válido.
|
-
MIDL2346
|
-
o lcid especificado é diferente da especificação anterior
- Os valores especificados em /lcid e [lcid] são diferentes. O compilador MIDL usará o último definido.
|
-
MIDL2347
|
-
importlib não é permitido fora de um bloco de biblioteca
- Todas as instruções [importlib] devem ocorrer em um bloco [biblioteca].
|
-
MIDL2348
|
-
valor de ponto flutuante inválido
- Esse erro não deve ser emitido por MIDL. Se você vir esse erro, relate um bug à Microsoft fornecendo todos os arquivos necessários para reproduzir o erro, incluindo seus arquivos IDL, arquivos ACF, cabeçalhos etc.
|
-
MIDL2349
|
-
membro inválido
- Os procedimentos não podem ser membros de uma biblioteca.
|
-
MIDL2350
|
-
possível membro inválido
- Para ser um membro válido de uma biblioteca, o elemento de biblioteca deve ser um módulo, uma dispinterface, uma coclasse, uma instrução if, uma estrutura, uma união, uma enumeração ou uma declaração de encaminhamento.
|
-
MIDL2351
|
-
incompatibilidade em tipos de pipe e interface
- Essa mensagem está obsoleta.
|
-
MIDL2352
|
-
cadeia de caracteres, matriz variável, matriz de conformidade e parâmetros de ponteiro completo podem ser incompatíveis com parâmetros de pipe durante o tempo de execução
- Um método que combina uma ou mais cadeias de caracteres [in], matrizes variadas, matrizes de conformidade e parâmetros de ponteiro completo e qualquer parâmetro de pipe [in] resulta na geração de um stub que é executado somente em sequências de protocolo ncacn_* e ncalrpc em computadores Windows. Usar o stub para fazer chamadas em sequências de protocolo ncadg_* ou aceitar chamadas de outros fornecedores de RPC do OSF DCE pode gerar falhas no servidor durante o tempo de execução. Esse erro ocorre a partir do Windows Server 2003.
|
-
MIDL2353
|
-
parâmetro deve estar em
- Os identificadores assíncronos devem ser parâmetros [in].
|
-
MIDL2354
|
-
tipo de parâmetro de um objeto [assíncrono] deve ser um ponteiro duplo para uma interface
- O parâmetro deve ser do tipo IAsyncManager **.
|
-
MIDL2355
|
-
tipo de identificador assíncrono incorreto
- O tipo de identificador deve ser IAsyncManager ou um tipo derivado de IAsyncManager.
|
-
MIDL2356
|
-
o comutador "interno" permite recursos sem suporte, use com cuidado
- Evite usar essa opção.
|
-
MIDL2357
|
-
Os procedimentos assíncronos não podem usar o identificador automático
- Os procedimentos com o atributo [assíncrono] exigem identificadores explícitos.
|
-
MIDL2358
|
-
error_status_t deve ter [comm_status] e [fault_status]
- Um procedimento foi especificado com os atributos IDL [talvez] ou [mensagem], mas o tipo de retorno tem apenas os atributos ACF [comm_status] ou [fault_status]. Ambos os atributos ACF são necessários.
Exemplo de arquivo ACF:
[comm_status] roo(); //MIDL 2358
[fault_status] bar(); //MIDL 2358
[comm_status, fault_status] baz(); //OK
|
-
MIDL2359
|
-
esse constructo só é permitido dentro de um bloco de biblioteca
- Um módulo só pode ocorrer dentro de um bloco de biblioteca.
|
-
MIDL2360
|
-
redefinição de tipo inválida
- Um novo tipo foi definido recursivamente em um tipo inexistente.
Exemplo:
typedef roo roo[10]; //MIDL 2360
|
-
MIDL2361
|
-
os procedimentos com um atributo [vararg] devem ter um parâmetro SAFEARRAY(VARIANT) ; param order is [vararg], [lcid], [retval]
- A maioria dos parâmetros para procedimentos com o atributo [vararg] deve ocorrer antes do parâmetro SAFEARRAY(VARIANT ). O parâmetro SAFEARRAY(VARIANT) deve estar presente. Se a lista de parâmetros contiver um parâmetro com o atributo [ lcid], ela deverá seguir o parâmetro SAFEARRAY(VARIANT ). Se a lista de parâmetros contiver um parâmetro com o atributo [retval], ela deverá ocorrer após o parâmetro com o atributo [lcid].
|
-
MIDL2363
|
-
muitos métodos na interface exigem o Windows 2000 ou superior
- O compilador MIDL não permite mais de 1024 métodos em uma interface quando você está compilando no modo /Oicf .
|
-
MIDL2364
|
-
a opção está sendo eliminada gradualmente
- Os seguintes comutadores são obsoletos: /hookole, /env win16 e /env.
|
-
MIDL2365
|
-
não pode derivar de IAdviseSink, IAdviseSink2 ou IAdviseSinkEx
- Essas interfaces não podem ser estendidas.
|
-
MIDL2366
|
-
não é possível atribuir um valor padrão
- Atribuir um valor padrão a um parâmetro é permitido no Visual Basic, mas não no C++. Se você estiver usando C++, o valor padrão será ignorado.
|
-
MIDL2367
|
-
não há suporte para a geração de biblioteca de tipos para DOS/Win16/MAC
- O MIDL não dá suporte a bibliotecas de tipo de 16 bits.
|
-
MIDL2368
|
-
erro ao gerar biblioteca de tipos, ignorado
- Ocorreu um erro não fatal ao gerar a biblioteca de tipos.
|
-
MIDL2369
|
-
tamanho de pilha excedido para /Oi, usando /Os
- O modo de otimização -Oi é limitado a 128 bytes de espaço de pilha para parâmetros. O compilador alternou automaticamente para o modo de otimização do sistema operacional para contornar essa limitação.
Para evitar esse aviso, use os modos de otimização -Oicf ou -Os. O modo de otimização pode ser alterado na linha de comando especificando -Oicf ou -Os em vez de -Oi ou adicionando um atributo [optimize9"icf")] ou otimizar[("s")] à função no arquivo ACF. Esse aviso normalmente acontece ao passar estruturas grandes como parâmetros por valor. O tamanho da pilha necessário pode ser reduzido passando um ponteiro para a estrutura. Exemplo:
typedef struct
{
char a[127];
}
large;
//This function has a stack size of 132 (x86) or 136 (alpha) on 32-bit systems
void roo(large s, int a); //MIDL 2360
// workaround: pass by reference
void bar (large *s, int a);
|
-
MIDL2370
|
-
o uso de /robust requer /Oicf, alternando modos
- Você deve compilar no modo /Oicf quando especificar a opção /robust na linha de comando.
|
-
MIDL2371
|
-
intervalo incorreto especificado
- O valor mais alto especificado em um atributo [intervalo] é menor que o valor mais baixo.
Exemplo:
void roo([range(3,2)] int a); //MIDL 2371
|
-
MIDL2372
|
-
combinação inválida de parâmetros somente [in] e [out] para a interface [async_uuid]
- Somente combinações simples de atributos com parâmetros [in] ou [out] são permitidas para esse tipo de interface.
|
-
MIDL2373
|
-
Plataformas DOS, Win16 e MAC não têm suporte com /robust
- O MIDL dá suporte à opção /robust no Microsoft Windows 2000 ou posterior.
|
-
MIDL2374
|
-
O suporte para proxies sem stub no estilo NT 3.51 para interfaces de objeto será eliminado gradualmente; use /Oif.
- Esse modo é obsoleto. Use /Oif ou /Oicf.
|
-
MIDL2375
|
-
[codificar] ou [decodificar] com /robust requer /Oicf
- A serialização não pode ser executada quando a opção /robust é especificada.
|
-
MIDL2377
|
-
atributos conflitantes especificados
- [context_handle_serialize] e [context_handle_noserialize] foram especificados.
|
-
MIDL2378
|
-
[serializar], [noserialize] pode ser aplicado a context_handles
- Os atributos ACF [context_handle_serialize] ou [context_handle_noserialize] só podem ser aplicados a tipos que são identificadores de contexto.
Exemplo de arquivo IDL:
typedef /*[context_handle] */ void *PV; //Note: PV is *not* a context handle.
Exemplo de arquivo ACF:
typedef [context_handle_serialize] PV; //MIDL 2378
|
-
MIDL2379
|
-
O compilador atingiu um limite para uma representação de cadeia de caracteres de formato. Consulte a documentação para obter conselhos.
- O compilador MIDL tem um limite de 64 KB para cadeias de caracteres de formato. Esse erro geralmente ocorre quando os arquivos IDL incluem outros arquivos IDL. O arquivo IDL composto gerado por todas as instruções include excede os limites das tabelas de representação de tipo do interpretador do mecanismo de marshaling. Tente usar a diretiva de importação em vez da diretiva include em seus arquivos IDL. Para obter mais informações, consulte Importando arquivos de cabeçalho do sistema, inclua e importe.
|
-
MIDL2380
|
-
O formato de fio pode estar incorreto, talvez seja necessário usar -ms_conf_struct, consulte a documentação para obter conselhos
- O compilador MIDL não pôde gerar um formato transmissível para os dados. Uma maneira comum de obter esse erro é definir um ms_conf_struct dentro de uma estrutura complexa.
|
-
MIDL2381
|
-
um tamanho de pilha ou um deslocamento maior que o limite de 64 K. Consulte a documentação para obter conselhos.
- A chamada resulta em uma pilha maior que 64 KB. Tente passar os dados em blocos menores.
|
-
MIDL2382
|
-
um modo interpretador forçado para a plataforma de 64 bits
- As plataformas de 64 bits exigem o modo de compilação /Oicf.
|
-
MIDL2383
|
-
O tamanho do elemento de matriz é maior que o limite de 64 KB.
- Todos os elementos de matriz devem ter menos de 64 KB de tamanho.
|
-
MIDL2384
|
-
pode haver apenas um parâmetro [Icid] em um método e deve ser o último ou o segundo a durar se o último parâmetro tiver [retval]
- Um parâmetro com o atributo [lcid] deve ocorrer por último. A única exceção é quando também há um parâmetro com o atributo [retval]. Quando ambos ocorrem, o segundo ao último parâmetro na lista de parâmetros deve ter o atributo [ lcid]. O último parâmetro deve ter o atributo [retval].
|
-
MIDL2385
|
-
sintaxe incorreta para midl_pragma
- O compilador MIDL detectou um erro de sintaxe desconhecido em uma instrução midl_pragma.
|
-
MIDL2386
|
-
não há suporte para __int3264 no modo /osf
- Se você precisar usar __int3264, compile no modo /ms-ext.
|
-
MIDL2387
|
-
símbolo não resolvido na biblioteca de tipos
- O compilador não pôde resolve uma declaração formal ou tipo referenciado na biblioteca de tipos.
|
-
MIDL2388
|
-
Pipes assíncronos não podem ser passados por valor
- Os pipes assíncronos devem ser passados por referência ou por endereço.
|
-
MIDL2389
|
-
deslocamento de parâmetro exceder o limite de 64 KB para procedimentos interpretados
- Esse erro normalmente significa que um procedimento tem muitos parâmetros.
|
-
MIDL2390
|
-
elemento de matriz inválido
- Os pipes não podem ser usados como elementos de matriz.
|
-
MIDL2391
|
-
os membros dispinterface devem ser métodos, propriedades ou interfaces
- Uma dispinterface não pode conter definições de tipo, estruturas, enumerações ou uniões.
|
-
MIDL2392
|
-
[local] procedimento sem [call_as]
- Os procedimentos de objeto que têm o atributo [local] também exigem o atributo [call_as].
|
-
MIDL2393
|
-
vetor multidimensional, alternando para /Oicf
- O modo de otimização /Os não dá suporte a matrizes de tamanho não fixadas multidimensionais. O compilador alternou automaticamente o modo de otimização para /Oicf para essa função.
Esse aviso pode ser suprimido globalmente alterando o modo do compilador especificando /Oicf na linha de comando MIDL ou usando midl_pragma aviso (desabilitar: 2393) no arquivo IDL. O modo de otimização pode ser alterado para uma função individual adicionando o atributo [optimize("icf")] à função no arquivo ACF. O exemplo a seguir demonstra este aviso:
void roo(long s1, [size_is(s1)] long a[][30]; //MIDL2393
void bar(long s1, long s2, [size_is(s1,s2) long **a);//MIDL2393
|
-
MIDL2395
|
-
tipo ou constructo sem suporte em um bloco de biblioteca porque Oleaut32.dll suporte para tipos polimórficos de 64 KB está ausente
- A automação OLE não dá suporte a tipos polimórficos (como _int3264, INT_PTR etc. Esses tipos têm representações de dados incompatíveis entre plataformas de 32 bits e 64 bits. A chamada remota falhará em tempo de execução em plataformas de 64 bits.
Observação:
Observe que, a partir da versão do Windows 2000, os arquivos TLB de 64 bits têm suporte da Automação OLE convertendo informações de TLB de 32 bits em tempo de execução. Portanto, somente a geração de TLB de 32 bits é compatível com MIDL.
Se MIDL estiver sendo usado apenas para gerar um arquivo de cabeçalho, a opção /notlb suprimirá a geração do arquivo TLB.
|
-
MIDL2396
|
-
código interpretador antigo sendo gerado para 64b
- Esse erro está obsoleto. Se você vir esse erro, relate um bug à Microsoft dando seus arquivos IDL, arquivos ACF e linha de comando MIDL completa.
|
-
MIDL2397
|
-
não há mais suporte para a opção do compilador
- Não há mais suporte para o comutador ou comutador especificado.
|
-
MIDL2398
|
-
não é possível executar o mecanismo MIDL
- A partir da versão do Windows 2000 (VERSÃO MIDL 5.03.279), o compilador MIDL é implementado usando dois arquivos executáveis: Midl.exe (o driver) e Midlc.exe (o mecanismo do compilador). Esse erro indica que o Midl.exe não pode iniciar Midlc.exe. Verifique se Midlc.exe está no mesmo diretório que Midl.exe e se eles são a mesma versão.
O erro pode ter sido causado pela cópia de Midl.exe, mas não Midlx.exe da distribuição mais recente. Execute midl e/ou midlc na linha de comando sem parâmetros para ver o número de versão do executável. |
-
MIDL2399
|
-
comandos inválidos do driver
- A partir da versão do Windows 2000 (VERSÃO MIDL 5.03.279), o compilador MIDL é implementado usando dois arquivos executáveis: Midl.exe (o driver) e Midlc.exe (o mecanismo do compilador). Esse erro indica que o arquivo temporário usado para passar comandos de Midl.exe para Midlc.exe está ausente ou corrompido. Verifique se Midlc.exe está no mesmo diretório que Midl.exe e se eles são da mesma versão.
O erro pode ter sido causado pela tentativa de executar Midlc.exe diretamente ou copiando Midl.exe, mas não Midlc.exe da distribuição mais recente. Execute midl e/ou midlc na linha de comando sem parâmetros para ver o número de versão do executável. |
-
MIDL2400
|
-
para automação ole, os parâmetros opcionais devem ser VARIANT ou VARIANT *
- A Automação OLE exige que todos os parâmetros [opcionais] sejam do tipo VARIANT ou VARIANT*.
Na automação OLE, o uso de parâmetros não VARIANT pode fazer com que a chamada falhe em tempo de execução ou passe dados indefinidos para os parâmetros [opcionais]. |
-
MIDL2401
|
-
[defaultvalue] é aplicado a um não VARIANT e [opcional]. Remova [opcional]
- O atributo [defaultvalue] implica [opcional]. O atributo [ opcional] não é necessário.
|
-
MIDL2402
|
-
O atributo [opcional] é inaplicável fora de um bloco de biblioteca
- A funcionalidade implícita pelo atributo [ opcional] não é aplicável a proxies gerados para uma interface fora de um bloco de biblioteca.
|
-
MIDL2403
|
-
O tipo de dados do parâmetro [Icid] deve ser longo
- A Automação OLE exige que os parâmetros com o atributo [Icid] sejam do tipo long.
|
-
MIDL2404
|
-
procedimentos com [propput], [propget] ou [propref] não podem ter mais de um parâmetro necessário após [opcional]
- Não pode haver mais de um parâmetro sem [opcional] após o último parâmetro com [opcional] ao usar [propput], [propget], ou [ propputref].
|
-
MIDL2405
|
-
[comm_status] ou [fault_status] com pickling requer -Oicf
- O modo de otimização -Oi antigo não dá suporte a procedimentos ou parâmetros com [ comm_status] ou [ fault_status] com pickling (ou seja, usando [ codificação] e/ou [ decodificação]).
Esse aviso pode ser suprimido globalmente especificando -Oicf na linha de comando MIDL ou para uma função individual adicionando o atributo [optimize("icf:)] à função no arquivo ACF. Em geral, o modo de otimização -Oicf é recomendado no modo -Oi . |
-
MIDL2406
|
-
incompatibilidade de versão do compilador e do driver midl
- A partir da versão do Windows 2000 (VERSÃO MIDL 5.03.279), o compilador MIDL é implementado usando dois arquivos executáveis: Midl.exe (o driver) e Midlc.exe (o mecanismo do compilador). Esse erro indica que a versão do Midl.exe não corresponde à versão do Midlc.exe.
O erro pode ter sido causado pela cópia Midl.exe, mas não Midlc.exe da distribuição mais recente. Execute midl e/ou midlc na linha de comando sem parâmetros para ver o número de versão do executável. |
-
MIDL2407
|
-
nenhum arquivo intermediário especificado: use Midl.exe
- A partir da versão do Windows 2000 (VERSÃO MIDL 5.03.279), o compilador MIDL é implementado usando dois arquivos executáveis: Midl.exe (o driver) e Midlc.exe (o mecanismo do compilador). Esse erro indica que Midlc.exe foi executado diretamente em vez de usar Midl.exe.
|
-
MIDL2408
|
-
problema de processamento com um parâmetro em um procedimento
- Esse erro pode ser visto ao importar dados de um TLB e quando um procedimento tem um parâmetro inválido.
Se você vir esse erro, relate um bug à Microsoft. Especifique seus arquivos IDL, arquivos ACF, arquivo TLB e linha de comando MIDL completa. |
-
MIDL2409
|
-
problema de processamento com um campo em uma estrutura
- Esse erro pode ser visto ao importar dados de um TLB e quando uma estrutura tem um campo de união ou estrutura inválido.
Se você vir esse erro, relate um bug à Microsoft. Especifique seus arquivos IDL, arquivos ACF, arquivo TLB e linha de comando MIDL completa. |
-
MIDL2410
|
-
inconsistência interna do compilador detectada: o deslocamento de cadeia de caracteres de formato é inválido. Para saber mais, confira a documentação .
- O compilador MIDL detectou um valor inválido em suas estruturas de dados internas. Isso pode ser causado por estruturas recursivas ou pelo compilador que viola seus próprios limites de representação para dados internos. Para identificar e/ou contornar o problema, tente simplificar o arquivo IDL. Você pode fazer isso simplificando parâmetros complexos e estruturas de dados recursivas ou tornando o arquivo IDL menor dividindo-o. Essa mensagem pode ser acompanhada por uma impressão de diagnóstico com informações adicionais sobre o problema.
Se você vir esse erro, relate um bug à Microsoft. Especifique seus arquivos IDL, arquivos ACF, linha de comando MIDL completa e saída de diagnóstico, se houver. |
-
MIDL2411
|
-
inconsistência interna do compilador detectada: o deslocamento de tipo é inválido. Para saber mais, confira a documentação .
- O compilador MIDL detectou um valor inválido em suas estruturas de dados internas. Isso pode ser causado por estruturas recursivas ou pelo compilador que viola seus próprios limites de representação para dados internos. Para identificar e/ou contornar o problema, tente simplificar o arquivo IDL. Você pode fazer isso simplificando parâmetros complexos e estruturas de dados recursivas ou tornando o arquivo IDL menor dividindo-o. Essa mensagem pode ser acompanhada por uma impressão de diagnóstico com informações adicionais sobre o problema.
Se você vir esse erro, relate um bug à Microsoft. Especifique seus arquivos IDL, arquivos ACF, linha de comando MIDL completa e saída de diagnóstico, se houver. |
-
MIDL2412
|
-
Não há suporte para a sintaxe SAFEARRAY(roo) fora do bloco de biblioteca, use LPSAFEARRAY para proxy
- SAFEARRAYs explicitamente tipado não são permitidos fora de um bloco de biblioteca. Em vez disso, use LPSAFEARRAY.
O exemplo a seguir demonstra esse erro:
void roo(SAFEARRAY(long) *a); //MIDL2412 when outside a library block
void roo(LPSAFEAEEAY a); //OK
|
-
MIDL2413
|
-
não há suporte para campos de bits
- Os campos de bits no estilo C não são compatíveis com MIDL. Isso se aplica à geração de proxy, bem como à geração de TLB.
|
-
MIDL2414
|
-
não há suporte para tipos de retorno complexos ou de ponto flutuante com [decodificação] em -Oicf, usando -OI
- Não há suporte para procedimentos com tipos de retorno de ponto flutuante ou estrutura/união no seletor de estilo -Oicf. Uma solução alternativa para 32 bits é usar o modo de otimização -Oi ao serializar dados (usando [codificar] e/ou [decodificar]). No entanto, como o antigo interpretador de estilo Oi e o suporte a pickling estão programados para serem eliminados gradualmente após a versão do Windows 2000, o uso de ponteiros é altamente sugerido como a solução alternativa para esse problema. Observe também que, normalmente, a alteração de um método de interface para usar um ponteiro [out, ref] em vez do valor retornado que causa o problema é totalmente compatível com versões anteriores na transmissão e pode ser facilmente ocultada da camada do aplicativo.
Esse aviso pode ser suprimido globalmente especificando -Oi na linha de comando MIDL ou para uma função individual adicionando o atributo [optimize("i")] à função no arquivo ACF. O exemplo a seguir demonstra o problema: roo.idl:
double GetDouble();
roo.acf:
[decode] GetDouble();
Uma opção para contornar essa limitação seria passar um parâmetro [out] para manter o resultado em vez de usar um valor retornado: roo.idl:
void GetDouble([out] double *result); //top level pointer is a [ref] pointer
roo.acf:
[decode] GetDouble();
Conforme mencionado anteriormente, a solução descrita acima é boa não apenas para as novas interfaces, mas também como uma solução alternativa para as antigas. A representação de transmissão para o novo argumento "out" é a mesma do valor retornado (aviso nulo que o novo valor retornado). |
-
MIDL2415
|
-
não há suporte para o tipo de retorno para 64 bits ao usar [decodificar]
- Não há suporte para procedimentos com tipos de retorno de ponto flutuante ou estrutura/união no modo de 64 bits ao executar a serialização de dados (usando [ codificação] e/ou [ decodificação]). Isso está relacionado ao antigo interpretador de estilo Oi e ao serializador de dados que não têm suporte na plataforma de 64 bits. Consulte a descrição do MIDL2414 para obter mais informações.
O exemplo a seguir demonstra esse erro: roo.idl:
double GetDouble();
roo.acf:
[decode] GetDouble();
A seguir, é recomendável uma solução alternativa para interfaces novas e antigas. Use um parâmetro [out] para manter o resultado em vez de usar um valor retornado: roo.idl:
void GetDouble([out] double *result); //top level pointer is a [ref] pointer.
roo.acf:
[decode] GetDouble();
Observe que essa solução é totalmente compatível com versões anteriores, pois a representação de fio de um ponteiro [ref, out] ou um duplo é igual à de um duplo. |
-
MIDL2416
|
-
O tipo transmitido pode não conter um ponteiro completo para [wire_marshal] ou [user_marshal]
- Tipos com atributos [ wire_marshal] ou [ user_marshal] podem não conter ponteiros completos ([ ptr]). Use [ unique] ou [ ref] em vez disso.
O exemplo a seguir demonstra esse erro:
typedef struct
{
[ptr] long *a; //Should use [ref] or [unique] instead
}
st1;
typedef [wire_marshal(st1)] struct
{
long a;
}
st2:
void roo(st2 *s); //MIDL2416
|
-
MIDL2417
|
-
o tipo transmitido deve ser um ponteiro ou ter um tamanho constante para [wire_marshal] e [user_marshal]
- Tipos de nível superior com atributos [ wire_marshal] ou [ user_marshal] devem ter um tamanho bem definido em tempo de compilação. Eles não podem ser ou conter matrizes em conformidade ou de tamanho variável.
O exemplo a seguir demonstra esse erro:
typedef struct //Type contains variable-sized array
{
long s;
[size_is(s)] char a[];
}
st1;
typedef [wire_marshal(st1)] struct
{
long a;
}
st2;
void roo(st2 *s); //MIDL2417
|
-
MIDL2418
|
-
os procedimentos com [propget] devem ter pelo menos um parâmetro ou um valor retornado
- Os procedimentos com o atributo [propget] devem ter algum meio de retornar o valor da propriedade. Eles devem ter pelo menos um parâmetro [out] ou um valor retornado.
|
-
MIDL2461
|
-
O atributo [readonly] foi aplicado no nível do método.
- O atributo [readonly] só pode ser aplicado no nível do parâmetro.
|
-
MIDL2465
|
-
Estruturas que contêm matrizes em conformidade devem ser passadas por referência
- Os parâmetros de nível superior no RPC devem ter um tamanho bem definido no tempo de compilação. Eles não podem ser, nem contêm matriz compatível ou de tamanho variável. Além disso, os usuários não podem codificar/decodificar um tipo sem tamanho bem definido. Os aplicativos precisam passar struct compatível/struct variável em conformidade por referência.
O exemplo a seguir demonstra esse erro:
typedef struct //Type contains variable-sized array
{
long s;
[size_is(s)] char a[];
}
st1;
void roo(st1 s); //MIDL2465
on .acf file
typedef [encode,decode] st1; //MIDL2465
|
-
MIDL9008
|
-
código> de erro do sistema de problemas <do compilador interno – o compilador não pode continuar por um motivo desconhecido. Confira a documentação para obter uma solução alternativa.
- O compilador não pôde continuar e a causa do erro é desconhecida. O número de erro hexadecimal é um identificador de erro do sistema. A compilação pode ter falhado devido a um problema externo, como uma condição de memória insuficiente. Nesse caso, você pode encontrar mais informações em Winerror.h ou Ntstatus.h.
Há duas situações que geralmente geram esse erro:
- O compilador MIDL não conseguiu se recuperar depois de detectar um erro no arquivo IDL. Se MIDL retornou mensagens de erro sobre o arquivo IDL, tente corrigi-las e recompilar. Se não houver mensagens de erro, o compilador poderá ter falhado antes de relatar um erro. Procure um erro de sintaxe na linha para a qual o erro interno do compilador é relatado.
- O compilador MIDL não pôde gerar o código correto em uma opção de otimização especificada. Tente alterar os modos do compilador, compilar em otimização de modo misto (/Os) ou remover todas as otimizações. Ou recompile usando o sinalizador /NO_FORMAT_OPT para suprimir a otimização padrão do MIDL de descritores de procedimento e tipo.
Ocasionalmente, esse erro ocorre mesmo quando o arquivo IDL está correto e nenhuma opção de otimização está sendo usada. Se esse for o caso, tente reescrever a seção de código nas proximidades de onde o erro foi relatado removendo quaisquer modificações recentes, simplificando ou reorganizando tipos de dados, alterando protótipos ou então começar a comentar partes do arquivo IDL para localizar o código do problema. Se nenhuma dessas opções funcionar ou se você achar que o problema pode estar relacionado a um bug no Midl.exe, notifique a Microsoft, fornecendo todos os detalhes relevantes. |