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) |