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();
            }
        }