共用方式為


服務主機用戶狀態

服務 主機 可讓應用程式將範圍設定在服務主機層級的狀態數據產生關聯。 當應用程式建立服務主機時,這個狀態是由傳遞至 WsCreateServiceHost 函式的WS_SERVICE_PROPERTY結構所指定,如下列範例所示。

void* quotePtr = (void*) quotes;
WS_SERVICE_PROPERTY serviceProperties[1] = {0};
serviceProperties[0].id = WS_SERVICE_PROPERTY_HOST_USER_STATE;
serviceProperties[0].value = &quotePtr; // assume this is some state that you want to associate with the service host
serviceProperties[0].valueSize = sizeof(quotePtr);

狀態數據可供所有服務主機回呼和服務 作業使用。 回呼和服務作業會藉由呼叫 WsGetOperationContextProperty 函式並指定WS_OPERATION_CONTEXT結構所參考的內容,以及內容屬性,作為WS_OPERATION_CONTEXT_PROPERTY_HOST_USER_STATE列舉的其中一個值來擷取資訊,如下列範例所示。

QuoteTable* table = NULL;
HRESULT hr = NOERROR;
if (FAILED (WsGetOperationContextProperty (context, WS_OPERATION_CONTEXT_PROPERTY_HOST_USER_STATE, &table, sizeof(table), NULL, error)))
    return hr;