Compartilhar via


Application Verifier - Códigos de parada - Impressão

Os códigos de parada a seguir estão contidos neste conjunto de testes.

Identificador de impressora vazado detectado

Causa provável

Um identificador de impressora aberta foi detectado quando o aplicativo foi encerrado. Muito provavelmente, o thread de criação não chamou ClosePrinter() para fechar o identificador da impressora. Para solucionar a interrupção, determine o thread que abriu o identificador da impressora usando o segundo parâmetro da interrupção do verificador para fornecer o rastreamento de pilha. Despeje o rastreamento de pilha usando o comando dps no depurador. Encontre o primeiro nome de módulo não winspool e não vfPrint que chamou vfPrint! VfHookOpenPrinter* ou vfPrint! VfHookAddPrinter*. Ele normalmente é o quarto ou sexto quadro de pilha na lista.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador da impressora sendo vazada.
  • Parâmetro 2  —  Rastreamento de pilha de inicialização. Use dps para despejar a pilha se esse parâmetro não for NULL.
  • Parâmetro 3  —  ID do thread que abriu o identificador.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: LEAKED_PRINTER_HANDLE
  • Código de parada: 0000A000
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Identificador de notificação de alteração de impressora vazado detectado

Causa provável

Um identificador de notificação de alteração de impressora que não estava fechado foi detectado quando o aplicativo foi encerrado. Provavelmente, o thread que abriu o identificador não chamou o parâmetro FindClosePrinterChangeNotification() para fechar o identificador antes que o thread fosse encerrado. Para solucionar a interrupção, determine o thread que abriu o identificador de notificação de alteração da impressora. O segundo parâmetro da interrupção fornece o endereço da pilha. Use o comando dps para despejar o rastreamento de pilha. Encontre o primeiro nome de módulo não winspool e não vfPrint que chamou vfPrint!VfHookFindFirstPrinterChangeNotification. Ele normalmente é encontrado no quarto quadro de pilha.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador de notificação de alteração da impressora sendo vazado.
  • Parâmetro 2  —  Rastreamento de pilha de inicialização. Use dps para despejar o rastreamento de pilha se ele não for NULL.
  • Parâmetro 3  —  ID do thread do último thread que o utiliza.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: LEAKED_PRINTER_CHANGE_NOTIFICATION_HANDLE
  • Código de interrupção: 0000A001
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

PRINTER_NOTIFY_INFO vazado detectado

Causa provável

Um objeto PRINTER_NOTIFY_INFO alocado que não havia sido liberado foi detectado quando o programa foi encerrado. Muito provavelmente, ele precisa ser liberado chamando FreePrinterNotifyInfo() antes de ser encerrado. Para solucionar a interrupção: determine a rotina que chamou winspool para alocar o objeto PRINTER_NOTIFY_INFO em seu nome usando o segundo parâmetro da interrupção do verificador. Despeje o rastreamento de pilha de inicialização usando o comando dps no depurador. Encontre o primeiro nome de módulo não winspool e não vfPrint que chamou vfPrint!VfHookFindNextPrinterChangeNotification. Essa rotina é normalmente encontrada no terceiro quadro da pilha.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  O ponteiro para o objeto PRINTER_NOTIFY_INFO vazado.
  • Parâmetro 2  —  Rastreamento de pilha de inicialização. Use dps para despejar o rastreamento de pilha se ele não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: LEAKED_PPRINTER_NOTIFY_INFO
  • Código de interrupção: 0000A002
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Condição de corrida detectada ao usar um identificador de impressora

Causa provável

Um identificador de impressora está sendo usado simultaneamente em vários threads. Os identificadores de impressora não são seguros para threads, o que significa que o uso simultâneo de um identificador de impressora em vários threads não é permitido sem a sincronização no nível do aplicativo para coordenar com segurança o acesso ao identificador. O aplicativo deve abrir um identificador de impressora separado em cada thread ou fornecer acesso de sincronização personalizado para o identificador de impressora usando a API de sincronização Win32. A API de sincronização do Win32 é descrita mais adiante em https://learn.microsoft.com/windows/win32/sync/synchronization-functions.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador da impressora sendo acessada.
  • Parâmetro 2  —  ID atual do thread.
  • Parâmetro 3  —  ID do thread simultâneo.
  • Parâmetro 4  —  Contagem simultânea.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: MULTITHREADED_ACCESS_TO_PRINTER_HANDLE
  • Código de interrupção: 0000A003
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Potencial acesso multi-thread a um identificador de impressora detectado

Causa provável

Um identificador de impressora foi usado em um thread diferente do thread que o criou. Os identificadores de impressora não são seguros para threads, o que significa que o uso simultâneo de um identificador de impressora em vários threads não é permitido sem a sincronização no nível do aplicativo para coordenar com segurança o acesso ao identificador. O aplicativo deve abrir um identificador de impressora separado em cada thread ou fornecer acesso de sincronização personalizado para o identificador de impressora usando a API de sincronização Win32. A API de sincronização do Win32 é descrita mais adiante em https://learn.microsoft.com/windows/win32/sync/synchronization-functions.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador da impressora sendo acessada.
  • Parâmetro 2  —  ID do thread de inicialização.
  • Parâmetro 3  —  Rastreamento da pilha da inicialização.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: PRINTER_HANDLE_ACCESSED_NOT_ON_THE_THREAD_THAT_OPENED_IT
  • Código de interrupção: 0000A004
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: não
  • Criar backtrace: não

Tentativa de usar um identificador de impressora fechado

Causa provável

Um identificador de impressora foi usado depois de fechado. Para identificar a rotina que tentou usar o identificador de impressora fechado, despeje o rastreamento de pilha atual usando o comando "k" no depurador. Para despejar o rastreamento de pilha da rotina que fechou o identificador, use o comando dps com o segundo parâmetro da parada.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador da impressora sendo acessada.
  • Parâmetro 2  —  Rastreamento de pilha do encerramento. Use dps para despejar o rastreamento de pilha se ele não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: PRINTER_HANDLE_ALREADY_CLOSED
  • Código de interrupção: 0000A005
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Tentativa de usar um identificador de impressora desconhecido

Causa provável

Foi feita uma tentativa de usar um identificador de impressora que não foi aberto chamando OpenPrinterA, OpenPrinterW, OpenPrinter2W (no Windows Vista), AddPrinterA ou AddPrinterW. Para ver o rastreamento de pilha da rotina que tentou essa ação, use o comando "k" no depurador.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador da impressora sendo acessada.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: INVALID_PRINTER_HANDLE
  • Código de interrupção: 0000A006
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Tentativa de usar um identificador de notificação de alteração de impressora fechado

Causa provável

Um identificador de notificação de alteração de impressora foi usado depois de fechado. Para ver a rotina que tentou usar o identificador de notificação de alteração de impressora fechado, despeje o rastreamento de pilha atual usando o comando "k" no depurador. Para despejar o rastreamento de pilha da rotina que fechou o identificador, use o comando dps com o segundo parâmetro da parada.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador de notificação de alteração da impressora sendo acessado.
  • Parâmetro 2  —  Rastreamento de pilha do encerramento. Use dps para despejar o rastreamento de pilha se ele não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: PRINTER_CHANGE_NOTIFICATION_HANDLE_ALREADY_CLOSED
  • Código de interrupção: 0000A007
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Tentativa de usar um identificador de notificação de alteração de impressora inválido

Causa provável

Um identificador que não foi aberto com a função FindFirstPrinterChangeNotification da API Win32 foi passado como um identificador de notificação de alteração de impressora. Para ver o rastreamento de pilha da rotina que tentou essa ação, use o comando "k" no depurador.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador de notificação de alteração da impressora sendo acessado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: UNKNOWN_PRINTER_CHANGE_NOTIFICATION_HANDLE
  • Código de interrupção: 0000A008
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Tentativa de usar um objeto PRINTER_NOTIFY_INFO liberado

Causa provável

Um objeto PRINTER_NOTIFY_INFO foi usado depois de ter sido liberado. Para ver a rotina que tentou usar o objeto PRINTER_NOTIFY_INFO liberado, despeje o rastreamento de pilha atual usando o comando "k" no depurador. Para despejar o rastreamento de pilha da rotina que fechou o identificador, use o comando dps com o segundo parâmetro da parada.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Endereço do PRINTER_NOTIFY_INFO sendo acessado.
  • Parâmetro 2  —  Rastreamento de pilha do encerramento. Use dps para despejar o rastreamento de pilha se ele não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: PRINTER_NOTIFY_INFO_ALREADY_FREED
  • Código de interrupção: 0000A009
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Tentativa de usar um objeto PRINTER_NOTIFY_INFO inválido

Causa provável

