DCOM Aufruf - Stub Received Bad Data



  • Ich versuche über einen DCOM Aufruf ein entferntes Visio Dokument zu öffnen.
    Nach dem Aufruf der "CoCreateInstanceEx()" erhalte ich die Meldung "The stub received bad data."
    Die Rechte habe ich im Komponentendienst entsprechend großzügig gesetzt. Benutzer "Jeder" sollte Zugriff haben. Ebenso für den entsprechenden Benutzer sind alle Rechte erlaubt.
    Hat jemand einen Tipp zur Lösung meines Problems?

    Ich habe WinXP SP3 installiert und kann auf dem lokalen Rechner auf Visio zugreifen. Die Fehlermeldung bezieht sich ausschliesslich bei Zugriff auf einen anderen Rechner.

    COAUTHIDENTITY id;
    id.User = (USHORT*)"Admin";
    id.Password = (USHORT*)"pass";
    id.Flags = SEC_WINNT_AUTH_IDENTITY_UNICODE;
    id.UserLength  = wcslen(L"Admin");
    id.PasswordLength = wcslen(L"pass");
    
    COAUTHINFO authInfo;
    authInfo.dwAuthnLevel = RPC_C_AUTHN_LEVEL_CONNECT; //NONE
    authInfo.dwAuthnSvc = RPC_C_AUTHN_WINNT;
    authInfo.dwAuthzSvc = RPC_C_AUTHZ_NONE;
    authInfo.dwCapabilities = EOAC_NONE;
    authInfo.dwImpersonationLevel = RPC_C_IMP_LEVEL_IMPERSONATE;
    authInfo.pAuthIdentityData = &id;
    authInfo.pwszServerPrincName = NULL;
    
    COSERVERINFO serverInfo;
    serverInfo.pwszName= L"\\\\192.168.0.1";
    serverInfo.dwReserved1 = 0;
    serverInfo.dwReserved2 = 0;
    serverInfo.pAuthInfo = &authInfo;
    
    MULTI_QI mq;
    mq.pIID = &Visio::IID_IVApplication;
    mq.pItf = pxApplication;
    mq.hr = S_OK;
    
    stc_hrLast = CoCreateInstanceEx(
      Visio::CLSID_Application,
      NULL,
      CLSCTX_ALL,
      &serverInfo,
      1,
      &mq);
    


  • Hört sich nach einen Marshaling-Problem an, nicht nach einem Rechte-Problem.



  • Ok, und an welcher Schraube muss ich was drehen? 😉



  • Keine Ahnung, wenn ich mehr dazu wüsste hätte ich es dazugeschrieben. Versuch mal mehr Informationen rauszubekommen - mal Debug Viewer mitlaufen lassen, ... bzw. alles was die halt einfällt.


Log in to reply