/*++ Copyright (c) 1992 Microsoft Corporation Module Name: ConfSetD.c Abstract: NetpConfigSetDword(). Author: John Rogers (JohnRo) 24-Jan-1992 Environment: Only requires ANSI C (slash-slash comments, long external names). Revision History: 24-Jan-1992 JohnRo Created. 08-May-1992 JohnRo Implement wksta sticky set info (needs to set boolean in registry). Use equates. --*/ #include // IN, etc. (Only needed by temporary config.h) #include // (Only needed by temporary config.h) #include // (Only needed by temporary config.h) #include // IN, LPTSTR, etc. #include // NET_API_STATUS. #include // (Needed by config.h) #include // My prototype, LPNET_CONFIG_HANDLE. #include // USE_WIN32_CONFIG (if defined), NET_CONFIG_HANDLE, etc #include // IF_DEBUG(). #include // PREFIX_ equates. #include // ULTOA(), etc. #include // ERROR_NOT_SUPPORTED, NO_ERROR, etc. // DWORDLEN: DWORD takes this many decimal digits to store. // BUGBUG This assumes that DWORD is 32-bits or less. #define DWORDLEN 10 NET_API_STATUS NetpSetConfigDword ( IN LPNET_CONFIG_HANDLE ConfigHandle, IN LPTSTR Keyword, IN DWORD Value ) { NET_CONFIG_HANDLE * MyHandle = ConfigHandle; // conv from opaque type #if defined(USE_WIN32_CONFIG) { LONG Error; // // Set the actual value. We might have read this as REG_SZ or // REG_DWORD, but let's always write it as REG_DWORD. (This is // the NetpSetConfigDword routine, after all.) // Error = RegSetValueEx ( MyHandle->WinRegKey, // open handle (to section) Keyword, // subkey 0, REG_DWORD, // type (LPVOID) &Value, // data sizeof(DWORD) ); // byte count for data IF_DEBUG(CONFIG) { NetpKdPrint(( PREFIX_NETLIB "NetpSetConfigDword: RegSetValueEx(" FORMAT_LPTSTR ") returned " FORMAT_LONG ".\n", Keyword, Error )); } return ( (NET_API_STATUS) Error ); } #elif defined(FAKE_PER_PROCESS_RW_CONFIG) return (ERROR_NOT_SUPPORTED); #else // NT RTL read-only temporary stuff return (ERROR_NOT_SUPPORTED); #endif // NT RTL read-only temporary stuff #if 0 // old version TCHAR StringValue[DWORDLEN+1]; NetpAssert( sizeof(DWORD) == 4 ); NetpAssert( ConfigHandle != NULL ); NetpAssert( Keyword != NULL ); NetpAssert( *Keyword != TCHAR_EOS ); (void) ULTOA( Value, StringValue, /* radix */ 10 ); ApiStatus = NetpSetConfigValue( ConfigHandle, Keyword, StringValue ); return (ApiStatus); #endif // 0 /*NOTREACHED*/ }