O objeto PRINTER_NOTIFY_INFO não foi aberto pela função FindNextPrinterChangeNotification da API Win32. Para ver o rastreamento de pilha da rotina que tentou essa ação, use o comando "k" no depurador.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Endereço do PRINTER_NOTIFY_INFO sendo acessado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: INVALID_PRINTER_NOTIFY_INFO
  • Código de interrupção: 0000A00A
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Muitos identificadores de impressora abertos

Causa provável

Muitos identificadores de impressora foram abertos. Pode haver um vazamento de recursos.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Número de identificadores de impressora abertos no momento.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: TOO_MANY_OPENED_PRINTER_HANDLES
  • Código de interrupção: 0000A00B
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

OpenPrinter2W parece ser exportado de winspool.drv de uma versão anterior do Windows

Causa provável

Desconhecida. Relate o erro à Microsoft.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Não usado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: WINSPOOL_OPENPRINTER2W_EXPORTED_ON_PRE_VISTA_OS
  • Código de interrupção: 0000A00C
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Há um excesso de identificadores de provedor PrintTicket abertos (HPTPROVIDER)

Causa provável

Há um excesso de identificadores de provedor PrintTicket abertos chamando PTOpenProvider(Ex). Isso pode ser resultante de não chamar PTCloseProvider quando o identificador não é mais necessário, criando um vazamento de recursos.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Número de identificadores de provedor PrintTicket atualmente abertos.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: TOO_MANY_OPENED_PRINT_TICKET_PROVIDER_HANDLES
  • Código de interrupção: 0000A00D
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Tentativa de usar um identificador de provedor PrintTicket fechado (HPTPROVIDER)

Causa provável

Um identificador de provedor PrintTicket foi usado depois que ele foi liberado. Para ver a rotina que tentou usar o identificador de provedor PrintTicket fechado, despeje o rastreamento de pilha atual usando o comando "k" no depurador. Para despejar o rastreamento de pilha da rotina que fechou o identificador, use o comando dps com o segundo parâmetro da parada.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  O identificador HPTPROVIDER está sendo acessado.
  • Parâmetro 2  —  Rastreamento de pilha do encerramento. Use dps para despejar o rastreamento de pilha se ele não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: PRINT_TICKET_PROVIDER_HANDLE_ALREADY_CLOSED
  • Código de interrupção: 0000A00E
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Tentativa de usar um identificador de provedor PrintTicket desconhecido (HPTPROVIDER)

Causa provável

Foi usado um identificador de provedor PrintTicket que não foi aberto chamando PTOpenProvider ou PTOpenProviderEx.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  O identificador HPTPROVIDER está sendo acessado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: UNKNOWN_PRINT_TICKET_PROVIDER_HANDLE
  • Código de interrupção: 0000A00F
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Condição de corrida detectada ao usar um identificador de provedor PrintTicket

Causa provável

Um identificador do provedor PrintTicket estava sendo usado simultaneamente em vários threads. Isso requer uma sincronização no nível do aplicativo do acesso ao identificador. Os identificadores do provedor PrintTicket não são thread-safe, o que significa que o uso simultâneo de um identificador do provedor PrintTicket em vários threads não é permitido. Em vez disso, o aplicativo deve abrir um identificador de provedor PrintTicket separado em cada thread ou fornecer acesso de sincronização personalizado ao identificador de provedor PrintTicket usando a API de sincronização do Win32. A API de sincronização do Win32 é descrita mais adiante em https://learn.microsoft.com/windows/win32/sync/synchronization-functions.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador de provedor PrintTicket sendo acessado.
  • Parâmetro 2  —  ID atual do thread.
  • Parâmetro 3  —  ID do thread simultâneo.
  • Parâmetro 4  —  Contagem simultânea.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: MULTITHREADED_ACCESS_TO_PRINT_TICKET_PROVIDER_HANDLE
  • Código de interrupção: 0000A010
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Potencial acesso multi-threaded a um identificador de provedor PrintTicket detectado

Causa provável

Este é um aviso de que um identificador de provedor PrintTicket foi usado em um thread diferente do thread que o criou. Isso poderá exigir sincronização no nível do aplicativo para acessar o identificador com segurança. Os identificadores do provedor PrintTicket não são thread-safe, o que significa que o uso simultâneo de um identificador do provedor PrintTicket em vários threads não é permitido. Em vez disso, o aplicativo deve abrir um identificador de provedor PrintTicket separado em cada thread ou fornecer acesso de sincronização personalizado ao identificador de provedor PrintTicket usando a API de sincronização do Win32. A API de sincronização do Win32 é descrita mais adiante em https://learn.microsoft.com/windows/win32/sync/synchronization-functions.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador de provedor PrintTicket sendo acessado.
  • Parâmetro 2  —  ID do thread de inicialização.
  • Parâmetro 3  —  Rastreamento da pilha da inicialização.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: PRINT_TICKET_PROVIDER_HANDLE_ACCESSED_NOT_ON_THE_THREAD_THAT_OPENED_IT
  • Código de interrupção: 0000A011
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Identificador do provedor PrintTicket vazado detectado

Causa provável

Um identificador de provedor PrintTicket aberto foi detectado quando o thread foi encerrado. A rotina de criação pode não ter chamado PTCloseProvider() para fechá-lo antes de ser encerrado. Para solucionar a interrupção, determine o thread que abriu o identificador PrintTicket provider usando o segundo parâmetro da interrupção do verificador para fornecer o rastreamento de pilha. Despeje o rastreamento de pilha usando o comando dps no depurador. Encontre o primeiro nome de módulo não prntvpt e não vfPrint que chamou vfPrint!VfPTOpenProvider ou vfPrint!VfPTOpenProviderEx. Ele normalmente é o quarto ou sexto quadro de pilha na lista.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador de provedor PrintTicket sendo vazado.
  • Parâmetro 2  —  Rastreamento de pilha de inicialização. Use dps para despejar o rastreamento de pilha se ele não for NULL.
  • Parâmetro 3  —  ID do thread que abriu o identificador.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: LEAKED_PRINT_TICKET_PROVIDER_HANDLE
  • Código de interrupção: 0000A012
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Há um excesso de identificadores de notificação de alteração de impressora abertos

Causa provável

Um excesso de identificadores de notificação de alteração de impressora foram abertos. Pode haver um vazamento de recursos. Uma forma comum de vazamentos de recursos é quando uma rotina abre um identificador de notificação de alteração da impressora e não o fecha antes de encerrar.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Número de identificadores de notificação de alteração de impressora abertos no momento.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: TOO_MANY_OPENED_PRINTER_CHANGE_NOTIFICATION_HANDLES
  • Código de interrupção: 0000A013
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Excesso de objetos PRINTER_NOTIFY_INFO abertos

Causa provável

Um excesso de objetos PRINTER_NOTIFY_INFO foram abertos. Pode haver um vazamento de recursos. Uma forma comum de vazamentos de recursos é quando uma rotina abre um objeto PRINTER_NOTIFY_INFO e não o fecha antes de encerrar.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Número de objetos PRINTER_NOTIFY_INFO atualmente abertos.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: TOO_MANY_OPENED_PRINTER_NOTIFY_INFO_OBJECTS
  • Código de interrupção: 0000A014
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Tentativa de usar um PrintTicket inválido

Causa provável

Essa interrupção do verificador ocorre quando o aplicativo chama um método PrintTicket com um PrintTicket inválido.

Informações exibidas pelo Application Verifier
  • Formato:  —  Essa interrupção do verificador foi causada quando o aplicativo chamou o método %lS com um PrintTicket inválido
  • Parâmetro 1  —  Mensagens de erro retornadas por PTConform. Use du para despejar a mensagem se esse parâmetro não for NULL.
  • Parâmetro 2  —  Texto XML do PrintTicket. Use du para despejar o XML se esse parâmetro não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: INVALID_APPLICATION_PRINTTICKET
  • Código de interrupção: 0000A015
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Tentativa de usar um documento PrintCapabilities inválido

Causa provável

Essa interrupção do verificador ocorre quando o aplicativo chama um método PrintTicket com um documento PrintCapabilities inválido.

Informações exibidas pelo Application Verifier
  • Formato:  —  Essa interrupção do verificador foi causada quando o aplicativo chamou o método %lS com um documento PrintCapabilities inválido
  • Parâmetro 1  —  Mensagens de erro retornadas por PTConform. Use du para despejar a mensagem se esse parâmetro não for NULL.
  • Parâmetro 2  —  Texto PrintCapabilities XML. Use du para despejar o XML se esse parâmetro não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: INVALID_APPLICATION_PRINTCAPABILITIES
  • Código de interrupção: 0000A016
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Um argumento NULL inválido foi passado para um método PrintTicket

Causa provável

Essa interrupção do Verifier ocorre quando o aplicativo chama um método PrintTicket com um argumento NULL inválido.

