Определение приложения, которое будет вызываться в случае наступления тех или иных событий
BOOL CBitsJob::SetNotifyProgramm( LPCWSTR wszCommandLine ) { BOOL bRet = FALSE; if( m_lpJob != NULL ) { if( SUCCEEDED( m_lpJob->SetNotifyInterface( NULL ) ) ) { WCHAR wszJobId[48]; if( StringFromGUID2( m_JobID,wszJobId,sizeof(wszJobId) ) ) { IBackgroundCopyJob2* lpJob2 = NULL; m_lpJob->QueryInterface( __uuidof(IBackgroundCopyJob2),(void**)&lpJob2 ); if( lpJob2 != NULL ) { LPWSTR wszParameters = new WCHAR[MAX_PARAMETER_LEN+1]; if( wszParameters != NULL ) { wsprintfW( wszParameters,L»%s %s»,wszCommandLine,wszJobId ); if( SUCCEEDED( lpJob2->SetNotifyCmdLine( wszCommandLine,wszParameters ) ) ) { m_lpJob->SetNotifyFlags( BG_NOTIFY_JOB_TRANSFERRED | BG_NOTIFY_JOB_ERROR ); } delete [] wszParameters; } lpJob2->Release(); lpJob2 = NULL; } } } } return bRet; }