コード例 #1
0
    _Must_inspect_result_
    NTSTATUS
    Invoke(
        __in WDFDEVICE Device,
        __in LPGUID InterfacType,
        __out PINTERFACE ExposedInterface,
        __in_opt PVOID ExposedInterfaceSpecificData
        )
    {
        if (m_Method != NULL) {
            NTSTATUS status;

            CallbackStart();
            status = m_Method(Device,
                              InterfacType,
                              ExposedInterface,
                              ExposedInterfaceSpecificData);
            CallbackEnd();

            return status;
        }
        else {
            return STATUS_SUCCESS;
        }
    }
コード例 #2
0
ファイル: AsyncEntry.cpp プロジェクト: pp7462-git/sandbox
void AddAsyncEntry()
{
	try {
		TDBCachedChannel chan;

		TVTXProcedure insert(chan, DBInsert, 9);

		time_t create_time = time(NULL);
		insert.BindInputVariable(1, TDT_INTEGER, sizeof(int),
								 ":create", &create_time);

		time_t retry_time = time(NULL);
		insert.BindInputVariable(2, TDT_INTEGER, sizeof(int),
								 ":retry", &retry_time);

		RWCString m_Method("GET");
		insert.BindInputVariable(7, TDT_CHAR, m_Method.length() + 1,
								 ":method", (void *)m_Method.data());

	//	RWCString m_Data("data");
		RWCString m_Data;
		int datalen = m_Data.length();
		insert.BindInputVariable(4, TDT_INTEGER, sizeof(int),
								 ":datalen", &datalen);

//		insert.BindInputVariable(5, TDT_CHAR, m_Data.length(),
//								 ":data", (void *)m_Data.data());
		char buf[2];
		buf[0]='c';
		buf[1]='\0';
		insert.BindInputVariable(5, TDT_CHAR, 1,
								 ":data", (void *)buf);

		RWCString hdrString("x-up-hdr:header");
		insert.BindInputVariable(0, TDT_CHAR, hdrString.length() + 1,
								 ":headers", (void *)hdrString.data());

		RWCString m_DataType("datatype");
		//RWCString m_DataType;
		insert.BindInputVariable(6, TDT_CHAR, m_DataType.length() + 1,
								 ":datatype", (void *)m_DataType.data());
		
		RWCString urlString("HTTPJUNK://");
		insert.BindInputVariable(3, TDT_CHAR, urlString.length() + 1,
								 ":url", (void *)urlString.data());
		
		int id;
        insert.BindOutputVariable(8, TDT_INTEGER, sizeof(int),
                                  ":asyncID", &id);

		insert.Execute();
		chan.Commit();
	} catch(xmsg &msg) 
	{ 
		printf("error\n");
	}
}
コード例 #3
0
 VOID
 Invoke(
     __in WDFCHILDLIST DeviceList
     )
 {
     if (m_Method != NULL) {
         CallbackStart();
         m_Method(DeviceList);
         CallbackEnd();
     }
 }
コード例 #4
0
    _Must_inspect_result_
    NTSTATUS
    Invoke(
        __in WDFCHILDLIST DeviceList,
        __in PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription,
        __in PWDFDEVICE_INIT ChildInit
        )
    {
        NTSTATUS status;

        CallbackStart();
        status = m_Method(DeviceList, IdentificationDescription, ChildInit);
        CallbackEnd();

        return status;
    }