簡體   English   中英

為Intranet主機創建C ++命名管道

[英]Creating C++ Named Pipes for Intranet hosts

我一直在嘗試使用Microsoft代碼創建命名管道:

http://code.msdn.microsoft.com/windowsdesktop/CppNamedPipeClient-a88eb958

我還從其他地方獲取了安全令牌:

SECURITY_ATTRIBUTES sa;
    sa.lpSecurityDescriptor = (PSECURITY_DESCRIPTOR)malloc(
        SECURITY_DESCRIPTOR_MIN_LENGTH);
    InitializeSecurityDescriptor(sa.lpSecurityDescriptor, 
        SECURITY_DESCRIPTOR_REVISION);
    // ACL is set as NULL in order to allow all access to the object.
    SetSecurityDescriptorDacl(sa.lpSecurityDescriptor, TRUE, NULL, FALSE);
    sa.nLength = sizeof(sa);
    sa.bInheritHandle = TRUE;

我想在我的ip上聲明服務器而不是本地服務器,以使其由Intranet上的其他PC進行訪問:

#define SERVER_NAME         L"10.12.13.122" ("." works)
#define PIPE_NAME           L"SamplePipe"
#define FULL_PIPE_NAME      L"\\\\" SERVER_NAME L"\\pipe\\" PIPE_NAME

之前有人針對C ++聲明過嗎? 這是拒絕創建命名管道...

0x7B是ERROR_INVALID__NAME。 “管道服務器無法在另一台計算機上創建管道,因此CreateNamedPipe必須使用句點作為服務器名稱,如以下示例\\\\。\\ pipe \\ PipeName中所示”:請參見MSDN 不要忘記將字符串文字的反斜杠加倍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM