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 |