Informações exibidas pelo Application Verifier
  • Formato:  —  Essa interrupção do verificador foi causada quando o aplicativo chamou o método %lS com um argumento %lS NULL
  • Parâmetro 1  —  Não usado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: PRINTTICKET_API_INVALID_NULL_ARGUMENT
  • Código de interrupção: 0000A017
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

PTConform encontrou um erro inesperado

Causa provável

Essa interrupção do verificador ocorre quando o PrintVerifier encontra um erro inesperado ao tentar verificar se o PrintTicket/PrintCapabilities está em conformidade com o PrintSchema. Relate esse erro à Microsoft, pois pode ser um problema no PrintVerifier.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Não usado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: PTCONFORM_UNEXPECTED_ERROR
  • Código de interrupção: 0000A018
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

API de impressão ilegal chamada por meio de DllMain

Causa provável

Foi feita uma chamada para uma API de impressão que não funciona ao ser chamada de dentro do DllMain. Muitas APIs Win32, não apenas APIs de impressão Win32, não podem ser chamadas por meio do DllMain. Para obter mais informações, leia a documentação sobre DllMain na biblioteca MSDN.

Informações exibidas pelo Application Verifier
  • Formato:  —  API de impressão chamada por meio de DllMain: %s
  • Parâmetro 1  —  Não usado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: UNSUPPORTED_API_CALL_IN_DLLMAIN
  • Código de interrupção: 0000A019
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Identificador de arquivo de spool vazado detectado

Causa provável

Um identificador de arquivo de spool aberto foi detectado quando o aplicativo foi encerrado. Muito provavelmente, CloseSpoolFileHandle() não foi chamado. Para solucionar essa interrupção: determine qual thread abriu o identificador da impressora. Use dps para despejar a pilha se o Parâmetro 2 não for NULL. Encontre o primeiro nome de módulo não winspool e não vfPrint que chamou vfPrint!VfHookOpenPrinter* ou vfPrint!VfHookAddPrinter*. Essa rotina normalmente é o quarto ou o sexto quadro de pilha na lista.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador sendo vazado.
  • Parâmetro 2  —  Rastreamento de pilha de inicialização. Use dps para despejar a pilha se esse parâmetro não for NULL.
  • Parâmetro 3  —  ID do thread que abriu o identificador.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: LEAKED_SPOOL_FILE_HANDLE
  • Código de interrupção: 0000A01A
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: não
  • Criar backtrace: não

Tentativa de usar um identificador de arquivo de spool fechado

Causa provável

O identificador de arquivo de spool foi usado depois de fechado. Para solucionar a interrupção: despeje o rastreamento de pilha atual usando o comando "k" no depurador para identificar a rotina que tentou usar o identificador fechado. Despeje o rastreamento de pilha da rotina que fechou o identificador usando o comando dps com o segundo parâmetro da parada.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador de arquivo spool sendo acessado.
  • Parâmetro 2  —  Rastreamento de pilha do encerramento. Use dps para despejar o rastreamento de pilha se ele não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: SPOOL_FILE_HANDLE_ALREADY_CLOSED
  • Código de interrupção: 0000A01B
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Tentativa de usar um identificador de arquivo de spool desconhecido

Causa provável

Foi feita uma tentativa de usar um identificador de arquivo de spool que não foi aberto chamando GetSpoolFileHandle ou CommitSpoolData. Use o comando "k" no depurador para ver o rastreamento de pilha da rotina que tentou essa ação.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador sendo acessado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: INVALID_SPOOL_FILE_HANDLE
  • Código de interrupção: 0000A01C
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Há um excesso de identificadores de arquivo de spool abertos

Causa provável

Um excesso de identificadores de arquivo de spool foram abertos. Pode haver um vazamento de recursos.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Número de identificadores atualmente abertos.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: TOO_MANY_OPENED_SPOOL_FILE_HANDLES
  • Código de interrupção: 0000A01D
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Um parâmetro de buffer DEVMODE abrange página(s) de memória não legível.

Causa provável

Essa parada pode ser causada por várias condições: o buffer DEVMODE já foi liberado, o buffer DEVMODE foi construído incorretamente atribuindo aos membros dmSize e dmDriverExtra um valor maior do que deveria ser ou um buffer devmode NULL foi usado onde um buffer não NULL era esperado.

Informações exibidas pelo Application Verifier
  • Formato:  —  Essa interrupção do verificador foi causada por um componente de software que chamou o subsistema de impressão com um buffer DEVMODE incorreto. Revise o rastreamento de pilha atual e verifique a alocação, a construção e o tempo de vida do devmode para identificar o local do bug.
  • Parâmetro 1  —  O buffer DEVMODE incorreto
  • Parâmetro 2  —  O tamanho total do buffer conforme calculado dos campos devmode dmSize e dmDriverExtra. Defina como zero se o buffer estiver completamente na memória ilegível.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: DEVMODE_BUFFER_SPANS_IN_NON_READABLE_MEMORY_PAGE
  • Código de interrupção: 0000A01E
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Módulo de descarregamento com retorno de chamada COM ativo.

Causa provável

A refcount positiva na interface COM foi detectada enquanto o módulo de destino é descarregado. Provavelmente causada pela implementação incorreta da exportação de DllCanUnloadNow no módulo ou pela contagem de referência incorreta.

Informações exibidas pelo Application Verifier
  • Formato:  — Essa interrupção do verificador foi causada pelo descarregamento do módulo %lS enquanto o sistema ainda mantém um ponteiro %lS para ele.
  • Parâmetro 1  —  Endereço da interface COM.
  • Parâmetro 2  —  Rastreamento de pilha onde o retorno de chamada foi fornecido. Use dps para despejar o rastreamento de pilha se ele não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: MODULE_UNLOAD
  • Código de interrupção: 0000A01F
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O identificador de notificação assíncrona retornado por RegisterForPrintAsyncNotifications não foi lançado corretamente

Causa provável

O identificador alocado pela função da API RegisterForPrintAsyncNotifications não havia sido liberado até o programa ser encerrado. Muito provavelmente, ele precisa ser liberado chamando UnRegisterForPrintAsyncNotifications() antes de encerrar. Para solucionar a interrupção: determine a rotina que chamou winspool para alocar o identificador em seu nome usando o segundo parâmetro da interrupção do verificador. Despeje o rastreamento de pilha de inicialização usando o comando dps no depurador. Encontre o primeiro nome de módulo não winspool e não vfPrint que chamou vfPrint!VfHookRegisterForPrintAsyncNotifications. Essa rotina é normalmente encontrada no terceiro quadro da pilha.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Valor do identificador.
  • Parâmetro 2  —  Rastreamento de pilha de inicialização. Use dps para despejar o rastreamento de pilha se ele não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: LEAKED_ASYNC_NOTIFY_HANDLE
  • Código de interrupção: 0000A020
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Tente usar um identificador inválido em UnRegisterForPrintAsyncNotifications.

Causa provável

O identificador não foi aberto pela função da API do Win23 RegisterForPrintAsyncNotifications. Para ver o rastreamento de pilha da rotina que tentou essa ação, use o comando "k" no depurador.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Valor do identificador.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: INVALID_ASYNC_NOTIFY_HANDLE
  • Código de interrupção: 0000A021
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Tentativa de usar um identificador fechado na função da API UnRegisterForPrintAsyncNotifications

Causa provável

Um identificador de notificação assíncrona foi usado depois que ele foi fechado. Para ver a rotina que tentou usar o identificador fechado, despeje o rastreamento de pilha atual usando o comando "k" no depurador. Para despejar o rastreamento de pilha da rotina que fechou o identificador, use o comando dps com o segundo parâmetro da parada.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Valor do identificador.
  • Parâmetro 2  —  Rastreamento de pilha do encerramento. Use dps para despejar o rastreamento de pilha se ele não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: ASYNC_NOTIFY_HANDLE_ALREADY_CLOSED
  • Código de interrupção: 0000A022
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

A função de terceiros relata falha, mas aumenta a contagem de referência para a interface de entrada

Causa provável

Um método de terceiros recebe o ponteiro da interface como entrada. Quando esse método retorna o código de falha, a contagem de referência da interface deve permanecer a mesma. Porém, nesse caso, a contagem de referência aumentou.

Informações exibidas pelo Application Verifier
  • Formato:  —  O método %lS retorna o código de erro %x, mas aumenta a contagem de referência do parâmetro %lS.
  • Parâmetro 1  —  Ponteiro de interface chamado. Se NULL, a função chamada será estática.
  • Parâmetro 2  —  Ponteiro de interface de entrada.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: REFCOUNT_PLUS_AFTER_FAIL
  • Código de interrupção: 0000A023
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

A função da API do Windows relata falha, mas aumenta a contagem de referência da interface de entrada

Causa provável

Um método de API recebe o ponteiro da interface como entrada. Quando esse método retorna o código de falha, a contagem de referência da interface deve permanecer a mesma. Porém, nesse caso, a contagem de referência aumentou. Relate esse erro à Microsoft, pois ele pode ser um problema no código da API.

