<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://communities.bentley.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Kevin's Communities Activities</title><link>https://communities.bentley.com/members/411faa16_2d00_4565_2d00_466d_2d00_90a1_2d00_d05812772836</link><description>Recent activity for people in Kevin's community</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Discussion Starter I</title><link>https://communities.bentley.com/achievements/21025ab1-febb-4fb4-a872-d32a921cb45c</link><pubDate>Tue, 13 Dec 2022 04:25:11 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:0833ddf4-2ccb-4a9b-8b9b-4f531232d2bf</guid><dc:creator /><description>Start a discussion in a forum that receives 5 replies.</description></item><item><title>Popular File</title><link>https://communities.bentley.com/achievements/da0aff64-b8e8-4266-af11-9044c13de787</link><pubDate>Fri, 12 Mar 2021 09:29:09 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:76f69eaf-a882-4134-8f9f-7caedcee20b2</guid><dc:creator /><description>One of your files is downloaded 50 times.</description></item><item><title>I found aaApi_GetUserNumericProperty but where is Set User Numeric Property?</title><link>https://communities.bentley.com/products/programming/projectwise_programming/f/projectwise-programming---forum/167683/i-found-aaapi_getusernumericproperty-but-where-is-set-user-numeric-property</link><pubDate>Fri, 07 Sep 2018 09:07:18 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:4b45b6df-d371-4266-a5f6-1d5c8736a072</guid><dc:creator>Kevin</dc:creator><description>&lt;p&gt;I need to change User Settings programmatically&amp;nbsp; . In the SDK I found: aaApi_GetUserNumericProperty&amp;nbsp; but where / how do I Set User numeric Property ?&lt;/p&gt;
&lt;p&gt;Thanks for your patience,&lt;/p&gt;
&lt;p&gt;Kevin.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>select documents by create date</title><link>https://communities.bentley.com/products/programming/projectwise_programming/f/projectwise-programming---forum/155542/select-documents-by-create-date</link><pubDate>Fri, 01 Jun 2018 09:10:44 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:527c4089-5d30-4834-bec0-c32937ec46ae</guid><dc:creator>Kevin</dc:creator><description>&lt;p&gt;I just cannot find it in the API, it must be there ... select documents by date created .&lt;/p&gt;
&lt;p&gt;Thanks for your patience,&lt;/p&gt;
&lt;p&gt;Kevin.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>C# change project environment</title><link>https://communities.bentley.com/products/programming/projectwise_programming/f/projectwise-programming---forum/154567/c-change-project-environment</link><pubDate>Mon, 21 May 2018 06:20:34 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:f6089ee5-7767-4f46-886b-5f912eda8398</guid><dc:creator>Kevin</dc:creator><description>&lt;p&gt;C#&lt;/p&gt;
&lt;p&gt;Looks like I need to use AAPI_MODIFYPROJECT2 to apply changes to a Project , how do I get the Project object with C#?&lt;/p&gt;
&lt;p&gt;I can select using AAAPI_SELECTPROJECT(id) ; but I don&amp;#39;t know to &amp;#39;access&amp;#39; the selected Project object&amp;nbsp; .&lt;/p&gt;
&lt;p&gt;Thanks for your patience&lt;/p&gt;
&lt;p&gt;Kevin.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>how to remove all inherited access control items?</title><link>https://communities.bentley.com/products/programming/projectwise_programming/f/projectwise-programming---forum/154467/how-to-remove-all-inherited-access-control-items</link><pubDate>Thu, 17 May 2018 12:38:10 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:6505dc91-f0d1-49b4-ac7c-b073d6bc1d39</guid><dc:creator>Kevin</dc:creator><description>&lt;p&gt;I am , at last , starting to make progress with wrapping access control in C#. Success with aaApi_SelectAccessControlItems&amp;nbsp; and success with aaApi_RemoveAccessList . One huge problem though . These methods are only finding specifically applied access control items . I am not getting the inherited control items . How do I remove all inherited access control items?&lt;/p&gt;
&lt;p&gt;Thx for your patience.&lt;/p&gt;
&lt;p&gt;Kevin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Let me Help You</title><link>https://communities.bentley.com/achievements/687f4b6d-e18a-4e55-836c-49926ca2c9d9</link><pubDate>Mon, 24 Jul 2017 11:10:37 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:9e4f76f7-d604-4a97-89b8-5f0f7fa530b2</guid><dc:creator /><description>Answer a question that is verified as helpful or correct.</description></item><item><title>Ask A Question II</title><link>https://communities.bentley.com/achievements/cd3cd235-25c1-476e-bb88-33a5705ca45a</link><pubDate>Mon, 17 Jul 2017 06:39:04 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:d48b9645-3d8b-4883-b7c2-981d0da45186</guid><dc:creator /><description>Ask 10 questions in a forum.</description></item><item><title>Ask A Question I</title><link>https://communities.bentley.com/achievements/460ac7df-7ccc-4c42-a204-9e05eef3be09</link><pubDate>Mon, 17 Jul 2017 01:58:14 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:5d0fad38-b26a-41a8-b362-67ad4979126e</guid><dc:creator /><description>Ask a question in a forum.</description></item><item><title>Implementing aaApi_ApplyAccessControlList in C#/VB.Net Error</title><link>https://communities.bentley.com/products/programming/projectwise_programming/f/projectwise-programming---forum/108922/implementing-aaapi_applyaccesscontrollist-in-c-vb-net-error</link><pubDate>Fri, 17 Jul 2015 15:02:32 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:67aed8e0-fb6d-4bf5-9789-5dac054b79e7</guid><dc:creator>Stephen C</dc:creator><description>&lt;p&gt;I want to add a single User Group to an existing project (folder) using C#/VB.net. Since aaApi_AssignAccessList is depreciated, I am trying to use aaApi_ApplyAccessControlList which requires two structures defining the ObjectAccessSet and ObjectAccessEntry. Using aaApi_AssignAccessList I was able to add a permission, however, using aaApi_ApplyAccessControlList I always receive False with error code 58002 (ERR_INVALID_ARG). I used post &lt;a href="/products/programming/projectwise_programming/f/342995/t/55819"&gt;http://communities.bentley.com/products/programming/projectwise_programming/f/342995/t/55819&lt;/a&gt; for guidance as well.&lt;/p&gt;
&lt;p&gt;I am fairly sure the issue is with marshalling the Arrays and/or the Structures as I have not done this before. Any help someone could provide would be greatly appreciated. Also, the documentation states All the existing access control entries for the specified types are removed prior to applying the new access. Is it possible to just add a single access without effecting the others? Thanks everyone for your help!&lt;/p&gt;
&lt;pre class="brush: vb; fontsize: 90; first-line: 1; "&gt;Public Declare Unicode Function aaApi_ApplyAccessControlList Lib &amp;quot;c:\\Program Files\\Bentley\\ProjectWise\\bin\\dmscli.dll&amp;quot; _
(ByVal accessCarrier As Integer, ByVal objectId1 As Integer, ByVal objectId2 As Integer, ByVal typeCount As Int64, _
   &amp;lt;MarshalAs(UnmanagedType.LPArray)&amp;gt; ByVal typeAccess() As ObjectAccessSet, ByVal subItemFlags As Integer) As Boolean

