SERVICE_NOTIFY_2W結構 (winsvc.h)
表示服務狀態通知資訊。 NotifyServiceStatusChange 函式會使用它。
語法
typedef struct _SERVICE_NOTIFY_2W {
DWORD dwVersion;
PFN_SC_NOTIFY_CALLBACK pfnNotifyCallback;
PVOID pContext;
DWORD dwNotificationStatus;
SERVICE_STATUS_PROCESS ServiceStatus;
DWORD dwNotificationTriggered;
LPWSTR pszServiceNames;
} SERVICE_NOTIFY_2W, *PSERVICE_NOTIFY_2W;
成員
dwVersion
結構版本。 這個成員必須是 SERVICE_NOTIFY_STATUS_CHANGE (2)。
pfnNotifyCallback
回呼函式的指標。 如需詳細資訊,請參閱。
pContext
要傳遞至回呼函式的任何使用者定義數據。
dwNotificationStatus
值,表示通知狀態。 如果此成員是 ERROR_SUCCESS,則通知已成功,且 ServiceStatus 成員包含有效資訊。 如果此成員是 ERROR_SERVICE_MARKED_FOR_DELETE,則服務已標示為要刪除,且 NotifyServiceStatusChange 所使用的服務句柄必須關閉。
ServiceStatus
包含服務狀態資訊的 SERVICE_STATUS_PROCESS 結構。 只有當 dwNotificationStatus 為 ERROR_SUCCESS時,這個成員才有效。
dwNotificationTriggered
如果 dwNotificationStatusERROR_SUCCESS,這個成員會包含觸發此回呼函式呼叫之通知的位掩碼。
pszServiceNames
如果 dwNotificationStatus 為 ERROR_SUCCESS,且通知 SERVICE_NOTIFY_CREATED 或 SERVICE_NOTIFY_DELETED,則此成員有效,而且它是包含一或多個服務名稱的 MULTI_SZ 字元串。 所建立服務的名稱會有 『/』 前置詞,因此您可以將其與已刪除服務的名稱區別開來。
如果這個成員有效,通知回呼函式必須使用localFree 函式
言論
回呼函式宣告如下:
typedef VOID( CALLBACK * PFN_SC_NOTIFY_CALLBACK ) (
IN PVOID pParameter
);
回呼函式會接收呼叫端所提供之 SERVICE_NOTIFY 結構的指標。
注意
winsvc.h 標頭會將 SERVICE_NOTIFY_2 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
標頭 | winsvc.h (包括 Windows.h) |