Informações exibidas pelo Application Verifier
  • Formato:  —  O método %lS retorna o código de erro %x, mas aumenta a contagem de referência do parâmetro %lS.
  • Parâmetro 1  —  Ponteiro de interface chamado. Se NULL, a função chamada será estática.
  • Parâmetro 2  —  Ponteiro de interface de entrada.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: REFCOUNT_PLUS_AFTER_API_FAIL
  • Código de interrupção: 0000A024
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Violação de contrato IPrintAsyncNotifyChannel pelo sistema operacional.

Causa provável

A implementação de plataforma de IPrintAsyncNotifyChannel violou parte do contrato especial implícito ou definido por IPrintAsyncNotifyChannel. IPrintAsyncNotifyChannel tem exceções especiais para AddRef e Release. Isso requer que a plataforma chame OnEventNotify e ChannelClosed com o mesmo valor de ponteiro com o qual o canal foi criado.

Informações exibidas pelo Application Verifier
  • Formato: - %s foi chamado com o ponteiro de interface incorreto.
  • Parâmetro 1  —  Ponteiro real da interface.
  • Parâmetro 2  —  Ponteiro esperado da interface.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: ASYNCCHANNEL_OS_CONTRACT_VIOLATION
  • Código de interrupção: 0000A025
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Violação de contrato IPrintAsyncNotifyChannel pelo consumidor do canal.

Causa provável

Em canais bidirecionais, chamar SendNotification, CloseChannel ou fazer a liberação final no ponteiro da interface leva a renúncia da "propriedade". Depois de criar o canal e enviar a primeira notificação, você não poderá chamar Release() até que o OnEventNotify do retorno de chamada seja invocado. Se você invocar CloseChannel() ou receber uma notificação ChannelClosed, não deverá executar a chamada Release() final.

Informações exibidas pelo Application Verifier
  • Formato:  —  %s foi chamado, mas a "propriedade" do canal atualmente pertence ao spooler de impressão
  • Parâmetro 1  —  Ponteiro da interface IPrintAsyncNotifyChannel.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: ASYNCCHANNEL_CLIENT_CONTRACT_VIOLATION
  • Código de interrupção: 0000A026
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Corrida detectada durante o fechamento de IPrintAsyncNotifyChannel

Causa provável

*** Relate a interrupção à Microsoft. *** A interrupção indica que uma notificação chega _durante_ a chamada para CloseChannel. Se essa condição ocorrer, poderá ser impossível para o consumidor liberar corretamente o canal. Essa interrupção não deve ser encontrada com frequência. Isso pode ser evitado ao garantir sempre que um ouvinte esteja disponível antes que um canal bidirecional seja criado, E/OU garantindo que nenhum ouvinte possa ser iniciado antes de tentar fechar um canal que já enviou uma notificação, mas não recebeu o retorno de chamada.

Informações exibidas pelo Application Verifier
  • Formato:  —  Na função %s, uma chamada já está em andamento em um thread diferente. Consulte a ajuda para obter mais informações.
  • Parâmetro 1  —  Ponteiro da interface IPrintAsyncNotifyChannel.
  • Parâmetro 2  —  Função de membro do ID do thread chamada.
  • Parâmetro 3  —  O ID do thread da função de evento de retorno de chamada.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: ASYNCCHANNEL_CLOSECHANNEL_RACE_DETECTED
  • Código de interrupção: 0000A027
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Chamando uma API de impressão que faz chamadas de rede em um thread de GUI. Isso pode levar à desassociação no momento em que a interface do usuário trava.

Causa provável

Uma API de impressão que faz chamadas de rede em um thread de GUI foi chamada. Isso pode levar à desassociação no momento em que a interface do usuário trava. Normalmente, essas APIs precisam ser chamadas em um thread de trabalho, sem bombas de mensagem.

Informações exibidas pelo Application Verifier
  • Formato:  —  %s foi chamado em um thread que é um thread de GUI. Isso pode levar à desassociação no momento em que a interface do usuário trava.
  • Parâmetro 1  —  HWND da janela visível de nível superior.
  • Parâmetro 2  —  ID atual do thread.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: CALLING_NETBOUND_PRINT_API_ON_GUI_THREAD
  • Código de interrupção: 0000A028
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Chamado de uma API que exibirá o pop-up da interface do usuário como Session0.

Causa provável

Uma chamada foi feita para uma API que exibirá o pop-up da interface do usuário como Session0.

Informações exibidas pelo Application Verifier
  • Formato:  —  A chamada ilegal na API de Session0: %s
  • Parâmetro 1  —  Não usado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintAPI
  • ID da interrupção: UNSUPPORTED_API_CALLED_IN_SESSION_ZERO
  • Código de interrupção: 0000A029
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Violação de acesso de primeira chance detectada

Causa provável

Essa interrupção é gerada quando o driver da impressora tenta acessar um endereço de memória virtual que não está acessível porque não é executável, foi liberado ou anulado ou que está reservado, mas não confirmado. Para depurar a interrupção: $ u parameter2 — para desmontar o código suspeito; $ .exr parameter3 — para exibir as informações de exceção; $ .cxr parameter4 — para exibir as informações de contexto de exceção; $ kb — para exibir o rastreamento de pilha quando a exceção foi gerada.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Endereço sendo acessado.
  • Parâmetro 2  —  Código realizando acesso inválido.
  • Parâmetro 3  —  Registro de exceção. Use .exr para exibir.
  • Parâmetro 4  —  Registro de contexto. Use .cxr para exibir.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: FIRST_CHANCE_ACCESS_VIOLATION
  • Código de interrupção: 0000D000
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O thread tentou dividir um valor inteiro por um divisor inteiro de zero

Causa provável

Essa interrupção é gerada quando o driver da impressora tenta dividir um valor inteiro por um divisor inteiro de zero. Para depurar a interrupção: $ u parameter1 — para desmontar o código suspeito; $ .exr parameter2 — para exibir as informações de exceção; $ .cxr parameter3 — para exibir as informações de contexto de exceção; $ kb — para exibir o rastreamento de pilha quando a exceção foi gerada.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Código executando operação de divisão por zero.
  • Parâmetro 2  —  Registro de exceção. Use .exr para exibir.
  • Parâmetro 3  —  Registro de contexto. Use .cxr para exibir.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: INT_DIVIDE_BY_ZERO
  • Código de interrupção: 0000D001
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O thread tentou ler ou gravar dados desalinhados no hardware que não fornecem alinhamento

Causa provável

Essa interrupção é gerada quando o driver tenta ler ou gravar dados desalinhados no hardware que não fornece alinhamento. Por exemplo, os valores de 16 bits devem ser alinhados em limites de 2 bytes, os valores de 32 bits, em limites de 4 bytes, e assim por diante. Para depurar a interrupção: $ u parameter1 — para desmontar o código culpado; $ .exr parameter2 — para exibir as informações de exceção; $ .cxr parameter3 — para exibir as informações de contexto de exceção; $ kb — para exibir o rastreamento de pilha quando a exceção foi gerada.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Código em que o desalinhamento do tipo de dados ocorreu.
  • Parâmetro 2  —  Registro de exceção. Use .exr para exibir.
  • Parâmetro 3  —  Registro de contexto. Use .cxr para exibir.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: DATATYPE_MISALIGNMENT
  • Código de interrupção: 0000D002
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Exceção de identificador inválido para rastreamento de pilha atual

Causa provável

Essa interrupção é gerada quando a função na parte superior da pilha passa um identificador inválido para uma rotina do sistema. Normalmente, o comando kb revelará o valor do identificador passado na pilha de chamadas. O identificador será um dos parâmetros da chamada. Muitas vezes ele é o primeiro parâmetro. Um valor de identificador nulo é um exemplo de um valor de identificador inválido. Se o valor do identificador parecer válido, use a extensão do depurador !htrace para exibir o histórico de operações que envolveram o valor do identificador. Às vezes, um valor de identificador que parece ser válido poderá ser inválido se o identificador for usado depois que for fechado.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Código de exceção.
  • Parâmetro 2  —  Registro de exceção. Use .exr para exibir.
  • Parâmetro 3  —  Registro de contexto. Use .cxr para exibir.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: INVALID_HANDLE
  • Código de interrupção: 0000D003
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O driver principal está enviando um identificador de impressora fechado para o plug-in

Causa provável

O driver principal está enviando ao plug-in um identificador de impressora que já foi fechado. Relate esse erro à Microsoft, pois ele pode ser um problema no módulo principal do driver da impressora da Microsoft. Para identificar a rotina que tentou usar o identificador de impressora fechado, despeje o rastreamento de pilha atual usando o comando "k" no depurador. Para despejar o rastreamento de pilha da rotina que fechou o identificador, use o comando dps com o segundo parâmetro da parada.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador da impressora sendo enviado para o plug-in.
  • Parâmetro 2  —  Rastreamento de pilha da rotina de encerramento.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PRINTER_HANDLE_ALREADY_CLOSED
  • Código de interrupção: 0000D004
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O driver principal está enviando um identificador de impressora desconhecido para o plug-in