&amp;lt;StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode), Serializable&amp;gt; _
Public Structure ObjectAccessSet
	Public objectType As Integer
	Public entryCount As Int64
	&amp;lt;MarshalAsAttribute(UnmanagedType.ByValArray)&amp;gt;
	Public entries() As ObjectAccessEntry
End Structure

&amp;lt;StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode), Serializable&amp;gt; _
Public Structure ObjectAccessEntry
	Public workflowId As Integer
	Public stateId As Integer
	Public memberType As Integer
	Public memberId As Integer
	Public accessMask As Integer
End Structure

Dim lObjectId1 As Integer = 90002 &amp;#39;PROJECT (FOLDER) ID
Dim lObjectId2 As Integer = 0 &amp;#39;0 BECAUSE SETTING PROJECT (FOLDER) ID
Dim lWorkflowId As Integer = 0 &amp;#39;ALL WORKFLOWS
Dim lStateId As Integer = 0 &amp;#39;ALL STATES
Dim lAccessMask As Integer = 124 &amp;#39;READ+WRITE+FREAD+FWRITE+CREATE+FREE

Dim en() As ObjectAccessEntry = {New ObjectAccessEntry With {.workflowId = lWorkflowId, .stateId = lStateId, .memberType = 2, .memberId = 17, .accessMask = lAccessMask}}

