Método ITransferDestination::CreateItem (shobjidl_core.h)

Cria o arquivo especificado.

Sintaxe

HRESULT CreateItem(
  [in]  LPCWSTR               pszName,
  [in]  DWORD                 dwAttributes,
  [in]  ULONGLONG             ullSize,
  [in]  TRANSFER_SOURCE_FLAGS flags,
  [out] REFIID                riidItem,
  [out] void                  **ppvItem,
  [in]  REFIID                riidResources,
  [out] void                  **ppvResources
);

Parâmetros

[in] pszName

Tipo: LPCWSTR

Um ponteiro para um buffer encerrado em nulo que contém o nome do arquivo em relação ao diretório atual.

[in] dwAttributes

Tipo: DWORD

Um ou mais dos sinalizadores de FILE_ATTRIBUTE definidos na estrutura BY_HANDLE_FILE_INFORMATION . O valor mais significativo é FILE_ATTRIBUTE_DIRECTORY, o que indica que uma pasta deve ser criada.

[in] ullSize

Tipo: ULONGLONG

O tamanho, em bytes, do arquivo a ser criado. Esse valor poderá ser 0 se o tamanho for desconhecido.

[in] flags

Tipo: TRANSFER_SOURCE_FLAGS

Sinalizadores que controlam a operação de arquivo. Um ou mais sinalizadores de TRANSFER_SOURCE_FLAGS .

[out] riidItem

Tipo: REFIID

Uma referência ao IID da interface a ser recuperada por meio de ppvItem, normalmente IID_IShellItem ou outra interface derivada dela.

[out] ppvItem

Tipo: void**

Quando esse método retorna, contém o ponteiro de interface solicitado em riidItem. Normalmente, isso é IShellItem ou uma interface derivada.

[in] riidResources

Tipo: REFIID

Uma referência ao IID da interface a ser recuperada por meio de ppvResources, normalmente IID_IShellItemResources ou outra interface derivada dela.

[out] ppvResources

Tipo: void**

Quando esse método retorna, contém o ponteiro de interface solicitado em riidResources. Normalmente, isso é IShellItemResources ou uma interface derivada.

Retornar valor

Tipo: HRESULT

Retorna um código de êxito se tiver êxito ou um valor de erro, caso contrário. Os códigos de êxito incluem:

  • S_OK: a movimentação foi bem-sucedida e ppvItem e ppvResources apontam para objetos válidos.
  • COPYENGINE_S_USER_IGNORED: o item de destino já existe e não foi substituído. Os valores apontados por ppvItem e ppvResources são NULL. Se o chamador estiver implementando uma movimentação como uma operação de cópia e exclusão, o chamador deverá concluir a movimentação excluindo o item de origem.

Comentários

Esse método pode ser usado para criar um objeto de item shell que representa a pasta de destino para uma operação de cópia ou movimentação. A interface ITransferSource fornece métodos para realmente mover objetos de IShellItem para o destino.

Chame ITransferDestination::Advise antes de chamar qualquer outro método ITransferDestination para que o manipulador possa fazer o retorno de chamada em qualquer erro que possa ocorrer. Se não estiver definido, o manipulador deverá considerar uma indicação de que nenhum comentário está disponível e fazer a operação "padrão".

É recomendável que você use a macro IID_PPV_ARGS , definida em Objbase.h, para empacotar os parâmetros riidResources e ppvResources . Essa macro fornece o IID correto com base na interface apontada pelo valor em ppvResources, o que elimina a possibilidade de um erro de codificação.

Requisitos

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