LABRADOR 範例:實作沒有使用者介面的伺服程式
更新:2007 年 11 月
LABRADOR 範例會示範如何使用 ATL 來實作沒有任何使用者介面的 EXE 伺服程式。伺服程式允許建立支援兩種自訂介面的物件,如 Labrador.idl 中所定義。
LABRADOR 屬性範例是本範例使用屬性的版本。
安全性注意事項: |
---|
這個程式碼範例僅供概念說明之用,同時因為範例中的程式碼撰寫並沒有周全的顧及所有安全性問題,所以本範例不適用於實際執行的應用程式或網站中。如果使用者擅自將範例程式碼用於其他意圖而導致連帶事件或重大損害時,Microsoft 將不承擔任何責任。 |
若要取得範例和指示以便進行安裝:
按一下 Visual Studio [說明] 功能表上的 [範例]。
如需詳細資訊,請參閱尋找範例檔案。
最新版的完整範例清單可從 Visual Studio 2008 範例網頁 (英文) 取得。
您也可以將範例置於電腦硬碟中。根據預設,範例和讀我檔案都會複製到 \Program Files\Visual Studio 9.0\Samples\ 下的資料夾中。對於所有的 Visual Studio Express 版,所有範例都可在線上找到。
建置和執行範例
此範例使用三個元件:伺服器、封送處理 (Marshaling) DLL 和驅動程式。
若要建置並登錄此元件
開啟 Labrador.sln 方案檔。
在 [建置] 功能表中,按一下 [建置方案]。
將會建置並登錄伺服器、封送處理 DLL 和驅動程式。
若要執行驅動程式
從 [偵錯] 功能表中,按一下 [啟動但不偵錯]。
驅動程式會建立物件,對它進行一些呼叫,接著再釋放它。
關鍵字
本範例使用下列關鍵字:
_CrtDumpMemoryLeaks、_tcsicmp、_tcstok、_tprintf、_vstprintf、ATLASSERT、BEGIN_COM_MAP、BEGIN_OBJECT_MAP、CComModule::Init、CComModule::RegisterClassObjects、CComModule::RevokeClassObjects、CComModule::Unlock、CComModule::UnregisterServer、CComObjectRoot、CoCreateInstance、COM_INTERFACE_ENTRY、CoUninitialize、DECLARE_NOT_AGGREGATABLE、DECLARE_REGISTRY、DispatchMessage、END_OBJECT_MAP、GetCurrentThreadId、GetMessage、OBJECT_ENTRY、OutputDebugString、PostThreadMessage、Trace、va_end、va_list、va_start、wcscpy_s