private static void GetNullOutputParameterSmi(SmiMetaData metaData, SqlBuffer targetBuffer, ref object result) {
if (SqlDbType.Udt == metaData.SqlDbType) {
result = NullUdtInstance(metaData);
}
else {
SqlBuffer.StorageType stype = SqlDbTypeToStorageType(metaData.SqlDbType);
if ( SqlBuffer.StorageType.Empty == stype ) {
result = DBNull.Value;
}
else if (SqlBuffer.StorageType.SqlBinary == stype) {
// special case SqlBinary, 'cause tds parser never sets SqlBuffer to null, just to empty!
targetBuffer.SqlBinary = SqlBinary.Null;
}
else if (SqlBuffer.StorageType.SqlGuid == stype) {
targetBuffer.SqlGuid = SqlGuid.Null;
}
else {
targetBuffer.SetToNullOfType( stype );
}
}
}