System.Threading.OverlappedData.Pack C# (CSharp) Méthode

Pack() private méthode

private Pack ( IOCompletionCallback iocb, Object userData ) : NativeOverlapped*
iocb IOCompletionCallback
userData Object
Résultat NativeOverlapped*
        unsafe internal NativeOverlapped* Pack(IOCompletionCallback iocb, Object userData)
        {
            if (!m_pinSelf.IsNull()) {
                throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_Overlapped_Pack"));
            }
            StackCrawlMark stackMark = StackCrawlMark.LookForMyCaller;

            if (iocb != null)
            {
                m_iocbHelper = new _IOCompletionCallback(iocb, ref stackMark);
                m_iocb = iocb;
            }
            else
            {
                m_iocbHelper = null;
                m_iocb = null;
            }
            m_userObject = userData;
            if (m_userObject != null)
            {
                if (m_userObject.GetType() == typeof(Object[]))
                {
                    m_isArray = 1;
                }
                else
                {
                    m_isArray = 0;
                }
            }
            return AllocateNativeOverlapped();
        }

Usage Example

Exemple #1
0
 unsafe public NativeOverlapped *Pack(IOCompletionCallback iocb, Object userData)
 {
     return(m_overlappedData.Pack(iocb, userData));
 }