private static extern int PBORCA_LibraryDirectory125( int hORCASession, [MarshalAs(UnmanagedType.LPTStr)] string lpszLibName, [MarshalAs(UnmanagedType.LPTStr)] string lpszLibComments, int iCmntsBufflen, PBORCA_LIBDIRCALLBACK pListProc, IntPtr pUserData );
/// <summary> /// lists a library /// </summary> /// <param name="file">path to librarys</param> /// <returns>list of entries</returns> public List <LibEntry> DirLibrary(string file) { int orcaSession = 0; PBORCA_LIBDIRCALLBACK PBORCA_LibraryDirectoryCallback = new PBORCA_LIBDIRCALLBACK(PBORCA_LibDirCallback); IntPtr dummy = new IntPtr(); currentLibrary = file; libEntries = new List <LibEntry>(); if (session == 0) { switch (this.currentVersion) { case Version.PB115: orcaSession = PBORCA_SessionOpen115(); break; case Version.PB125: orcaSession = PBORCA_SessionOpen125(); break; case Version.PB126: orcaSession = PBORCA_SessionOpen126(); break; } } else { orcaSession = session; } switch (this.currentVersion) { case Version.PB115: PBORCA_LibraryDirectory115(orcaSession, file, "", 0, PBORCA_LibraryDirectoryCallback, dummy); break; case Version.PB125: PBORCA_LibraryDirectory125(orcaSession, file, "", 0, PBORCA_LibraryDirectoryCallback, dummy); break; case Version.PB126: PBORCA_LibraryDirectory126(orcaSession, file, "", 0, PBORCA_LibraryDirectoryCallback, dummy); break; } if (session == 0) { switch (this.currentVersion) { case Version.PB115: PBORCA_SessionClose115(orcaSession); break; case Version.PB125: PBORCA_SessionClose125(orcaSession); break; case Version.PB126: PBORCA_SessionClose126(orcaSession); break; } } return(libEntries); }