OVH Cloud OVH Cloud

SPS 2001 : erreur 0xc00ce556 inconnue, après une tentative de delete avec l'API C++

1 réponse
Avatar
jdeuser0001
Je cherche à faire une delete d'un fichier à l'aide de l'API C++. Cela
a fonctionné un temps, mais maintenant, le résultat du delete est "hr
= 0xc00ce556". Cette erreur n'est pas documentée et je ne trouve
aucune information nulle part dessus ni sur le problème dans mon code.
Merci d'avance

Voici le bout de code en question :

////////////////////////////Here is the sample code :

CComPtr<IKnowledgeDocument> pIDoc;
CComQIPtr<IDataSource, &__uuidof(IDataSource)> pqiIDataSource;
CComBSTR bstrHref = "http://Computer/Workspace/Documents/test.tmp";
CComBSTR bstrCC = "Profile";
CComBSTR bstrLogin = "MyLogin";
ComBSTR bstrPassword = "MyPass";

HRESULT hr = CoCreateInstance( __uuidof(KnowledgeDocument),
NULL,
CLSCTX_ALL,
_uuidof(IKnowledgeDocument),
(LPVOID*)&pIDoc);
pqiIDataSource = pIDoc;
hr = pqiIDataSource->Open(bstrHref,
NULL,
adModeRead, (RecordCreateOptionsEnum)0,
(RecordOpenOptionsEnum)0,
bstrLogin,
bstrPassword);

// Create a variant Array
SAFEARRAY* psa;
CComVariant varElement;
SAFEARRAYBOUND rgsabound[1];
CComBSTR bstrDictURI;
LONG ix[1];
CComVariant vararrDictValues;

rgsabound[0].lLbound = 0;
rgsabound[0].cElements = 1;

vararrDictValues.vt = VT_VARIANT | VT_ARRAY;
psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );

varElement = L"";
ix[0] = 0;
SafeArrayPutElement( psa, ix, &varElement );

SafeArrayCopy( psa, &vararrDictValues.parray );


hr = pIDoc->Delete(&vararrDictValues);

>>>>>>>>> et hr = 0xc00ce556

1 réponse

Avatar
EROL MVP SPS
Bonsoir Jason,

Je vais voir si je trouve des infos pour SPS 2001
en fonction de cette demande.

Allez sur mon site je l'ai refait et largement développé,
voir la rubrique SPS v 2.0 et sur le Tech-Ed 2003.

@bientôt sur les news de SharePoint.

Bonne fin de semaine.


EROL
MVP SharePoint Microsoft France.
http://perso.wanadoo.fr/erolsps/Livre1.htm
http://www.laboratoire-microsoft.org/articles/teched_2003/
============================= Si nous avons chacun un objet et que nous les échangeons, nous avons chacun
un objet.
Si nous avons chacun une idée et que nous les échangeons, nous avons chacun
deux idées.
Proverbe chinois.
=================== Jason Wattham wrote:
|| Je cherche à faire une delete d'un fichier à l'aide de l'API C++.
|| Cela a fonctionné un temps, mais maintenant, le résultat du delete
|| est "hr = 0xc00ce556". Cette erreur n'est pas documentée et je ne
|| trouve aucune information nulle part dessus ni sur le problème dans
|| mon code. Merci d'avance
||
|| Voici le bout de code en question :
||
|| ////////////////////////////Here is the sample code :
||
|| CComPtr<IKnowledgeDocument> pIDoc;
|| CComQIPtr<IDataSource, &__uuidof(IDataSource)> pqiIDataSource;
|| CComBSTR bstrHref = "http://Computer/Workspace/Documents/test.tmp";
|| CComBSTR bstrCC = "Profile";
|| CComBSTR bstrLogin = "MyLogin";
|| ComBSTR bstrPassword = "MyPass";
||
|| HRESULT hr = CoCreateInstance( __uuidof(KnowledgeDocument),
|| NULL,
|| CLSCTX_ALL,
|| _uuidof(IKnowledgeDocument),
|| (LPVOID*)&pIDoc);
|| pqiIDataSource = pIDoc;
|| hr = pqiIDataSource->Open(bstrHref,
|| NULL,
|| adModeRead, (RecordCreateOptionsEnum)0,
|| (RecordOpenOptionsEnum)0,
|| bstrLogin,
|| bstrPassword);
||
|| // Create a variant Array
|| SAFEARRAY* psa;
|| CComVariant varElement;
|| SAFEARRAYBOUND rgsabound[1];
|| CComBSTR bstrDictURI;
|| LONG ix[1];
|| CComVariant vararrDictValues;
||
|| rgsabound[0].lLbound = 0;
|| rgsabound[0].cElements = 1;
||
|| vararrDictValues.vt = VT_VARIANT | VT_ARRAY;
|| psa = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
||
|| varElement = L"";
|| ix[0] = 0;
|| SafeArrayPutElement( psa, ix, &varElement );
||
|| SafeArrayCopy( psa, &vararrDictValues.parray );
||
||
|| hr = pIDoc->Delete(&vararrDictValues);
||
||||||||||| et hr = 0xc00ce556