Causa provável

O driver principal está enviando ao plug-in um identificador de impressora que não foi aberto chamando OpenPrinterA, OpenPrinterW, OpenPrinter2W in Windows Vista, AddPrinterA ou AddPrinterW. Relate esse erro à Microsoft, pois ele pode ser um problema no módulo principal do driver da impressora da Microsoft.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Identificador da impressora sendo enviado para o plug-in.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: INVALID_PRINTER_HANDLE
  • Código de interrupção: 0000D005
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O plug-in fechou o identificador da impressora

Causa provável

O plug-in fechou o identificador da impressora que recebeu como entrada do driver principal. Isso viola as regras do WDK para uma chamada do driver principal para o plug-in. Use o comando dps com o segundo parâmetro da parada para despejar o rastreamento de pilha da rotina que fechou o identificador.

Informações exibidas pelo Application Verifier
  • Formato:  —  Essa interrupção do verificador foi causada pelo método %lS no módulo de plug-in em %lS
  • Parâmetro 1  —  Identificador da impressora que foi fechada.
  • Parâmetro 2  —  Rastreamento de pilha do encerramento. Use dps para despejar o rastreamento de pilha se ele não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PLUGIN_CLOSED_PRINTER_HANDLE
  • Código de interrupção: 0000D006
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Número inválido de versões principais do Esquema de Impressão suportadas

Causa provável

O plug-in do provedor PrintTicket retornou um número inválido de versões principais do Esquema de Impressão suportadas. O método IPrintOemPrintTicketProvider::GetSupportedVersions no plug-in deve retornar pelo menos uma versão principal suportada. Como o Windows Vista oferece suporte a apenas uma versão principal do Esquema de Impressão, o plug-in deve retornar um valor de um.

Informações exibidas pelo Application Verifier
  • Formato:  —  Essa interrupção do verificador foi causada pelo método %lS no módulo de plug-in em %lS
  • Parâmetro 1  —  Número de versões de esquema suportadas que foram retornadas.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PRINTTICKET_PROVIDER_INVALID_NUMBER_OF_SUPPORTED_SCHEMA_VERSIONS
  • Código de interrupção: 0000D007
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Faltam versões suportadas do Esquema de Impressão

Causa provável

O plug-in do provedor PrintTicket indicou que estava retornando pelo menos uma versão do Esquema de Impressão suportada, mas não retornou nenhuma. A chamada para o método IPrintOemPrintTicketProvider::GetSupportedVersions no plug-in aceita dois ponteiros de saída como argumentos. O argumento ppVersions aponta para uma matriz de inteiros que representam as versões principais suportadas do Esquema de Impressão. O argumento cVersions aponta para o número de elementos na matriz de inteiros que está sendo retornada. Essa parada do verificador ocorre quando o plug-in retorna um número válido em cVersions, mas não retorna nada na matriz ppVersions.

Informações exibidas pelo Application Verifier
  • Formato:  —  Essa interrupção do verificador foi causada pelo método %lS no módulo de plug-in em %lS
  • Parâmetro 1  —  Número de versões de Esquema de Impressão suportadas que foram retornadas.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PRINTTICKET_PROVIDER_MISSING_SUPPORTED_SCHEMA_VERSION
  • Código de interrupção: 0000D008
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Versão principal do Esquema de Impressão inválida

Causa provável

O plug-in do provedor PrintTicket retornou uma versão principal inválida do Esquema de Impressão. A chamada para o método IPrintOemPrintTicketProvider::GetSupportedVersions no plug-in deve retornar um valor de um (1), pois a única versão principal do Esquema de Impressão suportada no Windows Vista é 1.

Informações exibidas pelo Application Verifier
  • Formato:  —  Essa interrupção do verificador foi causada pelo método %lS no módulo de plug-in em %lS
  • Parâmetro 1  —  Versão do Esquema de Impressão que foi retornada.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PRINTTICKET_PROVIDER_INVALID_SUPPORTED_SCHEMA_VERSION
  • Código de interrupção: 0000D009
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Valor OEMPTOPTS inválido

Causa provável

O plug-in do provedor PrintTicket retornou um valor OEMPTOPTS inválido. Um dos argumentos para o método IPrintOemPrintTicketProvider::BindPrinter no plug-in é um ponteiro para uma enumeração de OEMPTOPTS. O plug-in deve definir o valor desse argumento para um dos valores suportados pelo Windows Vista. Os valores suportados pelo Windows Vista são OEMPT_DEFAULT e OEMPT_NOSNAPSHOT. Essa interrupção do verificador ocorre quando o plug-in retorna um valor que não é um desses valores suportados.

Informações exibidas pelo Application Verifier
  • Formato:  —  Essa interrupção do verificador foi causada pelo método %lS no módulo de plug-in em %lS
  • Parâmetro 1  —  Valor de OEMPTOPTS que foi retornado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PRINTTICKET_PROVIDER_INVALID_OEMPTOPTS
  • Código de interrupção: 0000D00A
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Namespace privado do Esquema de Impressão ausente

Causa provável

O plug-in do provedor PrintTicket indicou que estava retornando pelo menos um namespace privado do Esquema de Impressão, mas não retornou nenhum. A chamada para o método IPrintOemPrintTicketProvider::BindPrinter no plug-in contém dois argumentos de ponteiro de saída por meio dos quais o plug-in pode retornar informações sobre os namespaces privados do Esquema de Impressão aos quais oferece suporte. O argumento ppNamespaces aponta para uma matriz de cadeias de caracteres que representam os namespaces privados do Esquema de Impressão suportado. O argumento cNamespaces aponta para o número de elementos na matriz de cadeias de caracteres que está sendo retornada. A interrupção do verificador ocorre quando o plug-in retorna um número válido em cNamespaces, mas não retorna nada na matriz ppNamespaces.

Informações exibidas pelo Application Verifier
  • Formato:  —  Essa interrupção do verificador foi causada pelo método %lS no módulo de plug-in em %lS
  • Parâmetro 1  —  Número de namespaces esperados.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PRINTTICKET_PROVIDER_MISSING_NAMESPACE
  • Código de interrupção: 0000D00B
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Contagem de referência incorreta detectada no plug-in

Causa provável

O WDK afirma que os plug-ins devem executar a contagem de referência precisa na implementação dos métodos IUnknown::AddRef e IUnknown::Release. O tempo de vida do objeto de interface do plug-in depende da contagem precisa de referência. Se a contagem de referência for imprecisa, o resultado poderá ser um vazamento de recursos ou o descarregamento prematuro do plug-in, o que fará com que o driver falhe. A interrupção do verificador ocorre quando a contagem de referência incorreta é detectada no plug-in.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção do verificador foi causada pelo módulo de plug-in em %lS
  • Parâmetro 1  —  Contagem de referência esperada.
  • Parâmetro 2  —  Contagem de referência real mantida pelo plug-in.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PLUGIN_MISMATCHED_REFCOUNT
  • Código de interrupção: 0000D00C
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

pptl é NULL em OEMNextBand

Causa provável

O pptl passado pelo driver principal para o gancho OEMNextBand no plug-in era NULL. O driver principal sempre deve enviar um pptl válido para o gancho OEMNextBand no plug-in. Relate esse erro à Microsoft, pois ele pode ser um problema no módulo principal do driver da impressora da Microsoft.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Não usado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PPTL_IS_NULL_IN_OEMNEXTBAND
  • Código de interrupção: 0000D00D
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O plug-in retornou um PDEV NULL depois de retornar S_OK do método EnablePDEV

Causa provável

O PDEV privado retornado pelo plug-in era NULL, embora o valor de retorno do método EnablePDEV seja S_OK, indicando êxito. O WDK afirma que, se o método EnablePDEV de um plug-in retornar o status S_OK, ele também deverá alocar uma instância da estrutura PDEV privada, inicializá-la e retornar o endereço dessa estrutura no parâmetro pDevOem do método. A interrupção do verificador ocorre quando o plug-in não retorna uma estrutura PDEV privada válida, quando a partir da implementação do método EnablePDEV é retornado o status S_OK.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção do verificador foi causada pelo módulo de plug-in em %lS
  • Parâmetro 1  —  Não usado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PLUGIN_PRIVATE_PDEV_IS_NULL
  • Código de interrupção: 0000D00E
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O plug-in retornou um DEVMODE privado menor que o tamanho mínimo permitido

Causa provável

