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;
}