Método ICopyHookW::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,
  PCWSTR pszSrcFile,
  DWORD  dwSrcAttribs,
  PCWSTR pszDestFile,
  DWORD  dwDestAttribs
);

Parâmetros

hwnd

Um identificador para a janela que o manipulador de gancho de cópia deve usar como pai para quaisquer elementos 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 valores a seguir 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 qualquer outra operação que tenha sido aprovada (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 um objeto de pasta ou impressora até que todos os manipuladores tenham sido chamados ou até que um deles retorne IDNO ou IDCANCEL.

Os manipuladores de gancho de cópia para pastas são registrados na seguinte chave:

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

Os 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 ICopyHookW diretamente sem usar uma interface IShellExtInit primeiro.

Requisitos

Requisito Valor
Cabeçalho shlobj.h