I want to hook to create folder function to add a user list to that folder as access control item with the same name.
By reading SDK help, I thought the proper one to use was aaApi_AssignAccessList(). However, build fail due to identifier not found. Is this function removed, or is there any other function should be used instead?
ps.IDE environment was set as what ProjectWise SDK V8i Bentley Institute Course Guide told.
Have you looked at aaApi_ApplyAccessControlList? aaApi_AssignAccessList is shown as deprecated in the latest version of the SDK, though I don't know the version in which it was deprecated.
Please note that I post here on a voluntary basis and am not a Bentley employee.
It is always helpful to mention the versions of software involved, i.e. ProjectWise client, server, SDK, OS and sometimes the vendor and version of the database used for the datasource.
As mentioned in the ProjectWise SDK V8i course guide, you should use the ProjectWise SDK documentation to your advantage as @Jeff Burrill suggested.
Besides the ProjectWise SDK help file, you should also take a look at the "ProjectWise Sdk Impact Statement" delivered with the SDK as it provides valuable information about what is new, changed, deprecated, modified, and removed from the SDK. This is most important as you upgrade from version to version of ProjectWise. Ideally, "nothing" is ever removed or changed in an SDK, but unfortunately, this isn't always the case.
In the SDK help for aaApi_AssignAccessList, it is noted that this function has been deprecated and aaApi_ApplyAccessControlList() should be used instead. If you already have code implementing a function that becomes deprecated, typically it is possible to continue to use it until it is removed, but ideally, you should stop using deprecated functions as soon as possible.
To use a deprecated function, you can do what the documentation mentions, i.e.:
In this case, you can use the deprecated function if you need to, but depending upon various factors, you datasource will suffer some decrease in performance as changes were made quite a while ago to improve performance by changing the way some of the access control mechanisms worked.
If you haven't created your application yet, I would recommend not using any deprecated functions so that you don't have to implement the recommended functions later when the deprecated functions are finally removed. Or as my Grandmother use to say, "If you do it right the first time, you won't have to go back and do it again."