Here is what I ended up doing, just for future reference:
NOTE: This code is called from a DLL
TempReturnCode = vsOpenTempView(fileNameStr.c_str(),&TempWinId,&OrgWinId,"+b",NULL);
if ( TempReturnCode == 0 )
{
// SlickEdit has the file open, so read current buffer from SE.
BufferSize = vsPropGetI(TempWinId,VSP_RBUFSIZE);
pBufferPtr = (tdBytePtr)vsAlloc(BufferSize+1);
BytesRead=vsGetRText(TempWinId,BufferSize,0,(char*)pBufferPtr);
vsDeleteTempView(TempWinId,0);
}
else
{
// SlickEdit does not have the file open, so try to load if from disk.
...
}