<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Hi Jack</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div><div><div></div>While i see the processing associated with pInitArgs, i wanted to ask what use case the app programmer would want to call C_Initialise(pInitArgs) vs C_Initialize(NULL_PTR) ??<br></div></div>
</div></blockquote><div><br></div><div>The documentation for PKCS#11 can be found here:</div><div><a href="ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs-11v2-20.pdf">ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs-11v2-20.pdf</a><br>
</div><div><br></div><div>Details on C_Initialize() is found in section 11.4, page 102.</div><div><br></div><div>To summarize, using the argument NULL_PTR means that the application will not access the library using multiple threads. Using a non NULL_PTR for pInitArgs means that it will/can use multiple threads. The library will use native OS mutex-handling or functions provided by the calling application, depending on the contents of the pInitArgs.</div>
<div><br></div><div>// Rickard</div></div></div></div>