windows::Win32::System::WindowsSync

Trait IKnowledgeSyncProvider_Impl

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

Required Methods§

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

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

fn GetChangeBatch( &self, dwbatchsize: u32, psyncknowledge: Ref<'_, ISyncKnowledge>, ppsyncchangebatch: OutRef<'_, ISyncChangeBatch>, ppunkdataretriever: OutRef<'_, IUnknown>, ) -> Result<()>

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

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

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

fn EndSession(&self, psessionstate: Ref<'_, ISyncSessionState>) -> Result<()>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§