//+------------------------------------------------------------------------- // // Microsoft Windows // // Copyright (C) Microsoft Corporation, 1997 - 1999 // // File: exp.cxx // //-------------------------------------------------------------------------- // drt that mainly puts things into the locator // // #include "drt.hxx" void __cdecl main(int argc, char **argv) { RPC_STATUS status; RPC_BINDING_VECTOR * pBindingVector = NULL; RPC_IF_HANDLE IfSpec; UUID_VECTOR * objuuid; RPC_IF_ID intfid; int fFailed = 0; intfid.Uuid = ifid[0]; intfid.VersMajor = 42; intfid.VersMinor = 42; FormBindingVector(Bindings, 1, &pBindingVector); FormObjUuid(objid, 2, &objuuid); // form a dynamic endpoint. unsigned int cMinCalls = 1; unsigned int cMaxCalls = 20; unsigned char * pszSecurity = NULL; status = RpcServerUseProtseq(L"ncacn_ip_tcp", cMaxCalls, pszSecurity); printf("RpcServerUseProtseqs returned 0x%x\n", status); if (status) fFailed = 1; status = RpcServerInqBindings(&pBindingVector); printf("RpcServerInqBindings returned 0x%x\n", status); if (status) fFailed = 1; FormIfHandle(ifid[1], &IfSpec); status = RpcNsBindingExport(RPC_C_NS_SYNTAX_DEFAULT, szDynSrvEntryName, IfSpec, pBindingVector, NULL); printf("RpcNsBindingExport returned 0x%x\n", status); if (status) fFailed = 1; status = RpcNsMgmtEntryCreate(RPC_C_NS_SYNTAX_DEFAULT, szGrpEntryName[0]); if (status) fFailed = 1; printf("RpcNsMgmtEntryCreate returned 0x%x\n", status); FormIfHandle(ifid[0], &IfSpec); status = RpcNsBindingExport(RPC_C_NS_SYNTAX_DEFAULT, // name syntax type szSrvEntryName[0], // nsi entry name IfSpec, pBindingVector, objuuid); // UUID vector if (status) fFailed = 1; printf("RpcNsBindingExport returned 0x%x\n", status); status = RpcNsGroupMbrAdd(RPC_C_NS_SYNTAX_DEFAULT, // name syntax type szGrpEntryName[0], RPC_C_NS_SYNTAX_DEFAULT, // name syntax type szSrvEntryName[0]); printf("RpcNsGroupMbrAdd 1 returned 0x%x\n", status); if (status) fFailed = 1; status = RpcNsGroupMbrAdd(RPC_C_NS_SYNTAX_DEFAULT, // name syntax type szGrpEntryName[0], RPC_C_NS_SYNTAX_DEFAULT, // name syntax type szSrvEntryName[1]); printf("RpcNsGroupMbrAdd 2 returned 0x%x\n", status); if (status) fFailed = 1; status = RpcNsProfileEltAdd( RPC_C_NS_SYNTAX_DEFAULT, // name syntax type szPrfEntryName[0], &intfid, RPC_C_NS_SYNTAX_DEFAULT, // name syntax type szGrpEntryName[0], 1, L"Group Entry 1 Trying to test the length of the string possible"); printf("RpcNsProfileEltAdd 1 returned 0x%x\n", status); if (status) fFailed = 1; status = RpcNsProfileEltAdd( RPC_C_NS_SYNTAX_DEFAULT, // name syntax type szPrfEntryName[0], &intfid, RPC_C_NS_SYNTAX_DEFAULT, // name syntax type szGrpEntryName[1], 2, L"Group Entry 2"); printf("RpcNsProfileEltAdd 2 returned 0x%x\n", status); if (status) fFailed = 1; if (fFailed) printf("Export Test FAILED\n"); else printf("Export Test PASSED\n"); }