pub trait IKnowledgeSyncProvider_Impl: Sized + ISyncProvider_Impl {
    // Required methods
    fn BeginSession(
        &self,
        role: SYNC_PROVIDER_ROLE,
        psessionstate: Option<&ISyncSessionState>
    ) -> Result<()>;
    fn GetSyncBatchParameters(
        &self,
        ppsyncknowledge: *mut Option<ISyncKnowledge>,
        pdwrequestedbatchsize: *mut u32
    ) -> Result<()>;
    fn GetChangeBatch(
        &self,
        dwbatchsize: u32,
        psyncknowledge: Option<&ISyncKnowledge>,
        ppsyncchangebatch: *mut Option<ISyncChangeBatch>,
        ppunkdataretriever: *mut Option<IUnknown>
    ) -> Result<()>;
    fn GetFullEnumerationChangeBatch(
        &self,
        dwbatchsize: u32,
        pblowerenumerationbound: *const u8,
        psyncknowledge: Option<&ISyncKnowledge>,
        ppsyncchangebatch: *mut Option<ISyncFullEnumerationChangeBatch>,
        ppunkdataretriever: *mut Option<IUnknown>
    ) -> Result<()>;
    fn ProcessChangeBatch(
        &self,
        resolutionpolicy: CONFLICT_RESOLUTION_POLICY,
        psourcechangebatch: Option<&ISyncChangeBatch>,
        punkdataretriever: Option<&IUnknown>,
        pcallback: Option<&ISyncCallback>,
        psyncsessionstatistics: *mut SYNC_SESSION_STATISTICS
    ) -> Result<()>;
    fn ProcessFullEnumerationChangeBatch(
        &self,
        resolutionpolicy: CONFLICT_RESOLUTION_POLICY,
        psourcechangebatch: Option<&ISyncFullEnumerationChangeBatch>,
        punkdataretriever: Option<&IUnknown>,
        pcallback: Option<&ISyncCallback>,
        psyncsessionstatistics: *mut SYNC_SESSION_STATISTICS
    ) -> Result<()>;
    fn EndSession(
        &self,
        psessionstate: Option<&ISyncSessionState>
    ) -> Result<()>;
}

Required Methods§

fn BeginSession( &self, role: SYNC_PROVIDER_ROLE, psessionstate: Option<&ISyncSessionState> ) -> Result<()>

fn GetSyncBatchParameters( &self, ppsyncknowledge: *mut Option<ISyncKnowledge>, pdwrequestedbatchsize: *mut u32 ) -> Result<()>

fn GetChangeBatch( &self, dwbatchsize: u32, psyncknowledge: Option<&ISyncKnowledge>, ppsyncchangebatch: *mut Option<ISyncChangeBatch>, ppunkdataretriever: *mut Option<IUnknown> ) -> Result<()>

fn GetFullEnumerationChangeBatch( &self, dwbatchsize: u32, pblowerenumerationbound: *const u8, psyncknowledge: Option<&ISyncKnowledge>, ppsyncchangebatch: *mut Option<ISyncFullEnumerationChangeBatch>, ppunkdataretriever: *mut Option<IUnknown> ) -> Result<()>

fn ProcessChangeBatch( &self, resolutionpolicy: CONFLICT_RESOLUTION_POLICY, psourcechangebatch: Option<&ISyncChangeBatch>, punkdataretriever: Option<&IUnknown>, pcallback: Option<&ISyncCallback>, psyncsessionstatistics: *mut SYNC_SESSION_STATISTICS ) -> Result<()>

fn ProcessFullEnumerationChangeBatch( &self, resolutionpolicy: CONFLICT_RESOLUTION_POLICY, psourcechangebatch: Option<&ISyncFullEnumerationChangeBatch>, punkdataretriever: Option<&IUnknown>, pcallback: Option<&ISyncCallback>, psyncsessionstatistics: *mut SYNC_SESSION_STATISTICS ) -> Result<()>

fn EndSession(&self, psessionstate: Option<&ISyncSessionState>) -> Result<()>

Object Safety§

This trait is not object safe.

Implementors§