当前位置: 首页>>代码示例>>C++>>正文


C++ IFileOperation::NewItem方法代码示例

本文整理汇总了C++中IFileOperation::NewItem方法的典型用法代码示例。如果您正苦于以下问题:C++ IFileOperation::NewItem方法的具体用法?C++ IFileOperation::NewItem怎么用?C++ IFileOperation::NewItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IFileOperation的用法示例。


在下文中一共展示了IFileOperation::NewItem方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: PyCom_BuildPyException

// @pymethod |PyIFileOperation|NewItem|Creates a new file as part of the operation
PyObject *PyIFileOperation::NewItem(PyObject *self, PyObject *args)
{
    IFileOperation *pIFO = GetI(self);
    if ( pIFO == NULL )
        return NULL;
    // @pyparm <o PyIShellItem>|DestinationFolder||Folder in which to create the file
    // @pyparm int|FileAttributes||Combination of win32con.FILE_ATTRIBUTE_* flags
    // @pyparm str|Name||Name of the new file
    // @pyparm str|TemplateName|None|Template file used to initialize the new file
    // @pyparm <o PyGFileOperationProgressSink>|Sink|None|Progress sink for just this operation
    PyObject *obDestinationFolder;
    PyObject *obName;
    PyObject *obTemplateName = Py_None;
    PyObject *obSink = Py_None;
    IShellItem * pDestinationFolder;
    DWORD FileAttributes;
    TmpWCHAR Name;
    TmpWCHAR TemplateName;
    IFileOperationProgressSink * pSink;

    if (!PyArg_ParseTuple(args, "OkO|OO:NewItem", &obDestinationFolder, &FileAttributes, &obName,
                          &obTemplateName, &obSink))
        return NULL;
    if (!PyWinObject_AsWCHAR(obName, &Name, FALSE))
        return NULL;
    if (!PyWinObject_AsWCHAR(obTemplateName, &TemplateName, TRUE))
        return NULL;
    if (!PyCom_InterfaceFromPyInstanceOrObject(obDestinationFolder, IID_IShellItem, (void **)&pDestinationFolder, FALSE))
        return NULL;
    if (!PyCom_InterfaceFromPyInstanceOrObject(obSink, IID_IFileOperationProgressSink, (void **)&pSink, TRUE)) {
        PYCOM_RELEASE(pDestinationFolder);
        return NULL;
    }

    HRESULT hr;
    PY_INTERFACE_PRECALL;
    hr = pIFO->NewItem(pDestinationFolder, FileAttributes, Name, TemplateName, pSink);
    pDestinationFolder->Release();
    if (pSink)
        pSink->Release();
    PY_INTERFACE_POSTCALL;

    if ( FAILED(hr) )
        return PyCom_BuildPyException(hr, pIFO, IID_IFileOperation );
    Py_INCREF(Py_None);
    return Py_None;
}
开发者ID:,项目名称:,代码行数:48,代码来源:


注:本文中的IFileOperation::NewItem方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。