public bool createOutputNode(
            Guid aRefMajorType,
            Guid aRefSubType,
            uint aSampleByteSize,
            out ISampleGrabberCall aISampleGrabberCall)
        {
            bool lresult = false;

            aISampleGrabberCall = null;

            do
            {
                if (mISampleGrabberCallSinkFactory == null)
                {
                    break;
                }


                try
                {
                    object lIUnknown;

                    mISampleGrabberCallSinkFactory.createOutputNode(
                        aRefMajorType,
                        aRefSubType,
                        aSampleByteSize,
                        typeof(CaptureManagerLibrary.ISampleGrabberCall).GUID,
                        out lIUnknown);


                    if (lIUnknown == null)
                    {
                        break;
                    }

                    var lSampleGrabberCall = lIUnknown as CaptureManagerLibrary.ISampleGrabberCall;

                    if (lSampleGrabberCall == null)
                    {
                        break;
                    }

                    aISampleGrabberCall = new SampleGrabberCall(
                        lSampleGrabberCall,
                        aSampleByteSize);

                    lresult = true;
                }
                catch (Exception exc)
                {
                    LogManager.getInstance().write(exc.Message);
                }
            } while (false);

            return(lresult);
        }