Método ICopyHookA::CopyCallback (shlobj.h)

Determina se o Shell terá permissão para mover, copiar, excluir ou renomear um objeto de pasta ou impressora.

Sintaxe

UINT CopyCallback(
  HWND  hwnd,
  UINT  wFunc,
  UINT  wFlags,
  PCSTR pszSrcFile,
  DWORD dwSrcAttribs,
  PCSTR pszDestFile,
  DWORD dwDestAttribs
);

Parâmetros

hwnd

Um identificador para a janela que o manipulador de gancho de cópia deve usar como pai para qualquer elemento de interface do usuário que o manipulador possa precisar exibir. Se FOF_SILENT for especificado em wFunc, o método deverá ignorar esse parâmetro.

wFunc

A operação a ser executada. Esse parâmetro pode ser um dos valores listados no membro wFunc da estrutura SHFILEOPSTRUCT .

wFlags

Os sinalizadores que controlam a operação. Esse parâmetro pode ser um ou mais dos valores listados no membro fFlags da estrutura SHFILEOPSTRUCT .

Para ganchos de cópia de impressora, esse valor é um dos seguintes valores definidos em Shellapi.h.

Valor Descrição
PO_DELETE Uma impressora está sendo excluída. pszSrcFile aponta para o caminho completo para a impressora especificada.
PO_RENAME Uma impressora está sendo renomeada. O parâmetro pszSrcFile aponta para o novo nome da impressora. O parâmetro pszDestFile aponta para o nome antigo.
PO_PORTCHANGE Não há suporte. Não use.
PO_REN_PORT Não há suporte. Não use.

pszSrcFile

Um ponteiro para uma cadeia de caracteres que contém o nome da pasta de origem.

dwSrcAttribs

Os atributos da pasta de origem. Esse parâmetro pode ser uma combinação de qualquer um dos sinalizadores de atributo de arquivo (FILE_ATTRIBUTE_*) definidos nos arquivos de cabeçalho. Consulte Constantes de atributo de arquivo.

pszDestFile

Um ponteiro para uma cadeia de caracteres que contém o nome da pasta de destino.

dwDestAttribs

Os atributos da pasta de destino. Esse parâmetro pode ser uma combinação de qualquer um dos sinalizadores de atributo de arquivo (FILE_ATTRIBUTE_*) definidos nos arquivos de cabeçalho. Consulte Constantes de atributo de arquivo.

Retornar valor

Retorna um valor inteiro que indica se o Shell deve executar a operação. Um dos seguintes:

Valor Descrição
IDYES Permite a operação.
IDNO Impede a operação nessa pasta, mas continua com quaisquer outras operações que tenham sido aprovadas (por exemplo, uma operação de cópia em lote).
IDCANCEL Impede a operação atual e cancela todas as operações pendentes.

Comentários

O Shell chama cada manipulador de gancho de cópia registrado para uma pasta ou objeto de impressora até que todos os manipuladores tenham sido chamados ou até que um deles retorne IDNO ou IDCANCEL.

Manipuladores de gancho de cópia para pastas são registrados sob a seguinte chave:

HKEY_CLASSES_ROOT/Directory/Shellex/CopyHookHandlers/your_copyhook/{copyhook CLSID value}

Manipuladores de gancho de cópia para impressoras são registrados sob a chave a seguir.

HKEY_CLASSES_ROOT/Printers/Shellex/CopyHookHandlers/your_copyhook/{copyhook CLSID value}

Quando esse método é chamado, o Shell inicializa a interface ICopyHookA diretamente sem usar uma interface IShellExtInit primeiro.

Requisitos

Requisito Valor
Cabeçalho shlobj.h