Método IFileOperation::SetOperationFlags (shobjidl_core.h)

Define parâmetros para a operação atual.

Sintaxe

HRESULT SetOperationFlags(
  [in] DWORD dwOperationFlags
);

Parâmetros

[in] dwOperationFlags

Tipo: DWORD

Sinalizadores que controlam a operação de arquivo. Esse membro pode ser uma combinação dos sinalizadores a seguir. Os sinalizadores FOF são definidos em Shellapi.h e os sinalizadores FOFX são definidos em Shobjidl.h.

Nota Se esse método não for chamado, o valor padrão usado pela operação será FOF_ALLOWUNDO | FOF_NOCONFIRMMKDIR.
 

FOF_ALLOWUNDO (0x0040)

Preservar informações de desfazer, se possível.

Antes do Windows Vista, as operações só podiam ser desfeitas do mesmo processo que executava a operação original.

No Windows Vista e em sistemas posteriores, o escopo do desfazer é uma sessão do usuário. Qualquer processo em execução na sessão do usuário pode desfazer outra operação. O estado de desfazer é mantido no processo de Explorer.exe e, enquanto esse processo estiver em execução, ele poderá coordenar as funções desfazer.

Se o parâmetro de arquivo de origem não contiver nomes de arquivo e caminho totalmente qualificados, esse sinalizador será ignorado.

FOF_FILESONLY (0x0080)

Execute a operação somente em arquivos (não em pastas) se um nome de arquivo curinga (.) for especificado.

FOF_NOCONFIRMATION (0x0010)

Responda com Sim a Todos para qualquer caixa de diálogo exibida.

FOF_NOCONFIRMMKDIR (0x0200)

Não confirme a criação de uma nova pasta se a operação exigir que uma seja criada.

FOF_NO_CONNECTED_ELEMENTS (0x2000)

Não mova itens conectados como um grupo. Mova apenas os arquivos especificados.

FOF_NOCOPYSECURITYATTRIBS (0x0800)

Não copie os atributos de segurança do item.

FOF_NOERRORUI (0x0400)

Não exiba uma mensagem para o usuário se ocorrer um erro. Se esse sinalizador for definido sem FOFX_EARLYFAILURE, qualquer erro será tratado como se o usuário tivesse escolhido Ignorar ou Continuar em uma caixa de diálogo. Ele interrompe a ação atual, define um sinalizador para indicar que uma ação foi anulada e prossegue com o restante da operação.

FOF_NORECURSION (0x1000)

Operar somente na pasta local. Não opere recursivamente em subdiretórios.

FOF_RENAMEONCOLLISION (0x0008)

Dê ao item que está sendo operado um novo nome em uma operação de movimentação, cópia ou renomeação se já existir um item com o nome de destino.

FOF_SILENT (0x0004)

Não exiba uma caixa de diálogo de progresso.

FOF_WANTNUKEWARNING (0x4000)

Envie um aviso se um arquivo ou pasta estiver sendo destruído durante uma operação de exclusão em vez de reciclado. Esse sinalizador substitui parcialmente FOF_NOCONFIRMATION.

FOFX_ADDUNDORECORD (0x20000000)

Introduzido no Windows 8. A operação de arquivo foi invocada pelo usuário e deve ser colocada na pilha de desfazer. Esse sinalizador é preferencial para FOF_ALLOWUNDO.

FOFX_NOSKIPJUNCTIONS (0x00010000)

Entre nas junções de namespace do Shell. Por padrão, as junções não são inseridas. Para obter mais informações sobre junções, consulte Especificando o local de uma extensão de namespace.

Se possível, crie um link rígido em vez de uma nova instância do arquivo no destino.

FOFX_SHOWELEVATIONPROMPT (0x00040000)

Se uma operação exigir direitos elevados e o sinalizador FOF_NOERRORUI estiver definido para desabilitar a interface do usuário do erro, exiba um prompt de interface do usuário do UAC, no entanto.

FOFX_EARLYFAILURE (0x00100000)

Se FOFX_EARLYFAILURE for definido junto com FOF_NOERRORUI, todo o conjunto de operações será interrompido ao encontrar qualquer erro em qualquer operação. Esse sinalizador é válido somente quando FOF_NOERRORUI está definido.

FOFX_PRESERVEFILEEXTENSIONS (0x00200000)

Renomeie colisões de maneira a preservar extensões de nome de arquivo. Esse sinalizador é válido somente quando FOF_RENAMEONCOLLISION também está definido.

FOFX_KEEPNEWERFILE (0x00400000)

Mantenha o arquivo ou pasta mais recente, com base na propriedade Date Modified, se ocorrer uma colisão. Isso é feito automaticamente sem nenhuma interface do usuário de prompt apresentada ao usuário.

FOFX_NOCOPYHOOKS (0x00800000)

Não use ganchos de cópia.

FOFX_NOMINIMIZEBOX (0x01000000)

Não permita que a caixa de diálogo de progresso seja minimizada.

FOFX_MOVEACLSACROSSVOLUMES (0x02000000)

Copie os atributos de segurança do item de origem para o item de destino ao executar uma operação de movimentação entre volumes. Sem esse sinalizador, o item de destino recebe os atributos de segurança de sua nova pasta.

FOFX_DONTDISPLAYSOURCEPATH (0x04000000)

Não exiba o caminho do item de origem na caixa de diálogo de progresso.

FOFX_DONTDISPLAYDESTPATH (0x08000000)

Não exiba o caminho do item de destino na caixa de diálogo de progresso.

FOFX_RECYCLEONDELETE (0x00080000)

Introduzido no Windows 8. Quando um arquivo é excluído, envie-o para a Lixeira em vez de excluí-lo permanentemente.

FOFX_REQUIREELEVATION (0x10000000)

Introduzido no Windows Vista SP1. O usuário espera um requisito de elevação de direitos, portanto, não exiba uma caixa de diálogo solicitando uma confirmação da elevação.

FOFX_COPYASDOWNLOAD (0x40000000)

Introduzido no Windows 7. Exiba um Download em vez de Copiar mensagem na caixa de diálogo em andamento.

FOFX_DONTDISPLAYLOCATIONS (0x80000000)

Introduzido no Windows 7. Não exiba a linha de localização na caixa de diálogo de progresso.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Defina esses sinalizadores antes de chamar IFileOperation::P erformOperations para definir os parâmetros para todas as operações que estão sendo executadas, como copiar, excluir ou renomear.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista, Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shobjidl_core.h (inclua Shobjidl.h)