internal Win64PInvoke(string caBundleAbsPath, ushort preferredHttpListeningPort = 0, ushort preferredHttpsListeningPort = 0) : base(caBundleAbsPath, preferredHttpListeningPort, preferredHttpsListeningPort)
        {
            m_engineHandle = NativeMethods64.fe_ctl_create(NativeFirewallCbReference, caBundleAbsPath, (uint)caBundleAbsPath.Length, preferredHttpListeningPort, preferredHttpsListeningPort, (uint)Environment.ProcessorCount, NativeHttpMsgBeginCbReference, NativeHttpMsgEndCbReference, NativeOnInfoCbReference, NativeOnWarnCbReference, NativeOnErrorCbReference);

            if (m_engineHandle == IntPtr.Zero || m_engineHandle == new IntPtr(-1))
            {
                throw new Exception("Failed to create native engine instance.");
            }
        }