起因:chinafirst中有人咨询在pw sdk中找不到创建folder的函数。问题:如何成功新建一个folder解决:在pw概念中,project分为normal project和rich project。其中的normal project既是我们一般所说的folder。 所以创建一个新的folder只要找相应的project函数即可。可以通过
BOOL aaApi_CreateProject ( LPLONG plProjectId, LONG lParentId, LONG lStorageId, LONG lManagerId, LONG lType, LONG lWorkFlowId, LONG lWorkspaceProfileId, LONG lAccFromProject, LPCWSTR lpctstrName, LPCWSTR lpctstrDesc ) 和 BOOL aaApi_CreateProject2 ( LPAADMSPROJITEM lpProject, LONG lAccFromProject )进行创建。 并在传递参数过程中,对lType参数或LPAADMSPROJITEM中的lTypeId赋值为AADMS_PROJECT_TYPE_NORMAL即可。下面是示例代码: 函数1: bool re= aaApi_CreateProject( projectid, parentId, 1 ,2, AADMS_PROJECT_TYPE_NORMAL , -1, -1, 0, L"lizi", L"lizi" ) ;//parentId为当前创建位置的父文件夹的id。projectid为传出参数。: 函数2: memset(&projectInfo, 0, sizeof(projectInfo)); projectInfo.lStorageId = 1; projectInfo.lTypeId = AADMS_PROJECT_TYPE_NORMAL; projectInfo.lptstrName = L"lizi"; projectInfo.lManagerId = 2; projectInfo.ulFlags = (AADMSPROJF_STORAGEID |AADMSPROJF_TYPEID |AADMSPROJF_NAME |AADMSPROJF_MANAGERID); projectInfo.lParentId = parentId; //parentId为当前创建位置的父文件夹的id。 projectInfo.ulFlags |= AADMSPROJF_PARENTID; BOOL bRet = aaApi_CreateProject2(&projectInfo, 0);
注意:利用上述函数创建过程中,出现了多次创建失败的问题。最后发现是(以函数1为例):在众多参数中,plProjectId、lParentId、lStorageId、lManagerId、lpctstrName是必须指定的。