Compartilhar via


Função DeletePrinterDriverEx

A função DeletePrinterDriverEx remove o nome do driver de impressora especificado da lista de nomes de drivers com suporte em um servidor e exclui os arquivos associados ao driver. Essa função também pode excluir versões específicas do driver.

Sintaxe

BOOL DeletePrinterDriverEx(
  _In_ LPTSTR pName,
  _In_ LPTSTR pEnvironment,
  _In_ LPTSTR pDriverName,
  _In_ DWORD  dwDeleteFlag,
  _In_ DWORD  dwVersionFlag
);

Parâmetros

pName [in]

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do servidor do qual o driver deve ser excluído. Se esse parâmetro for NULL, a função excluirá o driver de impressora do computador local.

pEnvironment [in]

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o ambiente do qual o driver deve ser excluído (por exemplo, Windows NT x86, Windows IA64 ou Windows x64). Se esse parâmetro for NULL, o nome do driver será excluído do ambiente atual do aplicativo de chamada e do computador cliente (não do aplicativo de destino e do servidor de impressão).

pDriverName [in]

Um ponteiro para uma cadeia de caracteres terminada em nulo especificando o nome do driver a ser excluído.

dwDeleteFlag [in]

As opções para excluir arquivos e versões do driver. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
DPD_DELETE_SPECIFIC_VERSION
Exclui a versão especificada em dwVersionFlag. Isso não garante que o driver seja removido da lista de drivers com suporte para o servidor.
DPD_DELETE_UNUSED_FILES
Remove todos os arquivos de driver não utilizados.
DPD_DELETE_ALL_FILES
Exclui o driver somente se todos os arquivos associados puderem ser removidos. A operação de exclusão falhará se algum dos arquivos do driver estiver sendo usado por algum outro driver instalado.

Se DPD_DELETE_SPECIFIC_VERSION não for especificado, a função excluirá todas as versões do driver se nenhuma delas estiver em uso. Se nem DPD_DELETE_UNUSED_FILES nem DPD_DELETE_ALL_FILES for especificado, a função não excluirá arquivos de driver.

dwVersionFlag [in]

A versão do driver a ser excluída. Esse parâmetro pode ser 0, 1, 2 ou 3. Esse parâmetro será usado somente se dwDeleteFlag incluir o sinalizador DPD_DELETE_SPECIFIC_VERSION.

Valor retornado

Se a função for bem-sucedida, o valor retornado será um valor diferente de zero.

Se a função falhar, o valor retornado será zero.

Comentários

Observação

Essa é uma função de bloqueio ou síncrona e pode não retornar imediatamente. A rapidez com que essa função retorna depende de fatores de tempo de execução, como status de rede, configuração do servidor de impressão e fatores de implementação do driver de impressora que são difíceis de prever ao gravar um aplicativo. Chamar essa função de um thread que gerencia a interação com a interface do usuário pode fazer com que o aplicativo pareça não responder.

Antes que a função exclua os arquivos de driver, ela chama a função DrvDriverEvent do driver, permitindo que o driver remova todos os arquivos privados que não são usados. Para obter mais informações sobre o DrvDriverEvent, consulte o DDK (Microsoft Windows Driver Development Kit).

Se os arquivos de driver estiverem carregados no momento, a função os moverá para um diretório temporário e os marcará para exclusão na reinicialização.

Antes de chamar DeletePrinterDriverEx, você deve excluir todos os objetos de impressora que usam o driver de impressora.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Winspool.h (inclua Windows.h)
Biblioteca
Winspool.lib
DLL
Winspool.drv
Nomes Unicode e ANSI
DeletePrinterDriverExW (Unicode) e DeletePrinterDriverExA (ANSI)

Confira também

Impressão

Funções da API do Spooler de impressão

AddPrinterDriverEx