O DEVMODE privado retornado pelo plug-in deve ter pelo menos o tamanho de OEM_DMEXTRAHEADER. O método DevMode de um plug-in deve retornar o tamanho necessário para armazenar seus membros DEVMODE privados quando é chamado com o modo OEMDM_SIZE. Esse valor é definido na primeira vez em que o método é chamado. O método DevMode no plug-in deve definir o valor do membro cbBufSize na estrutura OEMDMPARAM para o número de bytes necessários, e esse valor deve ser maior ou igual ao tamanho de OEM_DMEXTRAHEADER. A interrupção do verificador ocorre quando o tamanho retornado no membro cbBufSize na estrutura OEMDMPARAM é menor que o tamanho de OEM_DMEXTRAHEADER.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção do verificador foi causada pelo módulo de plug-in em %lS
  • Parâmetro 1  —  Modo para o retorno de chamada DevMode atual.
  • Parâmetro 2  —  Tamanho do DEVMODE privado do plug-in.
  • Parâmetro 3  —  Tamanho do OEM_DMEXTRAHEADER.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: INVALID_PLUGIN_PRIVATE_DEVMODE_SIZE
  • Código de interrupção: 0000D00F
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O plug-in retornou um DEVMODE privado com um tamanho diferente do tamanho retornado pela chamada DevMode(OEMDM_SIZE)

Causa provável

O plug-in deve retornar um DEVMODE privado com um tamanho igual ao retornado pela chamada DevMode com o modo OEMDM_SIZE. O método DevMode de um plug-in deve retornar o tamanho necessário para armazenar seus membros DEVMODE privados quando o método DevMode é chamado com o modo OEMDM_SIZE. O valor é uma constante, definido na primeira vez que o método é chamado. Ele não deverá ser alterado quando chamadas subsequentes forem feitas para o método DevMode do plug-in. A interrupção do verificador ocorre quando o método DevMode no plug-in retorna um valor diferente do valor retornado na primeira vez em que foi chamado.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção do verificador foi causada pelo módulo de plug-in em %lS
  • Parâmetro 1  —  Modo para o retorno de chamada Devmode atual.
  • Parâmetro 2  —  Tamanho do DEVMODE privado do plug-in de saída especificado no pOEMDMOut.
  • Parâmetro 3  —  Tamanho do DEVMODE privado do plug-in de saída especificado no pOEMDMParam.
  • Parâmetro 4  —  Tamanho do DEVMODE privado do plug-in especificado durante a chamada de OEMDM_SIZE.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PLUGIN_PRIVATE_DEVMODE_MISMATCHED_SIZE
  • Código de interrupção: 0000D010
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O plug-in retornou uma assinatura inválida da chamada GetInfo(OEMGI_GETSIGNATURE)

Causa provável

O plug-in deverá retornar uma assinatura válida diferente de zero quando for chamado durante a chamada GetInfo com um modo de OEMGI_GETSIGNATURE. O método GetInfo no plug-in deve retornar uma assinatura de identificação exclusiva de quatro bytes. Essa parada do verificador ocorrerá quando o método GetInfo(OEMGI_GETSIGNATURE) no plug-in retornar uma assinatura zero.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção do verificador foi causada pelo módulo de plug-in em %lS
  • Parâmetro 1  —  Não usado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: INVALID_PLUGIN_SIGNATURE
  • Código de interrupção: 0000D011
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O plug-in retornou uma assinatura diferente no DEVMODE privado em relação ao que foi retornado da chamada GetInfo

Causa provável

O plug-in deve retornar um DEVMODE privado que contém a mesma assinatura de identificação exclusiva de quatro bytes que foi retornado com a chamada OEMGI_GETSIGNATURE para o método GetInfo no plug-in. A interrupção do verificador ocorre quando essas duas assinaturas não são idênticas.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção do verificador foi causada pelo módulo de plug-in em %lS
  • Parâmetro 1  —  Modo para a chamada do método DevMode atual.
  • Parâmetro 2  —  Assinatura conforme especificado no DEVMODE privado do plug-in de saída.
  • Parâmetro 3  —  Assinatura conforme especificado durante a chamada GetInfo.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PLUGIN_PRIVATE_DEVMODE_MISMATCHED_SIGNATURE
  • Código de interrupção: 0000D012
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O método EnableDriver no plug-in falhou.

Causa provável

O método EnableDriver no plug-in não deve falhar, embora possa falhar em circunstâncias excepcionais.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção do verificador foi causada pelo módulo de plug-in em %lS
  • Parâmetro 1  —  HRESULT retornado por EnableDriver.
  • Parâmetro 2  —  Código de erro definido pelo plug-in.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: ENABLEDRIVER_FAILED
  • Código de interrupção: 0000D013
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O método EnableDriver no plug-in falhou sem definir o último código de erro

Causa provável

O método EnableDriver no plug-in não deve falhar, embora possa falhar em circunstâncias excepcionais. Se ele falhar, deverá definir o último código de erro chamando SetLastError. A interrupção do verificador ocorre quando o método EnableDriver no plug-in falha sem definir o último erro.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção do verificador foi causada pelo módulo de plug-in em %lS
  • Parâmetro 1  —  HRESULT retornado por EnableDriver.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: ENABLEDRIVER_FAILED_WITHOUT_ERROR_CODE
  • Código de interrupção: 0000D014
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O driver principal chamou SetBandSize, embora o plug-in tenha retornado S_OK do DriverDMS

Causa provável

O driver principal não deverá chamar SetBandSize se o plug-in implementar o método DriverDMS e se sua implementação do método DriverDMS retornar S_OK. Relate esse erro à Microsoft, pois ele pode ser um problema no módulo principal do driver da impressora da Microsoft.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Não usado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: INVALID_SETBANDSIZE_CALL
  • Código de interrupção: 0000D015
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O driver principal fez a chamada de inicialização WritePrinter com parâmetros inválidos

Causa provável

Durante a chamada de inicialização de WritePrinter, os argumentos pdevobj e pBuf devem ser NULL, e cbBuf deve ser zero. Uma dessas condições não era verdadeira quando o driver principal fazia a chamada de inicialização para o método WritePrinter no plug-in. Relate esse erro à Microsoft, pois ele pode ser um problema no módulo principal do driver da impressora da Microsoft.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Não usado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: INVALID_WRITEPRINTER_INITIALIZATION_CALL
  • Código de interrupção: 0000D016
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O método WritePrinter no plug-in falhou

Causa provável

A interrupção do verificador ocorre quando o método WritePrinter no plug-in falha. Isso fará com que o trabalho de impressão seja abortado.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção do verificador foi causada pelo módulo de plug-in em %lS
  • Parâmetro 1  —  HRESULT retornado pelo método WritePrinter no plug-in.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: WRITEPRINTER_FAILED
  • Código de interrupção: 0000D017
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O driver principal enviou um PrintTicket inválido para o plug-in

Causa provável

A interrupção do verificador ocorre quando um documento PrintTicket que foi enviado do driver principal para o plug-in não está em conformidade com o PrintSchema. Como o driver principal analisa o GPD/PPD do driver para construir o PrintTicket que é enviado para o plug-in, a interrupção geralmente é indicativa de um bug no GPD/PPD do driver.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção do verificador foi causada quando o driver principal chamou o método %lS do plug-in
  • Parâmetro 1  —  Mensagens de erro retornadas por PTConform. Use du para despejar a mensagem se esse parâmetro não for NULL.
  • Parâmetro 2  —  Texto XML do PrintTicket. Use du para despejar o XML se esse parâmetro não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: INVALID_COREDRIVER_PRINTTICKET
  • Código de interrupção: 0000D018
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O plug-in retornou um PrintTicket inválido para o driver principal

Causa provável

A interrupção do verificador ocorre quando um documento PrintTicket que foi retornado para o driver principal do plug-in não está em conformidade com o PrintSchema.

Informações exibidas pelo Application Verifier
  • Formato:  —  Essa interrupção do verificador foi causada pelo método %lS no módulo de plug-in em %lS
  • Parâmetro 1  —  Mensagens de erro retornadas por PTConform. Use du para despejar a mensagem se esse parâmetro não for NULL.
  • Parâmetro 2  —  Texto XML do PrintTicket. Use du para despejar o XML se esse parâmetro não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: INVALID_PLUGIN_PRINTTICKET
  • Código de interrupção: 0000D019
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O driver principal enviou um documento PrintCapabilities inválido para o plug-in

Causa provável

A interrupção do verificador ocorre quando um documento PrintCapabilities que foi enviado do driver principal para o plug-in não está em conformidade com o PrintSchema. Relate esse erro à Microsoft, pois ele pode ser um problema no módulo principal do driver da impressora da Microsoft.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção do verificador foi causada quando o driver principal chamou o método %lS do plug-in
  • Parâmetro 1  —  Mensagens de erro retornadas por PTConform. Use du para despejar a mensagem se esse parâmetro não for NULL.
  • Parâmetro 2  —  Texto PrintCapabilities XML. Use du para despejar o XML se esse parâmetro não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: INVALID_COREDRIVER_PRINTCAPABILITIES
  • Código de interrupção: 0000D01A
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O plug-in retornou um documento PrintCapabilities inválido para o driver principal

