public CrackedBindingString(string string_binding) { SafeRpcStringHandle objuuid = null; SafeRpcStringHandle protseq = null; SafeRpcStringHandle endpoint = null; SafeRpcStringHandle networkaddr = null; SafeRpcStringHandle networkoptions = null; try { int status = Win32NativeMethods.RpcStringBindingParse(string_binding, out objuuid, out protseq, out networkaddr, out endpoint, out networkoptions); if (status == 0) { ObjUuid = objuuid.ToString(); Protseq = protseq.ToString(); Endpoint = endpoint.ToString(); NetworkAddr = networkaddr.ToString(); NetworkOptions = networkoptions.ToString(); } else { ObjUuid = string.Empty; Protseq = string.Empty; Endpoint = string.Empty; NetworkAddr = string.Empty; NetworkOptions = string.Empty; } } finally { objuuid?.Dispose(); protseq?.Dispose(); endpoint?.Dispose(); networkaddr?.Dispose(); networkoptions?.Dispose(); } }