在制作 OPC Client 的時候通常需要浏覽OPC Serve的所有已經定義的item名稱(當然OPC Server必須支持這個選項)
void TryBrowseBranch(IOPCBrowseServerAddressSpace *pBSAS
{
HRESULT r
OPCNAMESPACETYPE onst;
LPWSTR pItemID;
WCHAR s
IEnumString *pEnum =
char szBuf[
long nPos =
HRESULT r
LPOLESTR pStr;
ULONG actual;
lp = WSTRFromSBCS(
// 向lpcw節點的枝葉改變位置
pBSAS
r
pBSAS
// 提取該節點下的所有枝葉
while((r
{
printf(
wprintf(lpprestr
if(onst == OPC_BRANCH)
TryBrowseBranch(pBSAS
}
// pBSAS
// printf(
// get firset item
pIMalloc
pIMalloc
pEnum
// 回到名叫lpcw的主干位置
pBSAS
}
From:http://tw.wingwit.com/Article/program/Java/hx/201311/25685.html