Causa provável

A interrupção do verificador ocorre quando um documento PrintCapabilities que foi retornado para o driver principal do plug-in não está em conformidade com o PrintSchema.

Informações exibidas pelo Application Verifier
  • Formato:  —  Essa interrupção do verificador foi causada pelo método %lS no módulo de plug-in em %lS
  • Parâmetro 1  —  Mensagens de erro retornadas por PTConform. Use du para despejar a mensagem se esse parâmetro não for NULL.
  • Parâmetro 2  —  Texto PrintCapabilities XML. Use du para despejar o XML se esse parâmetro não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: INVALID_PLUGIN_PRINTCAPABILITIES
  • Código de interrupção: 0000D01B
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

PTConform encontrou um erro inesperado

Causa provável

Essa interrupção do verificador ocorre quando o PrintVerifier encontra um erro inesperado ao tentar verificar se o PrintTicket/PrintCapabilities está em conformidade com o PrintSchema. Relate esse erro à Microsoft, pois pode ser um problema no PrintVerifier.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Não usado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PTCONFORM_UNEXPECTED_ERROR
  • Código de interrupção: 0000D01C
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O filtro de impressão chama a interface do gerenciador de pipeline com um valor de argumento inválido

Causa provável

A interrupção do verificador ocorre quando um filtro de impressão chama um método de pipeline com um valor de argumento incorreto. Use o rastreamento de pilha para localizar o nome da DLL do filtro de impressão.

Informações exibidas pelo Application Verifier
  • Formato:  —  Método %s: valor inválido para o argumento %s.
  • Parâmetro 1  —  GUID do filtro de impressão. Use dd para despejá-lo se esse parâmetro não for NULL.
  • Parâmetro 2  —  Valor do argumento.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: FILTER_INVALID_ARGUMENT
  • Código de interrupção: 0000D01D
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

A chamada do filtro de impressão para IPrintPipelinePropertyBag substitui ou remove a propriedade comum

Causa provável

A interrupção do verificador ocorre quando um filtro de impressão altera ou exclui uma propriedade comum do pacote de propriedades do pipeline de impressão.

Informações exibidas pelo Application Verifier
  • Formato:  —  Método %s: modificação da propriedade comum %s
  • Parâmetro 1  —  GUID do filtro de impressão. Use dd para despejá-lo se esse parâmetro não for NULL.
  • Parâmetro 2  —  Valor da propriedade (variante).
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: FILTER_PROPERTY_BAG_INVALID_CHANGE
  • Código de interrupção: 0000D01E
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O filtro de impressão chama a interface do gerenciador de pipeline fora de ordem

Causa provável

A interrupção do verificador ocorre quando um filtro de impressão chama os métodos de interface do gerenciador de pipeline em uma sequência inesperada.

Informações exibidas pelo Application Verifier
  • Formato:  —  Ordem de chamada incorreta para a interface %s: %s
  • Parâmetro 1  —  GUID do filtro de impressão. Use dd para despejá-lo se esse parâmetro não for NULL.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: FILTER_INVALID_CALL_ORDER
  • Código de interrupção: 0000D01F
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O filtro de impressão tem uma incompatibilidade de chamadas AddRef/Release com a interface do gerenciador de pipeline

Causa provável

A interrupção do verificador ocorre quando um filtro de impressão gerencia incorretamente a contagem de referência da interface do gerenciador de pipeline.

Informações exibidas pelo Application Verifier
  • Formato:  —  A contagem de referência da interface %s é %d, mas a esperada é %s.
  • Parâmetro 1  —  GUID do filtro de impressão. Use dd para despejá-lo se esse parâmetro não for NULL.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: FILTER_REFCOUNT_MISMATCH
  • Código de interrupção: 0000D020
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

A chamada do filtro de impressão para o método de interface do gerenciador de pipeline não é esperada

Causa provável

A interrupção do verificador ocorre quando um filtro de impressão faz uma chamada desnecessária ou inesperada para um método de interface de pipeline. Por exemplo, se o filtro de impressão fizer uma segunda chamada para IPrintWriteStream::Close.

Informações exibidas pelo Application Verifier
  • Formato:  —  Método de interface %s: %s
  • Parâmetro 1  —  GUID do filtro de impressão. Use dd para despejá-lo se esse parâmetro não for NULL.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: FILTER_UNEXPECTED_CALL
  • Código de interrupção: 0000D021
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O gerenciador de pipeline chama os métodos da interface do filtro de impressão fora de ordem

Causa provável

A parada do verificador ocorre quando o gerenciador de pipeline chama incorretamente os métodos da interface de filtro de impressão. Relate o erro à Microsoft, pois pode ser um problema no serviço de pipeline de filtro de impressão.

Informações exibidas pelo Application Verifier
  • Formato:  —  Ordem de chamada inválida para o filtro de impressão: %s
  • Parâmetro 1  —  GUID do filtro de impressão. Use dd para despejá-lo se esse parâmetro não for NULL.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PIPELINE_INVALID_CALL_ORDER
  • Código de interrupção: 0000D022
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O gerenciador de pipeline chama o método da interface do filtro de impressão com um valor de argumento inválido

Causa provável

A interrupção do verificador ocorre quando o gerenciador de pipeline chama uma interface de filtro de impressão com um valor de argumento inválido. Relate o erro à Microsoft, pois pode ser um problema no serviço de pipeline de filtro de impressão.

Informações exibidas pelo Application Verifier
  • Formato:  —  Método %s: %s
  • Parâmetro 1  —  GUID do filtro de impressão. Use dd para despejá-lo se esse parâmetro não for NULL.
  • Parâmetro 2  —  Valor do argumento.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PIPELINE_INVALID_INPUT_ARGUMENT
  • Código de interrupção: 0000D023
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O gerenciador de pipeline retorna um valor inválido para o filtro de impressão

Causa provável

A interrupção do verificador ocorre quando o gerenciador de pipeline retorna um valor inválido para o filtro de impressão. Relate o erro à Microsoft, pois pode ser um problema no serviço de pipeline de filtro de impressão.

Informações exibidas pelo Application Verifier
  • Formato:  —  Método %s: %s
  • Parâmetro 1  —  GUID do filtro de impressão. Use dd para despejá-lo se esse parâmetro não for NULL.
  • Parâmetro 2  —  Valor.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: PIPELINE_INVALID_OUTPUT_ARGUMENT
  • Código de interrupção: 0000D024
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Uma chamada para um driver de impressora alterou o contexto de segurança.

Causa provável

A interrupção geralmente ocorre quando um driver de impressão chama RevertToSelf() ou RevertToPrinterSelf(), mas não altera o contexto de segurança de volta para representar o usuário chamando ImpersonatePrinterClient(). Isso não é permitido, e o comportamento do spooler de impressão é indefinido depois que isso acontece. Isso também pode criar uma vulnerabilidade de segurança e permitir um tipo de ataque de elevação de privilégio autenticado remotamente.

Informações exibidas pelo Application Verifier
  • Formato:  —  Essa interrupção do verificador foi causada pelo método "%lS" no módulo de plug-in em "%lS"
  • Parâmetro 1  —  Nome da conta na entrada do driver. Digite "du address" para despejá-lo se não for NULL.
  • Parâmetro 2  —  Nome da conta na saída do driver. Digite "du address" para despejá-lo se não for NULL.
  • Parâmetro 3  —  Token de segurança na entrada do driver
  • Parâmetro 4  —  Token de segurança na saída do driver

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: SECURITY_CONTEXT_CHANGED_BY_A_PRINT_DRIVER_CALL
  • Código de interrupção: 0000D025
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O filtro de impressão enviou um PrintTicket inválido para o gerenciador de pipeline

Causa provável

A interrupção do verificador ocorre quando uma parte do IPrintTicketPart foi enviada para um método SetPrintTicket, mas seu conteúdo não está em conformidade com o PrintSchema.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção desse verificador estava no método %lS. Use o GUID para identificar o filtro de impressão.
  • Parâmetro 1  —  GUID do filtro de impressão. Use dd para despejá-lo se esse parâmetro não for NULL.
  • Parâmetro 2  —  Mensagens de erro retornadas por PTConform. Use du para despejar a mensagem se esse parâmetro não for NULL.
  • Parâmetro 3  —  Texto XML do PrintTicket. Use du para despejar o XML se esse parâmetro não for NULL.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: INVALID_FILTER_PRINTTICKET
  • Código de interrupção: 0000D026
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O filtro de impressão recebeu um PrintTicket inválido do gerenciador de pipeline

