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 |
|
Biblioteca |
|
DLL |
|
Nomes Unicode e ANSI |
DeletePrinterDriverExW (Unicode) e DeletePrinterDriverExA (ANSI) |