Dim typeAccess() As ObjectAccessSet = {
	New ObjectAccessSet With {.objectType = 2, .entryCount = en.Length, .entries = en},
	New ObjectAccessSet With {.objectType = 4, .entryCount = en.Length, .entries = en}}

Dim result As Boolean = aaApi_ApplyAccessControlList(2, lObjectId1, lObjectId2, typeAccess.Length, typeAccess, &amp;amp;H0)

Dim err = aaApi_GetLastErrorId()
&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>c++  using the dynamic data buffer resulting from aaApi_ImportAccessControl</title><link>https://communities.bentley.com/products/programming/projectwise_programming/f/projectwise-programming---forum/110071/c-using-the-dynamic-data-buffer-resulting-from-aaapi_importaccesscontrol</link><pubDate>Fri, 21 Aug 2015 12:47:00 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:140a92cd-d7da-4029-8e8e-ffe25a910837</guid><dc:creator>Kevin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The SDK Help reference for aaApi_ImportAccessControl states:&lt;/p&gt;
&lt;p&gt;This function imports access records from a file into the dynamic ProjectWise data buffer.&lt;/p&gt;
&lt;p&gt;Input: GUID of&amp;nbsp;PW folder, CSV File (access control set)&lt;/p&gt;
&lt;p&gt;Result: a long representing the number of records imported and a dynamic ProjectWise data buffer of access records&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;My call to the function returns a number of records, indicating that the import is ok.&lt;/p&gt;
&lt;p&gt;But how do I &amp;quot;refer to&amp;quot; / use the access records currently in the dynamic ProjectWise data buffer?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thx for your patience,&lt;/p&gt;
&lt;p&gt;Kevin.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AAAPI_IMPORTACCESSCONTROL returns valid record count but nothing happens</title><link>https://communities.bentley.com/products/programming/projectwise_programming/f/projectwise-programming---forum/108699/aaapi_importaccesscontrol-returns-valid-record-count-but-nothing-happens</link><pubDate>Fri, 10 Jul 2015 08:12:51 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:119ee38f-1d33-4420-af11-740feee28177</guid><dc:creator>Kevin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;We have been successfully&amp;nbsp;using CSV files, in Project Wise Explorer,&amp;nbsp;for exchanging Access Control settings between folders for about 6 months.&lt;/p&gt;
&lt;p&gt;My intention is to automate the process.&lt;/p&gt;
&lt;p&gt;I found AAAPI_IMPORTACCESSCONTROL in the SDK and thought .. &amp;quot;that&amp;#39;s just what I needed .. Thx Bentley&amp;quot;.&lt;/p&gt;
&lt;p&gt;The method runs, it returns an integer that appears to be a valid count of access control records.&lt;/p&gt;
&lt;p&gt;But nothing happens. The Access Control is not updated/changed.&lt;/p&gt;
&lt;p&gt;I am probably missing the .. update Access Controls method ... ?&lt;/p&gt;
&lt;p&gt;Thanks for your patience,&lt;/p&gt;
&lt;p&gt;Kevin.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>[PW - C#] How to get Datasource DisplayName Value?</title><link>https://communities.bentley.com/products/programming/projectwise_programming/f/projectwise-programming---forum/68137/pw---c-how-to-get-datasource-displayname-value</link><pubDate>Wed, 27 May 2015 06:19:54 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:0f47dbf6-3c6c-47c1-a249-8a4201abb932</guid><dc:creator>boldog</dc:creator><description>&lt;p&gt;How to get Datasource DisplayName Value? I&amp;#39;m found only &lt;/p&gt;
&lt;h3 class="heading-3"&gt;&lt;a name="aaapi.getdatasourcename"&gt;&lt;/a&gt;aaApi_GetDatasourceName&lt;/h3&gt;
&lt;p class="heading-3"&gt;function...&lt;/p&gt;
&lt;p&gt;Please, help me.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>