Causa provável

A interrupção do verificador ocorre quando uma parte do IPrintTicketPart foi recebida do filtro de impressão por meio do método GetPrintTicket, mas seu conteúdo não está em conformidade com o PrintSchema.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção desse verificador estava no método %lS. Use o GUID para identificar o filtro de impressão.
  • Parâmetro 1  —  GUID do filtro de impressão. Use dd para despejá-lo se esse parâmetro não for NULL.
  • Parâmetro 2  —  Mensagens de erro retornadas por PTConform. Use du para despejar a mensagem se esse parâmetro não for NULL.
  • Parâmetro 3  —  Texto XML do PrintTicket. Use du para despejar o XML se esse parâmetro não for NULL.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: INVALID_PIPELINE_PRINTTICKET
  • Código de interrupção: 0000D027
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Descarregando o DLL do driver de impressão com retorno de chamada COM ativo.

Causa provável

A contagem de referência positiva na interface COM foi detectada enquanto o módulo de destino é descarregado. Provavelmente causada pela implementação incorreta da exportação de DllCanUnloadNow no módulo ou pela contagem de referência incorreta.

Informações exibidas pelo Application Verifier
  • Formato:  — Essa interrupção do verificador foi causada pelo descarregamento do módulo %lS enquanto o sistema ainda mantém um ponteiro %lS para ele.
  • Parâmetro 1  —  Endereço da interface COM.
  • Parâmetro 2  —  Rastreamento de pilha onde o retorno de chamada foi fornecido. Use dps para despejar o rastreamento de pilha se ele não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: DLL_PREMATURE_UNLOAD
  • Código de interrupção: 0000D028
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Tentativa de usar uma interface COM liberada

Causa provável

A interface COM foi usada após o lançamento. Para solucionar a interrupção: - Despeje o rastreamento de pilha atual usando o comando "k" no depurador para identificar a rotina que tentou usar a interface liberada. - Despeje o rastreamento de pilha da rotina que o liberou usando o comando dps com o segundo parâmetro da interrupção, se disponível.

Informações exibidas pelo Application Verifier
  • Formato:  —  Essa interrupção do verificador foi causada pelo uso da interface %lS após o lançamento.
  • Parâmetro 1  —  Endereço da interface COM.
  • Parâmetro 2  —  Rastreamento da pilha da chamada de liberação quando a contagem de referência passou a ser zero. Use dps para despejar o rastreamento de pilha se ele não for NULL.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: COM_INTERFACE_ALREADY_RELEASED
  • Código de interrupção: 0000D029
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Um driver de impressão chamado ExitThread

Causa provável

Um módulo de driver de impressão chamado ExitThread. Quando um módulo de driver de impressão chama ExitThread, o thread é encerrado antes que um destruidor possa ser chamado ou outra limpeza automática possa ser executada. Isso pode levar a um comportamento indefinido. Portanto, os drivers de impressão devem sempre retornar da função de thread. Para solucionar a interrupção: despeje o rastreamento de pilha atual usando o comando "k" no depurador para identificar a rotina que invocou ExitThread.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Não usado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: DRIVER_CALLED_EXITTHREAD
  • Código de interrupção: 0000D02A
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Um driver de impressão chamado TerminateThread

Causa provável

Um módulo de driver de impressão chamado TerminateThread. TerminateThread é usado para fazer com que um thread seja encerrado. Quando isso ocorre, o thread de destino não tem chance de executar nenhum código de modo de usuário. DLLs anexadas ao thread não são notificadas de que o thread está terminando. O sistema libera a pilha inicial do thread. A TerminateThread é uma função perigosa que só deve ser usada nos casos mais extremos. Por exemplo, TerminateThread pode resultar nos seguintes problemas: - Se o thread de destino tiver uma seção crítica, a seção crítica não será liberada. - Se o thread de destino estiver alocando memória do heap, o bloqueio de heap não será liberado. - Se o thread de destino estiver executando certas chamadas do kernel32 quando ele for encerrado, o estado do kernel32 para o processo do thread poderá ser inconsistente. - Se o thread de destino estiver manipulando o estado global de uma DLL compartilhada, o estado da DLL poderá ser destruído, afetando outros usuários da DLL. Para solucionar a interrupção: despeje o rastreamento de pilha atual usando o comando "k" no depurador para identificar o módulo e a rotina que invocaram TerminateThread.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Não usado.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: DRIVER_CALLED_TERMINATETHREAD
  • Código de interrupção: 0000D02B
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O filtro de impressão alterou o tipo de apartamento COM para o thread atual.

Causa provável

A interrupção do verificador ocorre quando um filtro de impressão altera o tipo de apartamento COM em um dos métodos (InitializeFilter, StartOperation ou ShutdownOperation). Use o comando "ln poi(<Param1>)" no depurador para identificar o nome da DLL do filtro de impressão.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção do verificador foi causada pelo método %lS de um filtro de impressão alterando o tipo de apartamento COM de %lS(%d) para %lS(%d).
  • Parâmetro 1  —  Ponteiro da interface de filtro. Use "ln poi(<Param1>)" para encontrar o filtro.
  • Parâmetro 2  —  Tipo de apartamento esperado
  • Parâmetro 3  —  Tipo de apartamento real
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: COM_APARTMENT_TYPE_CHANGED
  • Código de interrupção: 0000D02C
  • Severidade: Aviso
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

COM não é inicializado para o thread atual após a chamada para o método de filtro de impressão.

Causa provável

A interrupção do verificador ocorre quando um filtro de impressão desequilibra as chamadas CoInitialize[Ex] e CoUninitialize. Isso pode ser devido a CoInitialize[Ex] inesperadamente retornar falha, como ocorre quando o tipo de apartamento de solicitação não corresponde ao tipo atual do thread. Use o comando "ln poi(<Param1>)" no depurador para identificar o nome da DLL do filtro de impressão.

Informações exibidas pelo Application Verifier
  • Formato:  —  A interrupção do verificador provavelmente foi causada pelo método %lS de um filtro de impressão chamando CoUninitialize do COM sem um CoInitialize[Ex] bem-sucedido correspondente.
  • Parâmetro 1  —  Ponteiro da interface de filtro. Use "ln poi(<value>)" para encontrar o filtro.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: COM_NOT_INITIALIZED
  • Código de interrupção: 0000D02D
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

O driver de impressão tem uma incompatibilidade de chamadas AddRef/Release do documento PT/PC XML.

Causa provável

A interrupção do verificador ocorre quando um driver de impressão gerencia incorretamente a contagem de referência de um documento XML (por exemplo, PrintTicket ou PrintCapabilities). a contagem de referência não deveria ser alterada pela chamada do método e provavelmente levará a um vazamento e/ou a uma seção crítica órfã no XML DOC.

Informações exibidas pelo Application Verifier
  • Formato:  —   Após a chamada do método %lS, a contagem de referência do documento XML %lS é %d, embora o esperado seja %d.
  • Parâmetro 1  —  Nome da chamada do método ofensivo. Se não for NULL, use "du" para exibir.
  • Parâmetro 2  —  Tipo de documento XML. Se não for NULL, use "du" para exibir.
  • Parâmetro 3  —  Contagem de referência atual.
  • Parâmetro 4  —  Contagem de referência esperada.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: XML_DOM_REFCOUNT_CHANGED
  • Código de interrupção: 0000D02E
  • Severidade:  Erro
  • Erro único: não
  • Relatório de erro: Interrupção
  • Registrar no arquivo: sim
  • Criar backtrace: sim

FatalExit foi chamado

Causa provável

FatalExit foi chamado. Esta é uma forma de terminação anormal que pode fazer com que outras interrupções do verificador sejam relatadas (por exemplo, vazamentos), mas para as quais nenhuma ação corretiva é possível (ou seja, as interrupções não são confiáveis e causam ruídos). Para solucionar a interrupção: despeje o rastreamento de pilha atual usando o comando "k" no depurador para identificar o módulo e a rotina que invocaram FatalExit.

Informações exibidas pelo Application Verifier
  • Parâmetro 1  —  Código de saída.
  • Parâmetro 2  —  Não usado.
  • Parâmetro 3  —  Não usado.
  • Parâmetro 4  —  Não usado.

Informações adicionais
  • Camada de teste: PrintDriver
  • ID da interrupção: FATALEXIT
  • Código de interrupção: 0000D02F
  • Severidade: Informação
  • Erro único: não
  • Relatório de erro: Nenhum
  • Registrar no arquivo: sim
  • Criar backtrace: sim

Confira também

Application Verifier - Códigos de parada e definições

Application Verifier — Visão geral

Application Verifier - Recursos

Application Verifier - Testando aplicativos

Application Verifier - Testes dentro do Application Verifier

Application Verifier -Depurando paradas do Application Verifier

Application Verifier - Perguntas frequentes