Exemple de code pour la création d’une représentation de chaîne pouvant être liée d’un GUID
L’exemple de code suivant peut être utilisé pour renvoyer une représentation sous forme de chaîne d’un GUID qui peut être utilisée pour la liaison à l’objet.
//*******************************************************************
//
// GUIDtoBindableString()
//
// Converts a GUID into a string that can be used for binding with
// the <GUID= or <WKGUID= syntax. The caller must free the allocated
// string with the FreeADsStr when it is no longer required.
//
//*******************************************************************
HRESULT GUIDtoBindableString(LPGUID pGUID, LPWSTR *ppGUIDString)
{
if((!pGUID) || (ppGUIDString==NULL))
{
return E_INVALIDARG;
}
// Build bindable GUID string.
DWORD dwBytes = sizeof(GUID);
WCHAR szByte[3];
LPWSTR pwszGUID = new WCHAR[(dwBytes * 2) + 1];
if(NULL == pwszGUID)
{
return E_OUTOFMEMORY;
}
*pwszGUID = NULL;
HRESULT hr = S_OK;
LPBYTE lpByte;
DWORD dwItem;
// Loop through to add each byte to the string.
for(dwItem = 0,
lpByte = (LPBYTE)pGUID; dwItem < dwBytes;
dwItem++)
{
// Append to pwszGUID, double-byte, byte at dwItem index.
swprintf_s(szByte, L"%02x", lpByte[dwItem]);
wcscat_s(pwszGuid, szByte);
}
// Allocate memory for the string.
*ppGUIDString = AllocADsStr(pwszGUID);
delete [] pwszGUID;
if(NULL != *ppGUIDString)
{
hr = S_OK;
}
else
{
hr = E_OUTOFMEMORY;
}
// Caller must free ppGUIDString using FreeADsStr.
return hr;
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour