Benutzerstatus des Diensthosts
Der Diensthost ermöglicht einer Anwendung das Zuordnen von Zustandsdaten, die auf Diensthostebene zugeordnet sind. Dieser Zustand wird durch eine WS _ SERVICE _ PROPERTY-Struktur angegeben, die an die WsCreateServiceHost-Funktion übergeben wird, wenn die Anwendung einen Diensthosterstellt, wie im folgenden Beispiel veranschaulicht.
void* quotePtr = (void*) quotes;
WS_SERVICE_PROPERTY serviceProperties[1] = {0};
serviceProperties[0].id = WS_SERVICE_PROPERTY_HOST_USER_STATE;
serviceProperties[0].value = "ePtr; // assume this is some state that you want to associate with the service host
serviceProperties[0].valueSize = sizeof(quotePtr);
Die Zustandsdaten sind für alle Diensthostrückrufe und Dienstvorgängeverfügbar. Rückrufe und Dienstvorgänge rufen die Informationen ab, indem sie die WsGetOperationContextProperty-Funktion aufrufen und den Kontext angeben, auf den von der WS _ OPERATION _ CONTEXT-Struktur verwiesen wird, sowie die Kontexteigenschaft als einen der Werte der WS _ OPERATION CONTEXT PROPERTY HOST USER _ _ _ _ STATE-Eunumeration, _ wie im folgenden Beispiel veranschaulicht.
QuoteTable* table = NULL;
HRESULT hr = NOERROR;
if (FAILED (WsGetOperationContextProperty (context, WS_OPERATION_CONTEXT_PROPERTY_HOST_USER_STATE, &table, sizeof(table), NULL, error)))
return hr;