次の方法で共有


IDiaSession::getTypeMDTokenMap

.NET ネイティブ メタデータ型トークン マップの内容を取得します。

構文

HRESULT getTypeMDTokenMap(
    DWORD cb,
    DWORD *pcb,
    BYTE *pb
);

パラメーター

cb

[in].NET ネイティブメタデータ型トークン マップを受信するためにpbが指すバッファーのサイズ (バイト単位)。

pcb

[out].NET ネイティブメタデータ型トークン マップのサイズ (つまり、pbに書き込まれたバイト数) をバイト単位で返します。

pb

[out].NET ネイティブ メタデータ型トークン マップの内容を受け取るバッファー。 これは、少なくとも cb バイトのサイズである必要があります。

戻り値

成功した場合は、S_OK を返します。それ以外の場合は、エラー コードを返します。

これは、マップのサイズを取得し、完全なトークン マップを取得する方法を示しています。

DWORD size = 0;
HRESULT hr = pDiaSession->getTypeMDTokenMapSize(&size);
if (FAILED(hr)) {
   return hr;
}
if (size == 0) {
   return S_FALSE;
}

BYTE * map = new (std::nothrow) BYTE[size];
if (map == nullptr) {
   return E_OUTOFMEMORY;
}

hr = pDiaSession->getTypeMDTokenMap(size, &size, map);
if (FAILED(hr)) {
   delete [] map;
   return hr;
}

関連項目