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
dwNotificationTriggered
dwNotificationStatus
pszServiceNames
dwNotificationStatus が ERROR_SUCCESS され、通知が SERVICE_NOTIFY_CREATED または SERVICE_NOTIFY_DELETEDされている場合、このメンバーは有効であり、1 つ以上のサービス名を含む MULTI_SZ 文字列です。 作成されたサービスの名前には "/" プレフィックスが付きます。そのため、削除されたサービスの名前と区別できます。
このメンバーが有効な場合、通知コールバック関数は、LocalFree 関数を使用して文字列を解放する必要があります。
備考
コールバック関数は次のように宣言されます。
typedef VOID( CALLBACK * PFN_SC_NOTIFY_CALLBACK ) (
IN PVOID pParameter
);
コールバック関数は、呼び出し元によって提供される SERVICE_NOTIFY 構造体へのポインターを受け取ります。
手記
winsvc.h ヘッダーは、unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとしてSERVICE_NOTIFY_2を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2008 [デスクトップ アプリのみ] |
ヘッダー | winsvc.h (Windows.h を含む) |
関連項目
NotifyServiceStatusChange の