共用方式為


SERVICE_NOTIFY_2A結構 (winsvc.h)

表示服務狀態通知資訊。 NotifyServiceStatusChange 函式會使用它。

語法

typedef struct _SERVICE_NOTIFY_2A {
  DWORD                  dwVersion;
  PFN_SC_NOTIFY_CALLBACK pfnNotifyCallback;
  PVOID                  pContext;
  DWORD                  dwNotificationStatus;
  SERVICE_STATUS_PROCESS ServiceStatus;
  DWORD                  dwNotificationTriggered;
  LPSTR                  pszServiceNames;
} SERVICE_NOTIFY_2A, *PSERVICE_NOTIFY_2A;

成員

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

如果 dwNotificationStatusERROR_SUCCESS,且通知 SERVICE_NOTIFY_CREATEDSERVICE_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)

另請參閱

NotifyServiceStatusChange

SERVICE_STATUS_PROCESS