Compartir a través de


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

Crea el archivo especificado.

Sintaxis

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

Puntero a un búfer terminado en null que contiene el nombre del archivo en relación con el directorio actual.

[in] dwAttributes

Tipo: DWORD

Una o varias de las marcas de FILE_ATTRIBUTE definidas en la estructura BY_HANDLE_FILE_INFORMATION . El valor más significativo es FILE_ATTRIBUTE_DIRECTORY, lo que indica que se debe crear una carpeta.

[in] ullSize

Tipo: ULONGLONG

Tamaño, en bytes, del archivo que se va a crear. Este valor puede ser 0 si se desconoce el tamaño.

[in] flags

Tipo: TRANSFER_SOURCE_FLAGS

Marcas que controlan la operación de archivo. Una o varias de las marcas de TRANSFER_SOURCE_FLAGS .

[out] riidItem

Tipo: REFIID

Referencia al IID de la interfaz que se va a recuperar a través de ppvItem, normalmente IID_IShellItem u otra interfaz que deriva de ella.

[out] ppvItem

Tipo: void**

Cuando este método vuelve, contiene el puntero de interfaz solicitado en riidItem. Suele ser IShellItem o una interfaz derivada.

[in] riidResources

Tipo: REFIID

Referencia al IID de la interfaz que se va a recuperar a través de ppvResources, normalmente IID_IShellItemResources u otra interfaz que deriva de ella.

[out] ppvResources

Tipo: void**

Cuando este método vuelve, contiene el puntero de interfaz solicitado en riidResources. Suele ser IShellItemResources o una interfaz derivada.

Valor devuelto

Tipo: HRESULT

Devuelve un código correcto si se ejecuta correctamente o un valor de error de lo contrario. Entre los códigos de éxito se incluyen:

  • S_OK: el movimiento se realizó correctamente y ppvItem y ppvResources apuntan a objetos válidos.
  • COPYENGINE_S_USER_IGNORED: el elemento de destino ya existe y no se ha sobrescrito. Los valores a los que apunta ppvItem y ppvResources son NULL. Si el autor de la llamada está implementando un movimiento como una operación de copia y eliminación, el autor de la llamada debe completar el traslado eliminando el elemento de origen.

Comentarios

Este método se puede usar para crear un objeto de elemento de Shell que represente la carpeta de destino para una operación de copia o movimiento. La interfaz ITransferSource proporciona métodos para mover realmente objetos de IShellItem al destino.

Llame a ITransferDestination::Advise antes de llamar a cualquier otro método ITransferDestination para que el controlador pueda realizar la devolución de llamada en cualquier error que pueda producirse. Si no se establece, el controlador debe considerarlo una indicación de que no hay comentarios disponibles y para realizar la operación "predeterminada".

Se recomienda usar la macro IID_PPV_ARGS , definida en Objbase.h, para empaquetar los parámetros riidResources y ppvResources . Esta macro proporciona el IID correcto basado en la interfaz a la que apunta el valor de ppvResources, lo que elimina la posibilidad de un error de codificación.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shobjidl_core.h (include Shobjidl.h)